Level
1: 초기(Initial)
1단계는 초기(initial) 단계로 가장 낮은 성숙도 수준을 나타낸다. 초기 단계에서 조직은 소프트웨어의 개발과 유지에
안정적인 환경을 제공하지 못한다. 이 단계에서는 사전에 정의된 프로세스가 거의 없으며, 프로젝트의 진행 도중에 절차가
정의되고 변경된다. 1단계 조직에서는 문제가 발생되면, 프로젝트는 계획된 절차를 버리고 코딩과 시험에 집중하게 된다.
또한 대부분의 프로젝트는 비용과 개발 기간이 초과되는 경향이 있으며, 프로젝트의 성공은 뛰어난 개발자에 전적으로 의존한다.
즉, 1단계에서의 능력은 조직이 아닌 개인인 것이다.
Level
2: 반복 (Repeatable)
1단계에서와 같이 프로세스에 대한 가시성이 전혀 없는 상태에서 개선되어야 하는 가장 중요한 것은 프로젝트 관리이다.
2단계에서는 기본적인 프로젝트 관리 프로세스가 설정되어 소프트웨어의 크기, 비용, 일정 등을 추적하고 기록한다. 2단계에
도달한 조직은 성공한 프로젝트에서 얻어진 자료를 기본으로 새로운 프로젝트를 계획하고 관리하기 때문에 프로젝트의 성공을
반복시킬 수 있다.
Level
3: 정의(Defined)
2 단계에서는 프로젝트 단위로 프로세스를 설정하여 이를 시험하고 수정하는 작업을 반복한다. 3단계에서는 그 중 효율적이고
조직과 잘 맞는 프로세스들을 선택하여 조직 차원의 표준 프로세스로 정의한다.
조직에서 수행되는 개별적인 프로젝트들은 이미 정의된 "조직의 표준 프로세스"를 프로젝트의 특성에
맞추어 조정하여 적용한다. 이렇게 조정된 프로세스를 "프로젝트에서 정의된 소프트웨어 프로세스"라고
한다. 이를 위해 조직 내에 SEPG(Software Engineering Process Group)를 구성하여,
조직에 관련된 모든 프로세스 활동을 전담하게 한다.
Level
4: 관리 (Managed)
4단계에서는 소프트웨어 제품과 프로세스에 대한 정량적인 품질 목표를 설정하고 관리한다. 이 단계에서는 조직 차원의
소프트웨어 프로세스 데이터베이스가 구축되어"프로젝트 정의 소프트웨어 프로세스"로부터 얻을 수 있는
데이터를 수집하고 분석하는데 사용한다.
모든 프로젝트에 대한 중요한 소프트웨어 프로세스 활동의 생산성과 품질이 측정되며, 성과의 변동을 수용 가능한 정량적인
범위 내로 최소화하여 제품과 프로세스에 대한 통제를 수행한다.
Level
5: 최적(Optimizing)
조직이 5단계에 이르렀다고 해서 프로세스 개선이 끝난 것은 아니다. 5단계에서는 프로세스 개선이 모든 조직구성원으로
확대되고, 지속적인 프로세스 개선을 위해 노력한다. 새로운 기술이 조직에 적용될 수 있는가를 판단하고, 필요하면 이를
수용하는 방향으로 프로세스를 개선시키며, 조직의 구성원들은 자신의 영역에서 계속해서 프로세스의 개선방안을 제안하고
전체적으로 이를 반영하여 프로세스를 개선한다.
그리고 발견된 결함의 형태가 다시 발생하지 않도록 소프트웨어 프로세스가 평가되고 얻어진 교훈이 전 조직에 확산된다.
|