홈으로 > BUSINESS > Solution 컨설팅 > CMM

 

● CMM

대표적인 소프트웨어 프로세스 모델인 CMM (Capability Maturity Model )의 소개 미국 국방성은 국방성 프로젝트 수행에 적합한 우수 SW개발업체를 객관적인 기준으로 선정하기 위해 카네기 멜론 대학과 협의하여 SEI(SEI : Software Engineering Institute)를 만들게 된다.
SEI는 소프트웨어 개발조직이 높은 품질의 소프트웨어를 일관성 있고 예측 가능하게 생산하는 능력을 갖추게
하기 위해 SW Process model을 1991년에 개발하였다. 이 모델은 소프트웨어 개발 능력 측정 기준과
소프트웨어 프로세스 평가 기준을 제공함으로써, 정보 및 전산 조직의 성숙수준을 평가할 수 있는 모델이다.
이 모델이 SW - CMM이다. 초기에는 SW영역에 한정하여 모델을 제시하였으나, SW개발과 관련된 업무영역인 구매 Acquisition), 개발인력자원(People)관리 및 HW시스템관리 등을 포함하는 다양한 프로세스 성숙도 모델을 제시한다.

이러한 CMM의 성숙도개념을 이용하여 SEI에서는 6가지 CMM기반의 모델을 개발하였다.

- CMM for SW : SW - CMM - SW Acquisition CMM : SA
- CMM - Systems Engineering CMM : SE
- CMM - Integrated Product Management CMM : IPM
- CMM - People CMM : P
- CMM

CMM의 단계

만족할 만한 품질 수준을 갖춘 소프트웨어를 납기와 예산의 범위 내에서 개발하기 위해서는 소프트웨어
프로세스의 수준을 확보하는 것이 필요하다는 전제로부터 CMM은 시작되었습니다.
그러므로 조직은 성숙(maturity) 수준을 높이기 위한 노력을 해야 하는데 CMM이 바로 이러한 성숙 수준을
높이기 위한 로드맵을 제시하고 있습니다. CMM은 소프트웨어 개발 조직의 프로세스가 미성숙한 상태에서
성숙한 상태의 프로세스로 가는 점진적인 개선의 5가지 단계를 <그림 1>과 같이 제시하고 점증적으로 발전해
가도록 유도하고 있습니다.
CMM을 적용하고자 하는 조직은 먼저 1단계에서 시작해 각 단계에서 제시하는 사항들을 충족시켜 상위 단계로 발전해 나아가게 됩니다



단계별 특징

각 성숙도 단계는 다음과 같이 구분됩니다.

◆ Level 1 : 초기(Initial) 1단계는 초기 단계로 가장 낮은 성숙도 수준을 의미하며 프로세스가 거의 정의되어 있지
                  않아 프로젝트의 성공은 개인의 노력에 따라 달라지게 됩니다. 많은 조직들이 이 단계에 해당한다고
                  볼 수 있습니다.

◆ Level 2 : 반복(Repeatable) 2단계는 프로젝트 레벨에서 프로세스가 재사용되고 있음을 의미합니다.
                 성공적인 프로젝트에 활용됐던 유사한 프로세스를 다시 사용하는 것입니다.

◆ Level 3 : 정의(Defined) 3단계는 2단계에서 한발 더 나아가 조직 레벨의 표준 프로세스가 존재함을
                  의미합니다.
즉, 조직에서 수행되는 모든 프로젝트는 소프트웨어를 개발, 관리하기 위해 조직의 표준 소프트웨어
프로세스를 사용하게 됩니다. 이때 조직의 표준 프로세스는 각 프로젝트의 특성에 맞게 수정되어 사용됩니다.

◆ Level 4 : 관리(Managed) 4단계에서는 소프트웨어 프로세스와 품질에 대한 상세한 측정이 이뤄집니다.
                  모든 프로젝트에 대한 중요한 소프트웨어 프로세스 활동의 생산성과 품질이 정량적으로 측정되고
                  프로세스 관리 측면의 강화가 이뤄지는 단계입니다.

◆ Level 5 : 최적(Optimizing) 가장 상위의 단계인 5단계에서는 지속적인 프로세스 개선이 이뤄지게 됩니다.
                  신기술을 결합해 프로세스의 최적화가 이루어지고 전 조직에 최적화된 프로세스가 다시 적용되는
                  최상위 단계입니다.

CMM의 구성

조직의 성숙도 레벨을 높이려면 어떻게 해야 하는 것일까?
이 질문에 해답이 단계별 핵심 프로세스 영역(KPA, Key Process Area)입니다.
KPA는 각 단계의 달성을 위해 조직과 프로젝트에서 필요한 활동들의 모임을 의미합니다.
따라서 CMM을 적용하려는 조직이 원하는 성숙도 단계를 구현하기 위해서는 각 단계별로 제시하고 있는 KPA에
집중해야 한다는 것입니다



정말 효과는 있을까?

과연 조직의 프로세스 성숙도 레벨을 높인다면 효과가 있을까요? 있다면 어떠한 효과일까요?
<그림 3>은 레이시온(Raytheon)과 보잉(Boeing)의 CMM 레벨 향상에 따른 프로젝트 작업 현황을 나타낸
것입니다. 높은 레벨일수록 결함 감소율과 비용 감소율이 증가하고 재작업 비율이 줄어드는 결과를 볼 수
있습니다.

<그림 3> CMM 레벨 향상에 따른 프로젝트 작업 현황

 

관리자모드