
XP와 SW-CMM(이하 CMM)
CMM을 도입하고 있는 회사의 관리자라면, XP를 접했을 때이 두가지를 어떻게 (취할 건지 말건지 수준이 아니라 정말)할 건지 고민하게 된다. 분명 Agile 방법론으로 XP는 다른 방법론이 따라올 수 없는 훌륭한 면이 있다. 그러나 프로세스 중심의 CMM과 동일선상에 놓고 생각해 보면 그럴싸한 그림이 금방 그려지지 않는다.
이에 관해서 Barry Boehm이나 Watts Humprey, Mark Paulk등과 같은 소프트웨어 공학의 대가라고 하는 사람들의 꽤 많은 견해가 있었다.내가 듣고 보고한 견해 중 대부분은 서로 같이 사용할 수 있으며 상호 보완 가능하다는 것인데 그중 Mark Paulk의 말을 인용하면 다음과 같다.
"적절한 환경에서 적합하게 디자인된 Agile 방법론은 SW-CMM의 2 혹은 3 레벨의많은 부분을 커버할 수 있다. 적절과 적합이라는 것은 Agile 방법론의 디자인 시, 기업의 비즈니스 환경이 충분히 고려되어야 한다는 것을 뜻한다."
그렇다면 왜 XP를 사용하는 많은 기업들이 당장 레벨 2혹은 레벨 3의 인증을받지 못하는 것일까? 왜 CMM 심사위원들은 XP이야기를 하면 그리 달가와 하지않는 것일까? 이것은 아마도 방법론 혹은 이를 이루는 프로세스의 개발에 대한사상의 차이 때문이 아닐까 한다. 즉 XP는 개발자 개인에게 많은 것을 맡기는 것에 반해 CMM의 프로세스들은 조직의 생리와 비즈니스 환경에 더 치중한다.
이런 사소하지만 근본적인 차이가 두 영역간의 채울 수 없는 차이가 존재하는 것 처럼 느껴지게 한다.
하지만 많은 전문가들은 프로젝트를 수행하거나 프로세스를 직접 실행하는 당사자(회사)가이 두 가지를 모두 받아들일 수 있는 미래 지향적(?)인 태도를 취하면, 충분히 그 둘은잘 어울릴 수 있으며 큰 시너지 효과를 볼 수 있다고 한다.
흔히 볼 수 있는 상황은,
이미 한 회사에 QA 프로세스나 유지보수를 위한 문서 작성 지침이 마련되어 있다면어떤 경우든 이를 지키지 않으면, 이를 지키기위해서 만들어진 조직의 견재를 받게 된다.
지키지 못할 어떤 경우는 아이러니컬하게도 이 회사의 비즈니스적인 요구에 의해서 무시할수 없을 정도로 자주 발생한다. 이를테면 Time-to-maket을 공략하기 위해서 최소한의 기간에 최대한 상용 제품에 가까운 완성도를 가진 소프트웨어를 만들어 내기위해서eXtreme programming을 사용하는 것이 그런 예이다. 일단 Agile 방법론으로 XP 조직이 만들어 지면, 삐걱거리는 소리는 이 조직과 기존의 프로세스 지킴이 조직(?)과 예외없이발생한다.
이 논쟁과 타툼으로 인한 삐걱거리는 소리를 어떻게 없앨 수 있을까?많은 조직에서 이런 문제를 고민해 왔고 이를 해결하기 위해서 전문가 들이 노력해 왔다.해결책은 이미 많은 논문에서 다루고 있는 것 처럼 이미 나와 있는 듯하다.
"바로 XP의 기본 원리들을 수용하는 프레임워크로써 SW-CMM을 사용하는 것이다."
이렇게 하는 것은 두가지 측면에서 권장이 되고 있다.
하나는, 기업이 지금까지 투자한 프로세스 인프라를 그대로 이용할 수 있어서 투자에 대한 손실을 최소화 할 수 있다. 여기서 말하는 프로세스 인프라는 CMM의프로세스를 말한다. 한 번 구축된 OSSP는 결코 무시할만한 것이 아니다. 이 OSSP를 이용하여 비교적 손쉽게 전사적으로 XP의 원리들을 퍼트릴 수가 있다.
두 번째는, 이 프로세스 프레임워크를 이용함으로써 XP에서 발생하는 프로젝트 규모와관련된 여러가지 문제들을 무리 없이 해결할 수 있다. 이에 관해서는 본 서적에서 간략하게 다루고 있다.큰 규모의 프로젝트라 하더라도 독립적으로 구분된 컴포넌트를 독자적인 팀에서 개발한다면모듈 아키텍처를 정의하고, 이 모듈에 대해서 XP를 적용하면 무리없이 큰 프로젝트에도 XP를 사용할 수 있다고 했는데, 이는 SW-CMM의 프로세스 프레임워크를 이용하면 더욱 자연스럽게 이루어 질 수 있다.
말은 쉽게 했는데 사실 막상 SW-CMM 아래에 XP를 자연스럽게 넣어서 사용하기에는 어려운 면들이 있다.현재 SEI에서는 TSP와 XP를 접목한 TXP라는 방법론의 가이드 라인 및 CMM과의 접목에 대한 다양한 가이드라인을 내놓고 있다. 이런 것을 참고하거나 컨설팅 서비스를 이용하면 성공적으로 두 영역을 접목하여 기대하는 효과를 볼 수 있을 것이다.
No comments:
Post a Comment