CMMI 구조
CMMI는 이행과 내재화를 통해 운영된다. 수립된 프로세스에 따라 업무를 수행하고 이를 통해 내재화가 된 업무는 불특정 다수의 사람이 와서 수행하더라도 똑같은 방식으로 업무는 수행된다. 이런 방식이 가능한 이유는 모델 구조에 기안한다. 모델은 크게 성숙단계(단계적 표현 방법) 혹은 능력단계(연속적 표현 방법), 프로세스 영역, 일반/특정 목적, 공통 수행항목 그리고 일반/특정 프랙티스로 나뉜다. 다음은 단계적 표현 방법이다.
< 단계적 표현 방법의 모델 컴포넌트 >
✔️ 성숙 단계(Maturity Levels)
: 조직에서 해당 업무를 얼마나 체계적으로 수행하고 있는지를 나타내는 지표로서 단계1이면 조직은 임기응변으로 업무 수행, 단계2이면 기본적인 프로젝트 관리 활동을 수행하고 있음을 말한다.
✔️ 프로세스 영역(Process Area)
: 해당 프로세스를 위해서 수행되어야 하는 활동들의 집합으로 하나의 프로세스 영역은 반드시 성숙단계 2, 3, 4, 5중 하나에 포함된다.
✔️ 목적과 프랙티스
: 모든 프로세스 영역은 달성해야 할 몇 가지 목적을 갖는다. 이러한 목적은 해당 프로세스 영역이 조직 내에서 수행되고 있음을 판단하는 기준이 되며 추상적으로 정의된다. 그래서 목적들은 보다 구체적으로 기술된 프랙티스들과 연결된다.
– 특정 목적(Specific Goal): 특정 프로세스 영역과 관련된 목적
– 일반 목적(Generic Goal): 모든 프로세스 영역에서 공통으로 적용될 수 있는 목적 (조직 내재화 판단)
– 특정 프랙티스(Specific Practice): 특정 목적을 충족시키기 위해 조직이 수행해야 할 활동
– 일반 프랙티스(Generic Practice): 프로세스가 효율적으로 지속될 수 있도록 해당 프로세스를 내재화하는 활동
✔️ 공통 수행항목(Common Features)
: 프로세스 영역 내에서 일반 프랙티스들이 그 특성에 따라 그룹화한 것 (단계적 표현 방법에서만 사용)
– 수행방침(Commitment to Perform): 경영진 참여나 문서화 정책 관련 활동
– 수행 능력(Ability to Perform): 프로세스 수행계획수립, 자원 제공, 교육 등과 관련한 활동
– 직접 이행(Directing Implementation): 형상 관리, 관련 이해당사자의 식별, 참여, 프로세스 모니터링, 통제, 개선정보 수집 관련 활동
– 이행검증(Verifying Implementation): 표준 준수 여부의 객관적 평가, 상위 관리자 검토 등 관련 활동
다음은 연속적 표현 방법이다. 이는 기본적으로 단계적 표현 방법과 동일하나 일반 프랙티스를 공통 수행항목으로 구분하지 않고 특정 프랙티스를 기본 프랙티스(특정 프랙티스 중 능력 단계1에 해당하는 프랙티스들)와 고급 프랙티스(특정 프랙티스 중에서 능력 단계2 이상 해당하는 프랙티스들)로 구분하는 것이 다르다.
< 연속적 표현 방법의 모델 컴포넌트 >
단계적 표현 방법(성숙 단계)은 조직 내 체계적 업무 수행의 정도로 1단계에서 5단계까지 구분한다. 그래서 계단처럼 구성되어 있으며 각 단계 프로세스 영역이 만족하여야 다음 단계로 넘어갈 수 있다. 이에 반해 연속적 표현 방법(능력 단계)은 프로세스 영역 능력 수준을 측정하는, 해당 조직의 프로세스 영역에 대한 능력 정도를 나타낸다. 이를 통해 영역별 수준을 확인해서 어떤 영역이 잘되는지 어떤 영역이 떨어지는지 확인할 수 있다.
CMMI 표현
앞선 구조처럼 조직의 프로세스 개선 활동의 우선순위가 CMMI에서 정의한 프로세스 영역들과 유사한 경우라면 단계적 표현 방법을 선택하면 훨씬 더 체계적일 수 있고 그렇지 않고 조금 특이한 경우라면 연속적 표현 방법을 적용하면 더 효율적일 수 있다. 이이 각 표현 방법들이 어떤 것인지 살펴본다.
🚩 단계적 표현 방법
:조직에서 프로세스 개선 활동을 수행할 때 하나의 로드맵을 제시하는 데 중점을 둔다. 이는 한 조직의 프로세스 능력이 발전되는 과정을 몇 가지 성숙 단계로 정의하고 상위 성숙 단계로 도달하기 위해서는 반드시 그 하위의 모든 성숙 단계들을 충족시켜야 한다.
✔️ 성숙 1단계: 초기(Initial)
– 조직은 구조화된 프로세스가 없다. 모든 것이 임기응변적이다. 아무런 활동을 요구하지도 않는다.
✔️ 성숙 2단계: 관리됨(Managed)
– 기본적인 프로젝트 관리 프로세스들이 있으며 그것에 따라 업무가 수행되고 있다. 기본적인 활동들이 있다.
✔️ 성숙 3단계: 정의됨(Defined)
– 해당 조직에서 따라야 하는 조직 차원의 표준 프로세스가 있다. 훨씬 구체적이고 정교한 프로세스가 관리된다.
✔️ 성숙 4단계: 정량적으로 관리됨(Quantitatively Managed)
– 모든 프로세스가 통계적이고 정량적이다. 의사결정이나 개선 여부 파악을 위해 메트릭을 활용한다.
✔️ 성숙 5단계: 최적화(Optimizing)
– 프로세스 성과 변동 중 일반적인 원인에 대한 분석을 통해 지속 개선한다. 아주 이상적인 조직의 상태이다.
🚩 연속적 표현 방법
: 프로세스 영역들이 프로세스 관리, 프로젝트 관리, 엔지니어링, 지원의 4가지이다. 이는 개별 프로세스 영역 내에서의 프로세스 개선 활동에 초점을 두고 개별 프로세스 영역별로 능력 단계를 부여할 수 있기 때문이다.
✔️ 능력 0단계: 불완전함(Incomplete)
– 요구되는 대부분의 활동이 수행되지 않는다.
✔️ 능력 1단계:수행됨(Performed)
– 정의된 기본 프랙티스들이 기본적으로 수행되고 있다. 다만 확신할 수는 없다.
✔️ 능력 2단계: 관리됨(Managed)
– 하나의 프로세스가 개별 프로젝트나 팀별로 계획, 수행, 추적 및 통제되고 있다. 이 단계부터 기본적 메트릭을 수집해야 한다.
✔️ 능력 3단계: 정의됨(Defined)
– 표준 프로세스를 tailoring 가이드에 따라 조정하여 적합한 프로세스를 개발하고 활동을 관리한다.
✔️ 능력 4단계: 정량적으로 관리됨(Quantitatively Managed)
– 정의된 프로세스가 통계적 기법이나 다른 정량적인 방법 등을 통해 관리되고 있다.
✔️ 능력 5단계: 최적화(Optimizing)
– 하나의 프로세스를 반복 수행한 결과가 가지는 변동의 일반적 원인에 대해 분석, 개선하여 변동의 범위를 지속 줄여나간다.
CMMI 비교
이와 같이 두가지로 구분된 모델은 어떻게 비교가 될까? 각가의 특장점이 있어서 무엇을 추천한다기 보다는 현장상황에 따라서 모델을 선택해야 한다. 단계적 표현(Staged Representation) 모델은 구조화된 로드맵을 제공하고 조직 간 벤치마킹이 용이하다. SW-CMM과의 호환성도 좋고 평가결과가 간결하여 규정 준수 등이 필수적인 분야나 체계적인 프로세스 기반이 부족한 초기개선조직에 어울린다. 반면 연속적 표현(Continuous Representation) 모델은 프로세스 영역을 선택집중할 수 있어 유연하고 역량 수준에 따른 점진적 개선을 할 수 있다. 또한 복잡한 프로젝트 환경에 더 어울려서 기 성숙한 조직 또는 맞춤형 개선이 필요할 때 더 많이 쓰인다.
구분 | 단계적 표현 모델 | 연속적 표현 모델 |
선호도 | 높음(특히 국내) | 낮음(해외, 고도화된 조직) |
장점 |
구조화된 단계별 접근 |
유연한 개선 |
단점 |
유연성 부족 |
평가 결과 복잡 |
적합 조직 |
규제 준수 필요 |
성숙 조직 |
이런 특징들로 국내에서는 어떤 모델이 더 선호대상인가? 국내는 단계적 표현모델이 더 인기가 있다. 그 이유는 여러 배경들이 있겠지만 우선 숫자로 명확하게 표현되는 등급체계가 인증을 우선 시 하는 문화와도 결부되어 있고 SW-CMM기반의 기존 개선모델에 대한 경험, 그리고 평가가 간소하다는 것이 실무자들에게 더 높은 평가를 받는 면이 있지 않나 싶다.
※ 무슨 말인지는 알겠으나
CMMI를 도입하고자 결정이 나면 해야 할 일이긴 하지만도 지금 일도 많고 바빠 죽겠는데 또 하나의 혹이 달린 것 같아 현장에선 뜨미지근하다 못해 험한 말도 나온다. 그래서 전담조직을 만들고 선단에서 정리를 해나가며 현업들을 설득하는 자리를 빼놓지 않는다. 그러다 보면 일이 힘든 것이 아니라 사람이 힘들다는 것을 뼈저리게 느낀다. 으…. 정말 사람이 전부다. 언제부터인가 사람은 고쳐 쓰는 것이 아니라는 말이 유행처럼 나돌기는 하는데 이 말이 정말인가 다시 한 번 곱씹어보게 된다. 그리고, 나를 돌아보게 된다. 나는?