본문 바로가기
개발방법론

Agile과 CMMI 화해하기 (1)

by 랭님 2009. 7. 25.

글쓴이 : 양승익

Agile과 CMMI 패러다임은 2000년대 초반부터 지금까지 각자 고유의 영역에서 나름대로 발전을 하고 있습니다.

 이 두가지 패러다임은 서로의 대칭선 상에 위치하면서 때로는 상대 진영의 단점을 통해 자신의 우수성을 홍보하기도 합니다. 즉, “권위적이고 관료적이고 heavy한 프로세스는 CMMI, 반면에 lightweight하고 문서 작성이 필요없는 Agile 프로세스..” 라는 얘기를 종종 볼 수 있죠.

갑자기 출처는 정확히 생각나지는 않지만 다음과 같은 말이 생각납니다.

” 서로 반대되는 두 가지는 한 쪽이 존재하기 때문에 다른 한쪽 역시 존재한다”

즉, 동전의 앞면이 있어서 뒷면이 존재하고, 여당이 있기에 야당이 있고, 선이 있기에 악이 있다는 말입니다. Agile이 발전할 수 있었던 것은 어쩌면 CMMI의 한계를 채워주는 무엇인가가 Agile 에 있었고, CMMI가 발전할 수 있었던 이유 역시 Agile에서 가질 수 없는 무엇인가 존재했기 때문일 것입니다.

굳이 철학적으로 헤겔의 변증법에서 정반합의 원리에 의해 세상이 돌아간다는 심오한 원리를 적용하지 않더라도 이제는 CMMI와 Agile이 서로의 발전을 위해서 서로의 장단점을 솔직하게 터놓고 얘기할 때가 아닌가 생각이듭니다. 다행이 최근 들어서 CMMI 컨퍼런스에서 Agile을 말하기 시작했으며 다양한 사이트 및 블로그에서 Agile과 CMMI를 엮으려는 시도가 조금씩 있습니다.

경제학적으로 보았을 때 CMMI와 Agile 패러다임은 분명 대체재가 아니라 보완재입니다. 즉, Agile은 CMMI의 관리적인 측면을 배울 필요가 있습니다. 실제로 XP 와 함께 관리적인 측면이 강한 Scrum이 함께 사용되는 사례가 많습니다. 또한, CMMI는 Agile의 인간 중심적인 측면을 배울 필요가 있습니다. 사람이 고려되지 않은 패러다임을 사람을 변화시키기 위한 수단으로 사용한다는 자체가 논리에 맞지 않죠.

오늘 글이 Agile과 CMMI의 화해를 위한 전반적인 개요라면 다음 포스팅은 우리가 알지 못했던 두 개 패러다임의 진실을 말함으로써 Agile과 CMMI가 함께 성장할 수 있는 기회를 보도록 하겠습니다.