2016년 6월 23일 목요일

애자일 방법론의 종류


애자일 방법론의 도입 배경에는 SW개발 자체가 과거와 양상이 바뀌었다는 전제가 있었다. 1990년 대 후반 이전까지의 SW개발은 장기간에 걸쳐 많은 자원과 충분한 비용을 투입하여 진행하였다. 이 당시 SW공학이나 많은 관리 방법론들이 모두 이러한 종류의 프로젝트를 대상으로 하였다. 그러 나 1990년대 후반에 들어서면서 SW 개발기간은 매우 짧지만 SW는 매우 복잡하고 개방적이었다. 또한, 사회상황이나 시장변동에 따라 변화가 심했고 요구사항도 시시각각 변했다. 그래서 이미 고 전적인 SW공학이나 관리기법만으로는 대처할 수 없게 되었던 것이다. 


HP의 제품계열기술 투자에 따른 개발기간 비교


기업들은 시장에서 경쟁우위를 점하기 위해서는 SW에 대한 경쟁력 확보가 중요하며, 자사 제품에 대한 시장 출시시간이 단축되어야 한다는 것을 인식하기 시작하였다. 그래서 요구분석 → 설계 → 구현 → 테스트의 순차적인 프로세스를 강조하는 폭포수 모델에서 요구사항, 설계 및 구현을 동시 에 진행할 수 있는 동시공학에 집중한 모델을 활용하기 시작하였다. 


국가별 소프트웨어공학센터 현황 비교

미 국방성은 DoD-STD-2617과 같은 계약 표준에서 계약이행 시 각 마일스톤마다 관리자 검토, 비용 지불처리 및 보상비용을 서로 연계시키는 폭포수 모델의 사용을 강제함에 따라 능력 있는 SW 개발업체를 선정하는 기준이 필요하였다. 이를 해결하기 위해 미 국방성은 SW개발 조직의 SW프로 세스 성숙도를 평가하기 위한 방법론을 개발하기 시작하였으며, 미 국방성의 지원을 받은 SEI에서 SW-CMM20)을 개발하게 되었다. SW-CMM은 순차적인 폭포수 모델의 요소들을 유지하고 있기 는 하지만 특정 방법론에 독립적으로 구성되었으며, SW개발조직의 능력평가와 개선에 대한 효과적 인 틀을 제공하였다. 

SW-CMM으로 촉발된 SW프로세스 개선 활동은 재작업을 줄임으로써 생산성을 급속히 향상시켰 지만, SW개발 업무에 있어 업무 자체를 줄이게 되면 생산성이 파격적으로 향상될 것이라고 인식하 기 시작하였다. 그래서 미 국방부는 SW생산성 향상을 위해 STARS (Software Technology for Adaptable Reliable System) 프로그램을 추진하였으며, 이 프로그램에서 SW개발 시 불필요한 작업을 없애기 위한 혁신적이고 점진적인 방식을 발표하였다. 

1 혁신적인 방식으로는 1970년대 초반의 자동 프로그래밍연구와 비슷하게 요구사항에서 코딩 까지의 정형적인 명세와 자동 변환 방식을 강조
2 점진적인 방식으로는 인력채용(Staffing), 재사용, 프로세스, 도구 그리고 통합 환경에 의해 지 원되는 관리활동을 강조

이를 본격적으로 연구하기 위해 카네기멜론 대학에 소프트웨어공학센터(SEI/CMU)를 설립 (1984년)하였으며, 유럽과 일본에서도 비슷한 움직임을 보였다. 각국의 주요 소프트웨어공학 센터 현황은 아래와 같다.