세상에 나쁜 방법론은 없습니다(feat. 폭포수 vs. 애자일)
*이 글은 외부 필자인 김병호님의 기고입니다. 과학에서 방법론은 '진리에 도달하기 위한 과학 연구에서의 합리적인 방법에 관한 이론 (네이버의 국어사전)'을 의미하지만, 프로젝트 관리에서 방법론은 '프로젝트를 수행하는 방법(프로세스)'입니다. 가치관, 지식, 역할이 다른 사람들이 모여서 프로젝트 결과물을 만들기 위해서는 방법론은 필수입니다. 예를 들어 WBS(작업분류체계), 프로젝트 일정, 진척현황은 일정관리를 하는 모든 프로젝트에서 필수적으로 작성해야 합니다. 프로젝트 관리를 위한 방법론은 전통적인 폭포수 방법론과 애자일 방법론으로 구분할 수 있습니다. 생산제품의 품질을 관리하기 위해 부품품질과 생산공정을 관리하듯이, 좋은 소프트웨어를 개발하기 위해서는 개발 프로세스를 통제해야 한다는 믿음이 팽배했던 시절이 있었습니다. 그러한 믿음은 21세기가 시작되고도 10년이 넘도록 지속되었습니다. 조직의 소프트웨어 개발역량을 강화하기 위한 성숙도 통합 모델(Capability Maturity Model Integration, CMMI)이 대표적인 예입니다. 이러한 사상에 기반한 방법론이 폭포수 방법론입니다. 폭포수 방법론은 전통적인 방법론으로 착수시점에 프로젝트 전체업무에 대한 상세계획을 수립하고, 계획에 따라 프로젝트를 진행하고 통제하기 때문에 예측형 방식(predictive approach)이라고도 합니다. (참조 - Waterfall Model in Software Engineering)