프로그램 아키텍쳐/소프트웨어공학

능력 성숙도 모델(CMM, capability maturity model)

본클라쓰 2011. 11. 8. 12:02

 

능력 성숙도 모델(CMM, capability maturity model)은 carnegi mellon 대학의 소프트웨어 공학 연구소에서 Mark Paulk 교수가 중심이 되어 만든 소프트웨어 개발 프로세스에 대한 평가 모델이다.

 

능력 성숙도 모델은 다섯 단계의 비교적 추상적인 개념의 성숙도를 제시한다. 그리고 소프트웨어 개발 조직은 그 조직에서 사용하는 개발 과정과 방법론에 따라 성숙도를 부여 받는다.

 

1단계(initial level)는 초기 단계로 개발 및 관리를 위한 환경을 제공하지 못하는 단계이다. 계획이 수시로 변하여 미래를 예측할 수 없으며, 프로젝트의 성공은 개인의 능력에 크게 좌우된다.

 

2단계(repeatable level)는 프로젝트에 대한 계획과 관리가 어느 정도 체계화 된 단계이다. 신규 프로젝트에 대해서는 과거 성공한 프로젝트에 기반하여 개발이 이루어지며 어느 정도의 문서화, 훈련 등을 수행한다.

 

3단계(defined level)는 개발 과정에 대한 표준 공정이 어느 정도 정착된 상태이며, 품질 향상을 위한 일정, 방법론 등이 정착된 상태이다. 정의된 프로세스에 대해서 조직 전체가 어느 정도 인식하고 있으나, 그 성숙도는 높지 않은 상태이다.

 

4단계(managed level)은 조직적인 개발이 이루어지며, 소프트웨어에 대한 전반적인 테스트가 수행되고 그 결과가 피드백된다. 각 개발 단계에 대한 세분화를 통하여 생산 가능한 양적(quantitative) 측정이 가능해진다.

 

5단계(optimizing level)은 품질 향상을 위한 지속적인 연구 개발이 진행되며, 이를 위한 데이터 및 분석 자료 축적이 가능한 상태이다. 이러한 기반을 바탕으로 소프트웨어 개발을 위한 신기술의 비용 및 이윤 분석이 가능해 진다.