능력 성숙도 통합 모델
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
능력 성숙도 통합 모델(CMMI)은 조직의 프로세스 성숙도를 평가하고 개선하기 위한 모델로, 1980년대 미국 국방성의 지원으로 개발되었다. CMMI는 소프트웨어 개발, 시스템 공학, 서비스 제공 등 다양한 분야에 적용되며, 프로세스 영역, 목표, 프랙티스 등으로 구성된다. CMMI는 5단계의 성숙도 레벨과 각 프로세스 영역별 역량 레벨을 제공하며, SCAMPI라는 표준화된 평가 방법을 통해 평가받는다. CMMI 도입은 조직의 프로세스 개선, 품질 향상, 생산성 증대, 경쟁력 강화에 기여하지만, 과도한 관료주의, CMMI 인증 획득 자체에 대한 목표 설정, 애자일 방법론과의 차이점 등의 비판도 존재한다. CMMI는 다양한 분야에 적용되어 조직의 프로세스 개선 및 성과 향상을 지원하며, 애자일 방법론과의 결합 등 향후 발전을 모색하고 있다.
더 읽어볼만한 페이지
- 시스템 공학 - 물류
물류는 고객의 요구를 충족시키기 위해 재화, 서비스 및 관련 정보를 발생 지점에서 소비 지점까지 계획, 실행, 통제하는 과정이며, 전자상거래 발달과 함께 전자 물류의 중요성이 커지고 물류 자동화 및 시스템, 교육 기관들이 발전하고 있다. - 시스템 공학 - 제어 시스템
제어 시스템은 시스템의 출력을 원하는 값으로 유지하거나 목표를 달성하기 위해 동작을 조절하는 시스템으로, 다양한 제어 방식과 기법, 하드웨어를 통해 구현되어 소형 장치부터 대규모 산업 공정까지 광범위하게 사용된다. - 소프트웨어 공학 - 통합 개발 환경
통합 개발 환경(IDE)은 코드 편집, 빌드, 디버깅 등 소프트웨어 개발에 필요한 여러 기능을 통합적으로 제공하는 응용 프로그램이다. - 소프트웨어 공학 - 소프트웨어 개발
소프트웨어 개발은 요구사항 분석, 설계, 코딩, 테스트, 배포, 유지보수를 포함하는 컴퓨터 프로그램 및 관련 데이터를 만드는 과정으로, 다양한 방법론과 도구가 사용되며, 개발자 외에도 다양한 전문가들이 참여한다.
능력 성숙도 통합 모델 | |
---|---|
Capability Maturity Model Integration | |
개요 | |
약칭 | CMMI |
종류 | 프로세스 개선 성숙도 모델 |
개발 기관 | 카네기 멜런 대학교 소프트웨어 공학 연구소 (SEI) |
목표 | 소프트웨어 개발 프로세스 개선 제품 및 서비스 개발 능력 향상 운영 효율성 증대 |
특징 | 프로세스 영역 정의 및 성숙도 수준 제시 지속적인 개선 및 최적화 추구 다양한 분야 적용 가능 (소프트웨어, 하드웨어, 서비스 등) |
용도 | 조직의 프로세스 개선 로드맵 설정 프로세스 성숙도 평가 및 개선 공급업체 선정 기준 활용 품질 경영 시스템 구축 |
모델 구성 요소 | |
프로세스 영역 (Process Area, PA) | 특정 목표 달성을 위한 활동 집합 예: 프로젝트 관리, 품질 보증, 구성 관리 등 |
성숙도 수준 (Maturity Level) | 조직의 프로세스 성숙도 단계 초기 (Initial), 관리 (Managed), 정의 (Defined), 정량적 관리 (Quantitatively Managed), 최적화 (Optimizing) |
능력 수준 (Capability Level) | 프로세스 영역별 성취도 단계 불완전 (Incomplete), 수행 (Performed), 관리 (Managed), 정의 (Defined), 정량적 관리 (Quantitatively Managed), 최적화 (Optimizing) |
공통 특징 (Common Features) | 프로세스 실행 및 제도화를 위한 요소 약속, 능력, 활동, 측정, 검증 |
특정 목표 (Specific Goals) | 프로세스 영역의 목표 달성 여부 판단 기준 특정 실행 (Specific Practices)으로 달성 |
일반 목표 (Generic Goals) | 프로세스 제도화 및 지속적 개선 활동 일반 실행 (Generic Practices)으로 달성 |
모델 표현 방식 | |
단계식 표현 (Staged Representation) | 성숙도 수준 기반 프로세스 개선 로드맵 제공 각 수준별 달성해야 할 프로세스 영역 제시 |
연속식 표현 (Continuous Representation) | 능력 수준 기반 프로세스 개선 로드맵 제공 프로세스 영역별 능력 수준 향상 목표 설정 |
평가 방법 | |
SCAMPI (Standard CMMI Appraisal Method for Process Improvement) | 공식 CMMI 평가 방법 A, B, C 등급으로 평가 결과 제공 |
관련 조직 | |
CMMI Institute | CMMI 모델 개발 및 보급 평가자 교육 및 인증 |
장점 | |
프로세스 개선 | 체계적인 프로세스 개선 로드맵 제공 조직의 강점 및 약점 파악 용이 지속적인 개선 문화 조성 |
품질 향상 | 제품 및 서비스 품질 향상 고객 만족도 증대 위험 감소 |
생산성 향상 | 효율적인 자원 활용 개발 기간 단축 비용 절감 |
경쟁력 강화 | 국제 표준 준수 신뢰도 향상 시장 경쟁력 강화 |
단점 | |
비용 | 초기 도입 비용 및 유지 비용 발생 평가 및 컨설팅 비용 부담 |
시간 | 프로세스 개선 활동에 시간 소요 조직 문화 변화에 어려움 |
복잡성 | 모델 자체가 복잡하고 이해하기 어려울 수 있음 조직 규모에 따라 적용 방법 상이 |
활용 분야 | |
소프트웨어 개발 | 소프트웨어 개발 프로세스 개선 및 품질 향상 |
하드웨어 개발 | 하드웨어 개발 프로세스 개선 및 품질 향상 |
서비스 | 서비스 제공 프로세스 개선 및 품질 향상 |
시스템 엔지니어링 | 시스템 개발 및 유지보수 프로세스 개선 |
IT 서비스 관리 | IT 서비스 관리 프로세스 개선 및 효율성 증대 |
최신 동향 | |
CMMI V2.0 | 2018년 발표된 최신 버전 애자일, 데브옵스 등 최신 개발 방법론 반영 성능 향상에 초점 |
참고 자료 | |
CMMI 공식 홈페이지 | CMMI Institute 공식 홈페이지 |
소프트웨어 공학 연구소 (SEI) | 카네기 멜런 대학교 소프트웨어 공학 연구소 |
2. 역사적 배경
능력 성숙도 통합 모델(CMMI)은 미국 카네기 멜론 대학교(CMU)의 소프트웨어 공학 연구소(SEI)가 미국 국방부의 자금 지원을 받아 1986년부터 연구하여 1991년에 발표한 능력 성숙도 모델(CMM)에 기반한다. CMM은 본래 미국 정부가 소프트웨어 개발 하청업체의 역량을 객관적으로 평가하기 위한 목적으로 개발되었으나, 이후 소프트웨어 개발 프로세스의 성숙도를 평가하고 개선하는 일반적인 모델로 널리 채택되었다.
시간이 흐르면서 소프트웨어 개발(SW-CMM) 외에도 시스템 공학(SECM), 통합 제품 개발(IPD-CMM) 등 다양한 분야에 특화된 CMM 모델들이 등장했다. 그러나 여러 모델이 공존하면서 발생하는 정의와 표준의 차이, 교육 및 평가 비용 증가 등의 문제를 해결하고, 다양한 분야를 포괄하는 통합된 프레임워크의 필요성이 제기되었다. 이에 SEI는 산업계 및 정부와 협력하여 기존의 여러 CMM 모델들을 통합하는 CMM 통합(CMM Integration, CMMI) 프로젝트를 추진하게 되었다.
CMMI는 2002년 버전 1.1이 처음 발표된 이후 지속적으로 개정되어 왔다. 2006년 버전 1.2, 2010년 버전 1.3을 거쳤으며,[5][6][7][8] 버전 1.2부터는 개발(CMMI-DEV), 획득(CMMI-ACQ), 서비스(CMMI-SVC)의 세 가지 영역별 모델로 분화되기도 했다. 이후 2018년에 발표된 버전 2.0에서는 이 세 영역이 다시 단일 모델로 통합되었으며, 가장 최신 버전은 2023년 4월에 발표된 CMMI V3.0이다.
CMMI 관련 활동과 결과물은 2013년에 SEI에서 카네기 멜론 대학교 내에 새로 설립된 CMMI 연구소(CMMI Institute)로 이관되었고,[4] 2016년 3월에는 정보 시스템 감사 통제 협회인 ISACA가 CMMI 연구소를 인수하여 현재까지 운영하고 있다. CMMI는 조직이 비즈니스 목표 달성을 위해 프로세스를 개발하고 개선하는 데 필요한 지침을 제공하며, 프로세스 성숙도를 평가하는 기준으로 전 세계적으로 널리 활용되고 있다.[3][9]
2. 1. CMM의 등장과 발전
1970년대 컴퓨터 기술 발달로 컴퓨터 보급이 확산되면서 많은 조직들이 컴퓨터화를 통한 정보 시스템 구축을 추진했고, 이에 따라 소프트웨어 개발의 중요성이 커졌다. 그러나 당시 컴퓨터 과학 기술의 미성숙과 더불어 프로젝트 규모와 복잡성이 증가하면서, 소프트웨어 개발 프로젝트가 실패로 끝나는 경우가 빈번하게 발생했다. 이러한 문제를 해결하기 위해 에드워드 요든, 래리 콘스탄틴, 제럴드 와인버그, 톰 데마르코, 데이비드 파너스와 같은 전문가들이 소프트웨어 개발 프로세스를 개선하기 위한 연구를 진행했다.특히 1980년대에 들어 미국 국방부는 소프트웨어 프로젝트의 잦은 실패와 예산 초과 문제에 직면했다. 특히 미국 공군은 소프트웨어 개발 하청업체를 객관적으로 평가할 기준의 필요성을 느끼고, 카네기 멜론 대학(CMU)의 소프트웨어 공학 연구소(SEI)에 자금을 지원하여 관련 모델 개발 연구를 의뢰했다.
SEI는 1986년부터 본격적으로 모델 구축 연구를 시작했으며, 이 과정에서 왓츠 험프리는 필 크로스비가 1979년 저서 ''Quality is Free''에서 제시한 품질 관리 성숙도 격자 모델(Quality Management Maturity Grid)을 기반으로 연구를 진행했다.[29][30] 험프리는 1989년 자신의 저서 ''Managing the Software Process''를 통해 능력 성숙도 모델(CMM; Capability Maturity Model)의 개념을 처음 소개했다. 이후 SEI는 연구를 계속하여 1991년에 CMM 표준 모델을 공식적으로 발표했다.
CMM은 본래 미국 정부가 소프트웨어 개발 하청업체의 역량을 평가하기 위한 도구로 개발되었으나, 점차 소프트웨어 개발 조직의 프로세스 성숙도를 5단계(초기, 관리, 정의, 정량적 관리, 최적화)로 나누어 평가하고 개선을 유도하는 일반적인 모델로 널리 알려지게 되었다. 초기에는 SW-CMM(소프트웨어 CMM)을 주로 지칭했지만, 이후 시스템 공학 등 다양한 분야에도 적용 가능한 성숙도 모델을 통칭하는 의미로 사용되었다.
그러나 다양한 파생 모델들의 등장으로 인한 혼란과 교육, 평가 비용 증가 문제, 그리고 유럽 중심의 SPICE(ISO 15504) 모델이 국제 표준으로 선정됨에 따라, SEI는 CMM을 통합하고 발전시킨 CMMI(Capability Maturity Model Integration) 개발에 집중하게 되었다. SEI는 2005년부터 CMM에 대한 공식적인 지원과 업데이트를 중단하고 CMMI 보급에 주력하고 있다.
2. 2. CMMI로의 통합
능력 성숙도 모델(CMM)에 기반한 여러 모델들은 많은 조직에게 유용했지만, 점차 다양한 모델들이 개발되면서 이를 함께 사용하는 데 어려움이 따랐다. 특히 여러 모델을 하나의 조직 내에서 통합하여 적용하고 관리하는 것은 교육, 평가, 프로세스 개선 활동에 많은 비용을 발생시키는 문제점을 낳았다.[9]이러한 배경 속에서 다양한 소프트웨어 개발 및 시스템 공학 분야의 프로세스 개선 모델들을 하나로 통합하려는 노력이 시작되었다. 기존의 여러 CMM 모델들, 예를 들어 소프트웨어 능력 성숙도 모델(SW-CMM), 시스템 공학 역량 모델(SECM; System Engineering Capability Model), 통합 제품 개발 CMM(IPD-CMM; Integrated Product Development-CMM) 등은 각기 다른 정의와 구조를 가지고 있어 통합적인 적용에 혼란을 야기했다.
이에 미국의 산업계, 정부, 그리고 카네기 멜론 대학교 소프트웨어 공학 연구소(SEI)는 CMM 통합(CMM Integration, CMMI) 프로젝트를 발족하여 이러한 문제 해결에 나섰다. 이 프로젝트는 미국 국방부 장관실(OSD)과 미국 국방 산업 협회 등의 주요 후원을 받았다. CMMI 개발팀의 핵심 목표는 다음의 세 가지 주요 소스 모델을 하나의 프레임워크로 통합하는 것이었다.
구분 | 기반 모델 | 버전 정보 |
---|---|---|
소프트웨어 개발 | 소프트웨어 능력 성숙도 모델 (SW-CMM) | v2.0 draft C |
시스템 공학 | 시스템 공학 역량 모델 (SECM) | EIA/IS-731 |
통합 제품 개발 | 통합 제품 개발 CMM (IPD-CMM) | v0.98 |
CMMI는 이들 세 가지 소스 모델의 공식적인 후속 버전으로 자리매김했으며, SEI는 기존 SW-CMM, SECM, IPD-CMM에 대한 지원을 중단하고 CMMI 보급에 집중하게 되었다.
한편, CMMI 개발에는 국제 표준화 동향도 영향을 미쳤다. 국제 표준화 기구(ISO)와 국제 전기 표준 회의(IEC)가 공동으로 제정한 ISO/IEC 15504 표준(일명 SPICE)이 소프트웨어 프로세스 평가의 국제 표준으로 채택되자, 이에 대응하여 SEI는 CMMI를 적극적으로 배포하기 시작했다. CMMI는 ISO/IEC 15504 표준과의 호환성을 고려하여, 기존의 단계적 표현(Staged Representation) 방식에 더해 연속적 표현(Continuous Representation) 방식을 추가로 제공하게 되었다. 이를 통해 조직은 특정 프로세스 영역에 집중하거나 전체적인 성숙도 수준을 평가하는 등 다양한 목적에 맞게 모델을 활용할 수 있게 되었다.
2. 3. 한국의 CMMI 도입과 확산
3. CMMI의 구성 요소
능력 성숙도 통합 모델(CMMI)은 조직이 프로세스를 정립하고 개선하기 위한 수단으로, 카네기 멜론 대학교(CMU)의 소프트웨어 공학 연구소(SEI)에서 여러 업계 및 정부 기관과의 협력을 통해 개발되었다.[3] 2013년부터는 CMU 내 새로 설립된 CMMI 연구소에서 관리하고 있다.[4] CMMI는 조직의 비즈니스 목표 달성을 돕는 프로세스 개발 및 개선 지침을 제공하며, 조직의 프로세스 성숙도를 평가하는 프레임워크로도 사용된다.[3]
CMMI는 조직의 개발 프로세스를 평가하기 위해 5단계의 성숙도 레벨(Maturity Leveleng)과 6단계의 역량 레벨(Capability Leveleng) 기준을 제공한다. 이를 위해 약 20여 개의 프로세스 영역(Process Area|PAeng)을 정의하고 있으며, 각 프로세스 영역은 달성해야 할 목표(Goaleng)와 이를 위한 구체적인 활동인 프랙티스(Practiceeng)들로 구성된다. 이러한 구성 요소들은 조직이 프로세스를 체계적으로 관리하고 개선해 나가는 데 필요한 구조를 제공한다.
원래 CMMI는 제품 및 서비스 개발(CMMI-DEV), 서비스 구축 및 관리(CMMI-SVC), 제품 및 서비스 획득(CMMI-ACQ)의 세 가지 주요 관심 분야(constellationeng)를 다루었으나, 2.0 버전부터는 이들을 하나의 통합된 모델로 제공한다.[10]
CMMI 버전 1.3까지는 특정 프로세스 영역 개선에 집중하는 연속형 표현(Continuous Representationeng)과 조직 전체의 성숙도 수준 향상에 초점을 맞춘 단계형 표현(Staged Representationeng) 두 가지 방식이 존재했다.[3] 단계형 표현은 SW-CMM과의 호환성을 높이고 조직 간 비교를 용이하게 했으며, 연속형 표현은 조직의 특정 요구에 맞춰 개선 활동을 유연하게 선택할 수 있도록 했다.[3] 하지만 CMMI 버전 2.0에서는 이러한 구분이 없어지고 하나의 통합된 모델 구조로 변경되었다.[10]
3. 1. 프로세스 영역 (Process Area)
능력 성숙도 통합 모델(CMMI)에서 프로세스 영역(Process Area, PA)은 조직의 프로세스 역량을 평가하고 개선하기 위한 핵심적인 활동 영역을 나타낸다. CMMI 모델은 조직의 비즈니스 목표 달성을 돕기 위해 다양한 분야의 프로세스 개선 지침을 제공하며, 각 분야별로 특화된 프로세스 영역들을 정의하고 있다.[3][9]CMMI는 원래 제품 및 서비스 개발(CMMI-DEV), 서비스 구축 및 관리(CMMI-SVC), 제품 및 서비스 획득(CMMI-ACQ)이라는 세 가지 주요 관심 분야(constellation 또는 discipline)를 다루었으나, 버전 2.0부터는 이들을 하나의 통합된 모델로 제공한다.[10] 각 관심 분야는 고유한 프로세스 영역을 포함할 수 있지만, 모든 분야에 공통적으로 적용되는 핵심 프로세스 영역들도 존재한다.
프로세스 영역은 일반적으로 다음과 같은 네 가지 범주로 분류된다.
- 프로세스 관리 (Process Management): 조직 차원의 프로세스를 정의, 계획, 배포, 모니터링, 통제, 평가, 측정, 개선하는 활동을 다룬다.
- 프로젝트 관리 (Project Management): 개별 프로젝트를 계획, 모니터링, 통제하는 활동을 다룬다.
- 엔지니어링 (Engineering): 제품 및 서비스의 개발과 유지보수에 관련된 기술적인 활동을 다룬다.
- 지원 (Support): 다른 프로세스 영역의 활동을 지원하는 활동을 다룬다. 예를 들어 형상 관리, 품질 보증 등이 포함된다.
아래 표는 CMMI 버전 1.3 기준으로 모든 관심 영역에 공통적으로 존재하는 17개의 핵심 프로세스 영역을 보여준다.[11]
약어 | 프로세스 영역 | 범주 | 성숙도 레벨 |
---|---|---|---|
CAR | 원인 분석 및 해결 (Causal Analysis and Resolution) | 지원 | 5 |
CM | 형상 관리 (Configuration Management) | 지원 | 2 |
DAR | 의사결정 분석 및 해결 (Decision Analysis and Resolution) | 지원 | 3 |
IPM | 통합 프로젝트 관리 (Integrated Project Management) | 프로젝트 관리 | 3 |
MA | 측정 및 분석 (Measurement and Analysis) | 지원 | 2 |
OPD | 조직 프로세스 정의 (Organizational Process Definition) | 프로세스 관리 | 3 |
OPF | 조직 프로세스 중점 (Organizational Process Focus) | 프로세스 관리 | 3 |
OPM | 조직 성과 관리 (Organizational Performance Management) (v1.3 이전: 조직 혁신 및 이행 (Organizational Innovation and Deployment)) | 프로세스 관리 | 5 |
OPP | 조직 프로세스 성과 (Organizational Process Performance) | 프로세스 관리 | 4 |
OT | 조직 훈련 (Organizational Training) | 프로세스 관리 | 3 |
PMC | 프로젝트 감시 및 통제 (Project Monitoring and Control) | 프로젝트 관리 | 2 |
PP | 프로젝트 계획 (Project Planning) | 프로젝트 관리 | 2 |
PPQA | 프로세스 및 제품 품질 보증 (Process and Product Quality Assurance) | 지원 | 2 |
QPM | 정량적 프로젝트 관리 (Quantitative Project Management) | 프로젝트 관리 | 4 |
REQM | 요구사항 관리 (Requirements Management) | 프로젝트 관리 | 2 |
RSKM | 리스크 관리 (Risk Management) | 프로젝트 관리 | 3 |
SAM | 공급자 계약 관리 (Supplier Agreement Management) | 프로젝트 관리 (표에는 지원으로 되어 있으나, 다른 목록 및 설명과 일치시키기 위해 프로젝트 관리로 표기함. 원본 소스 간 불일치 존재) | 2 |
가장 널리 사용되는 모델 중 하나인 "개발을 위한 CMMI(CMMI-DEV)"의 프로세스 영역은 다음과 같다.
프로세스 영역 | 구분 | 성숙도 레벨 |
---|---|---|
요구사항 관리 (REQM: Requirements Management) | 프로젝트 관리 | 2 |
프로젝트 계획 (PP: Project Planning) | 프로젝트 관리 | 2 |
프로젝트 감시 및 통제 (PMC: Project Monitoring and Control) | 프로젝트 관리 | 2 |
공급자 계약 관리 (SAM: Supplier Agreement Management) | 프로젝트 관리 | 2 |
측정 및 분석 (MA: Measurement and Analysis) | 지원 | 2 |
프로세스 및 제품 품질 보증 (PPQA: Process and Product Quality Assurance) | 지원 | 2 |
형상 관리 (CM: Configuration Management) | 지원 | 2 |
요구사항 개발 (RD: Requirements Development) | 엔지니어링 | 3 |
기술 솔루션 (TS: Technical Solution) | 엔지니어링 | 3 |
제품 통합 (PI: Product Integration) | 엔지니어링 | 3 |
검증 (VER: Verification) | 엔지니어링 | 3 |
확인 (VAL: Validation) | 엔지니어링 | 3 |
조직 프로세스 중점 (OPF: Organizational Process Focus) | 프로세스 관리 | 3 |
조직 프로세스 정의 (OPD: Organizational Process Definition) | 프로세스 관리 | 3 |
조직 훈련 (OT: Organizational Training) | 프로세스 관리 | 3 |
통합 프로젝트 관리 (IPM: Integrated Project Management) | 프로젝트 관리 | 3 |
리스크 관리 (RSKM: Risk Management) | 프로젝트 관리 | 3 |
의사결정 분석 및 해결 (DAR: Decision Analysis and Resolution) | 지원 | 3 |
조직 프로세스 성과 (OPP: Organizational Process Performance) | 프로세스 관리 | 4 |
정량적 프로젝트 관리 (QPM: Quantitative Project Management) | 프로젝트 관리 | 4 |
조직 성과 관리 (OPM: Organizational Performance Management) (v1.3 이전: 조직 혁신 및 이행 (Organizational Innovation and Deployment)) | 프로세스 관리 | 5 |
원인 분석 및 해결 (CAR: Causal Analysis and Resolution) | 지원 | 5 |
이 외에도 시스템 공학, 소프트웨어 공학, 통합 제품 및 프로세스 개발, 공급자 소싱 등 특정 분야에 특화된 프로세스 영역들이 정의되어 있다. 예를 들어, 통합 제품 및 프로세스 개발 분야에는 통합 팀(Integrated Teaming) 및 통합 조직 환경(Organizational Environment for Integration)과 같은 프로세스 영역이 포함되며, 공급자 소싱 분야에는 통합 공급자 관리(Integrated Supplier Management) 등이 있다. 소프트웨어 공학의 프로세스 영역은 시스템 공학의 프로세스 영역과 동일하게 정의되기도 한다.
3. 2. 목표 (Goal)
CMMI의 각 프로세스 영역은 해당 영역 고유의 특정 목표(Specific Goals|SGeng)와 모든 프로세스 영역에 공통적으로 적용될 수 있는 공통 목표(Generic Goals|GGeng)를 포함한다. 특정 목표는 해당 프로세스 영역을 성공적으로 수행했을 때 달성되는 구체적인 상태를 나타내는 반면, 공통 목표는 해당 프로세스 영역이 조직 내에 얼마나 잘 내재화되고 제도화되었는지를 판단하는 데 도움을 준다.공통 목표와 이를 달성하기 위한 공통 프랙티스(Generic Practices|GPeng)는 다음과 같다.
- '''GG 1''' 특정 목표들을 달성한다 (Achieve Specific Goals).
- * '''GP 1.1''' 기본 프랙티스들을 수행한다 (Perform Base Practices).
- '''GG 2''' 관리 프로세스를 내재화한다 (Institutionalize a Managed Process).
- * '''GP 2.1''' 조직의 정책을 수립한다 (Establish an Organizational Policy).
- * '''GP 2.2''' 프로세스를 계획한다 (Plan the Process).
- * '''GP 2.3''' 자원을 제공한다 (Provide Resources).
- * '''GP 2.4''' 책임을 할당한다 (Assign Responsibility).
- * '''GP 2.5''' 담당자를 훈련시킨다 (Train People).
- * '''GP 2.6''' 구성요소를 관리한다 (Manage Configurations).
- * '''GP 2.7''' 관련 이해관계자들을 식별하고 포함시킨다 (Identify and Involve Relevant Stakeholders).
- * '''GP 2.8''' 프로세스를 관찰하고 통제한다 (Monitor and Control the Process).
- * '''GP 2.9''' 객관적으로 평가한다 (Objectively Evaluate Adherence).
- * '''GP 2.10''' 높은 수준의 관리자와 상태를 검토한다 (Review Status with Higher-Level Management).
- '''GG 3''' 정의된 프로세스를 내재화한다 (Institutionalize a Defined Process).
- * '''GP 3.1''' 정의된 프로세스를 수립한다 (Establish a Defined Process).
- * '''GP 3.2''' 개선 정보를 수집한다 (Collect Improvement Information).
- '''GG 4''' 정량적으로 관리하는 프로세스를 내재화한다 (Institutionalize a Quantitatively Managed Process).
- * '''GP 4.1''' 프로세스를 위한 정량적 목표들을 수립한다 (Establish Quantitative Objectives for the Process).
- * '''GP 4.2''' 하위 프로세스 성능을 안정화시킨다 (Stabilize Subprocess Performance).
- '''GG 5''' 최적화하는 프로세스를 내재화한다 (Institutionalize an Optimizing Process).
- * '''GP 5.1''' 계속적인 프로세스 개선을 보증한다 (Ensure Continuous Process Improvement).
- * '''GP 5.2''' 문제의 근본적인 원인을 식별하고 수정한다 (Correct Root Causes of Problems).
CMMI 버전 2.0에서는 모델 구조에 변화가 있었다. 기존의 "프로세스 영역"은 "실행 영역(Practice Area|PAeng)"으로 대체되었으며, 각 실행 영역은 성숙도 레벨별로 구성되어 기존의 "특정 목표" 중심 구조와 달라졌다.[10] 또한, "공통 프랙티스(GP)"는 "거버넌스 및 구현 인프라(Governance and Implementation Infrastructureeng)"라는 새로운 영역 아래로 통합되었다.[10]
3. 3. 프랙티스 (Practice)
CMMI의 각 목표는 해당 목표를 달성하기 위한 구체적인 활동인 프랙티스(Practice)를 포함한다. 프랙티스는 조직이 프로세스를 개선하고 목표를 달성하기 위해 수행해야 할 활동을 구체적으로 제시하며, 모든 프로세스 영역에 공통적으로 적용될 수 있는 일반 목표(Generic Goals, GG)와 일반 프랙티스(Generic Practices, GP)가 있다. 이는 기술 솔루션 프로세스가 조직에 내재화되어 있는지 판단하는 데 도움을 준다.일반 목표와 프랙티스는 다음과 같다.
- GG 1 특정 목표들을 달성한다.
GP 1.1** 기본 프랙티스들을 수행
- GG 2 관리 프로세스를 내재화한다.
GP 2.1** 조직의 정책 수립
GP 2.2** 프로세스 계획
GP 2.3** 자원 제공
GP 2.4** 책임 할당
GP 2.5** 훈련
GP 2.6** 구성요소 관리
GP 2.7** 관련 이해관계자들 식별 및 포함
GP 2.8** 프로세스 관찰 및 통제
GP 2.9** 객관적인 평가
GP 2.10** 높은 수준의 관리와 상태 검토
- GG 3 정의된 프로세스 내재화한다.
GP 3.1** 정의된 프로세스 수립
GP 3.2** 개선 사항 수집
- GG 4 정량적으로 관리하는 프로세스를 내재화한다.
GP 4.1** 프로세스를 위한 정량적 목표들을 수립
GP 4.2** 하위 프로세스 성능의 안정화
- GG 5 최적의 프로세스를 내재화한다.
GP 5.1** 계속적인 프로세스 개선을 보증
GP 5.2** 문제의 근본적인 원인
4. CMMI의 성숙도 및 역량 수준
능력 성숙도 통합 모델(CMMI)은 조직이 프로세스를 개발하고 개선하는 활동을 지원하며, 그 수준을 평가하기 위한 프레임워크이다.[3] CMMI는 조직의 프로세스 성숙도를 종합적으로 평가하는 성숙도 레벨(Maturity Level)과 개별 프로세스 영역의 능력을 세부적으로 평가하는 역량 레벨(Capability Level)이라는 두 가지 주요 평가 기준을 제공한다.
CMMI 모델은 본래 제품 및 서비스 개발(CMMI-DEV), 서비스 구축 및 관리(CMMI-SVC), 제품 및 서비스 획득(CMMI-ACQ)이라는 세 가지 주요 영역을 다루었으나, 버전 2.0에서는 이들을 하나의 통합된 모델로 합쳤다. 이 모델은 미국 피츠버그의 카네기 멜론 대학교(CMU) 소프트웨어 공학 연구소(SEI)와 업계 및 정부 전문가들이 협력하여 개발하였으며,[3] 2013년부터는 카네기 멜론 대학 내 CMMI 연구소에서 관리하고 있다.[4]
CMMI는 조직이 비즈니스 목표를 효과적으로 달성하기 위해 프로세스를 개선하는 데 필요한 지침을 제공하며, 동시에 조직의 현재 프로세스 수준을 객관적으로 평가하는 벤치마크로도 활용된다.[3] 조직의 프로세스 개선 수준은 각 프로세스 영역(Process Areas)별로 정의된 특정 목표(Specific Goals, SP)와 여러 프로세스 영역에 공통으로 적용되는 공통 목표(Generic Goals, GG)의 달성 정도를 측정하여 평가한다.
과거 CMMI 버전 1.3에서는 모델을 표현하는 방식으로 단계형 표현(Staged Representation)과 연속형 표현(Continuous Representation) 두 가지를 제공했다.[3] 단계형 표현은 조직 전체의 성숙도를 1단계부터 5단계까지의 성숙도 레벨로 평가하여, 조직 간 성숙도를 비교하거나 표준화된 개선 경로를 따르는 데 유용했다. 반면, 연속형 표현은 조직이 중요하다고 판단하는 특정 프로세스 영역에 집중하여 개선할 수 있도록, 각 프로세스 영역별 능력 수준을 역량 레벨로 평가하는 방식이었다.[3] 하지만 CMMI 2.0 버전부터는 이러한 표현 방식의 구분이 없어지고 하나의 통합된 모델만 제공된다.[10]
CMMI는 소프트웨어 개발뿐만 아니라 시스템 설계, 하드웨어 개발, 운영 등 시스템 통합(SI) 사업 전반의 프로세스를 평가하고 개선하는 데 폭넓게 활용될 수 있다. 이를 위한 표준 평가 방법론으로 SCAMPI(Standard CMMI Appraisal Method for Process Improvement)가 제공된다. CMMI는 항공전자공학 소프트웨어 개발이나 여러 국가의 정부 주도 프로젝트 등에서 널리 채택되고 있으며,[28] 일부 국가에서는 정부 계약 시 특정 성숙도 레벨 달성을 요구하기도 한다. 일본 등에서도 CMMI를 도입하여 소프트웨어 개발 프로세스를 개선하려는 움직임이 확산되고 있다.
또한, 보안 관련 요구사항을 충족하기 위해 비공식적인 보안 가이드가 제공되기도 한다. 예를 들어, ''CMMI for Services의 보안 콘텐츠 사례 고려''는 '보안 관리' 프로세스 영역을 다루고,[17] ''CMMI for Development, 버전 1.3을 이용한 설계 기반 보안''은 보안 개발 준비, 프로젝트 내 보안 관리, 보안 요구사항 및 기술 솔루션, 보안 검증 및 유효성 검사 등의 프로세스 영역을 포함한다. 이러한 보안 관련 프로세스 영역은 공식적인 성숙도나 역량 레벨 평가에는 직접적인 영향을 주지 않지만, 평가 결과에 부가 정보로 보고될 수 있다.[18]
4. 1. 성숙도 레벨 (Maturity Level)
능력 성숙도 통합 모델(CMMI)은 조직의 프로세스 개선 수준을 평가하기 위해 5단계의 성숙도 레벨(Maturity Level)을 정의한다. 이 레벨은 조직의 프로세스가 얼마나 잘 정의되고 관리되며, 지속적으로 개선되는지를 나타내는 지표이다.[3] 각 성숙도 레벨은 특정 목표(specific goals, SP)와 공통 목표(generic goals, GG)의 달성 정도를 측정하여 평가된다. 레벨 1은 프로세스가 거의 없는 초기 상태를 의미하며, 레벨 5는 프로세스가 최적화되어 지속적인 개선이 이루어지는 가장 높은 수준을 나타낸다.각 성숙도 레벨별 특징과 해당 레벨에서 중점적으로 관리되는 프로세스 영역은 다음과 같다.
- 레벨 1 (Initial, 초기): 프로세스가 거의 정의되지 않아 예측 불가능하고 혼란스러운 상태이다. 프로젝트의 성공 여부가 주로 개인의 역량과 영웅적인 행동에 달려 있으며, 표준화된 프로세스가 없어 성공 경험을 반복하기 어렵다. 조직은 안정적인 환경을 제공하지 못하며, 프로젝트는 예산과 일정을 초과하는 경우가 많다.[3]
- 표준화된 프로세스 없이 프로젝트 수행 결과 예측이 곤란한 조직
- 적용 프로세스 없음
- 레벨 2 (Managed, 관리): 기본적인 프로젝트 관리 프로세스가 도입되어 프로젝트가 통제되는 수준이다. 요구사항 관리, 프로젝트 계획, 추적 및 감시, 공급자 계약 관리, 측정 및 분석, 품질 보증, 형상 관리 등의 활동이 수행된다. 이를 통해 비용, 일정 등을 관리하고 과거의 유사한 프로젝트 성공 사례를 반복적으로 적용할 수 있게 된다. 그러나 아직 조직 전체의 표준 프로세스는 부족하다.[3]
- 기본적인 프로세스 구축에 의해 프로젝트가 관리되고 있는 조직
- 적용 프로세스
- 요구사항 관리(Requirements Management, REQM)
- 프로젝트 계획(Project Planning, PP)
- 프로젝트 감시 및 통제(Project Monitoring and Control, PMC)
- 공급자 계약 관리(Supplier Agreement Management, SAM)
- 측정 및 분석(Measurement and Analysis, MA)
- 프로세스 및 제품 품질 보증(Process and Product Quality Assurance, PPQA)
- 형상 관리(Configuration Management, CM)
- 레벨 3 (Defined, 정의): 조직 전체의 표준 프로세스가 정의되고 문서화되어 있다. 각 프로젝트는 조직의 표준 프로세스를 상황에 맞게 조정하여 사용하며, 이를 통해 일관성 있는 프로세스 수행이 가능하다. 요구사항 개발, 기술적 해결, 제품 통합, 검증, 확인 등 엔지니어링 프로세스와 조직 프로세스 중점, 조직 프로세스 정의, 조직 훈련, 통합된 프로젝트 관리, 위험 관리, 의사 결정 분석 및 해결 등 조직 차원의 프로세스 관리가 강조된다.[3]
- 세부 표준 프로세스가 있어 프로젝트가 통제되는 조직
- 적용 프로세스
- 요구사항 개발(Requirements Development, RD)
- 기술 솔루션(Technical Solution, TS)
- 제품 통합(Product Integration, PI)
- 검증(Verification, VER)
- 확인(Validation, VAL)
- 조직 프로세스 중점(Organization Process Focus, OPF)
- 조직 프로세스 정의(Organization Process Definition, OPD)
- 조직 훈련(Organization Training, OT)
- 통합 프로젝트 관리(Integrated Project Management, IPM)
- 위험 관리(Risk Management, RSKM)
- 의사 결정 분석 및 해결(Decision Analysis and Resolution, DAR)
- 통합 조직 환경(Organizational Environment for Integration, OEI)
- 통합된 팀 구성(Integrated Teaming, IT)
- 레벨 4 (Quantitatively Managed, 정량적 관리): 프로세스와 제품 품질에 대한 정량적인 목표를 설정하고 데이터를 수집하여 관리한다. 통계적 기법을 활용하여 프로세스 성과를 분석하고 예측하며, 이를 통해 프로젝트 결과를 안정적으로 관리할 수 있다.[3]
- 프로젝트 활동이 정량적으로 관리·통제되고 성과 예측이 가능한 조직
- 적용 프로세스
- 조직 프로세스 성과(Organizational Process Performance, OPP)
- 정량적 프로젝트 관리(Quantitative Project Management, QPM)
- 레벨 5 (Optimizing, 최적화): 정량적인 데이터를 기반으로 지속적인 프로세스 개선 활동이 이루어진다. 혁신적인 아이디어를 도입하고 성과를 분석하여 조직 전체의 프로세스를 최적화하며, 문제의 근본 원인을 분석하고 해결하여 재발을 방지한다.[3]
- 지속적인 개선 활동이 정착화되고 최적의 관리로 프로젝트가 수행되는 조직
- 적용 프로세스
- 조직 혁신 및 이행(Organization Innovation and Deployment, OID)
- 인과 분석 및 해결(Causal Analysis and Resolution, CAR)
4. 2. 역량 레벨 (Capability Level)
능력 성숙도 통합 모델(CMMI)은 조직의 프로세스 개선 수준을 평가하는 방법으로 단계적 표현(Staged Representation)과 연속적 표현(Continuous Representation) 두 가지를 제공한다. 이 중 연속적 표현 방식에서 사용되는 것이 역량 레벨(Capability Level)이다. 역량 레벨은 개별 프로세스 영역이 얼마나 잘 수행되고 관리되는지를 나타내는 지표이다.[3] 즉, 조직 전체의 성숙도를 평가하는 성숙도 레벨(Maturity Level)과 달리, 역량 레벨은 특정 프로세스 자체의 능력 수준에 초점을 맞춘다.역량 레벨은 해당 프로세스 영역이 조직 내에서 얼마나 체계적으로 자리 잡고 일관되게 실행되는지, 즉 '제도화(Institutionalization)'의 정도를 측정한다. CMMI 버전 1.3 이후, 역량 레벨은 다음과 같이 0부터 3까지 총 4단계로 정의된다.
- 레벨 0: 불완전 (Incomplete): 프로세스가 제대로 수행되지 않거나 부분적으로만 실행되는 상태이다. 해당 프로세스 영역에서 달성해야 할 하나 이상의 특정 목표(Specific Goals)를 만족하지 못한다.[31] 프로세스 개선 활동의 시작점으로 볼 수 있다.
- 레벨 1: 수행됨 (Performed): 프로세스 영역의 특정 목표를 달성하는 데 필요한 기본적인 작업들이 수행되고 관련 작업 산출물이 생성된다.
- 레벨 2: 관리됨 (Managed): 레벨 1의 요건을 충족하면서, 프로세스가 프로젝트 관리 계획에 따라 체계적으로 관리된다. 여기에는 계획 수립, 자원 배분, 책임 할당, 성과 측정 및 통제, 이해관계자 관리 등이 포함된다.
- 레벨 3: 정의됨 (Defined): 레벨 2의 요건을 충족하면서, 조직 차원에서 표준화된 프로세스를 활용한다. 프로젝트의 특성에 맞게 조직의 표준 프로세스를 조정(Tailoring)하여 사용하며, 프로세스 수행을 통해 얻은 경험과 자산이 조직 전체의 프로세스 개선에 기여한다.
CMMI 버전 1.3 이전에는 역량 레벨이 0부터 5까지 총 6단계(레벨 4: 정량적으로 관리됨, 레벨 5: 최적화)로 구성되어 있었다. 하지만 버전 1.3으로 개정되면서 성숙도 레벨과의 개념적 중복을 피하고 모델을 간결하게 만들기 위해 레벨 4와 5가 폐지되고 현재의 4단계 체계로 변경되었다.[8]
한편, 일부 전문가들은 레벨 0보다 더 낮은 단계, 즉 명백하게 비생산적인 프로세스 상태를 나타내는 '음(-)의 레벨' 개념을 제안하기도 했다.[32] 앤서니 핀켈슈타인(Anthony Finkelstein)의 아이디어에서 출발하여 톰 숄르(Tom Schorsch)는 이를 '능력 비성숙도 모델(Capability Immaturity Model)'이라는 이름으로 구체화하기도 했으나[33], 이는 공식적인 CMMI 모델에는 포함되지 않았다.
5. CMMI의 평가 방법 (SCAMPI)
CMMI는 조직의 SW 개발뿐만 아니라 시스템 설계, 하드웨어, 운영 등 시스템 통합(System Integration, SI) 사업 전반에 대한 프로세스를 평가하고 정의하는 방법인 '''SCAMPI'''(Standard CMMI Appraisal Method for Process Improvement)를 제공한다.
조직은 CMMI 인증을 받을 수는 없으며, 대신 ''평가''를 받는다. 많은 조직은 다음 이유 중 하나 이상을 위해 평가를 수행하여 진행 상황을 측정하는 데 가치를 둔다.
# 조직의 프로세스가 CMMI 모범 사례와 얼마나 잘 비교되는지 확인하고, 개선할 수 있는 영역을 식별하기 위해
# 조직의 프로세스가 CMMI 모범 사례와 얼마나 잘 비교되는지 외부 고객 및 공급업체에 알리기 위해
# 하나 이상의 고객의 계약 요구 사항을 충족하기 위해
CMMI 모델을 사용하는 조직에 대한 평가는 ARC(Appraisal Requirements for CMMI) 문서에 정의된 요구 사항을 준수해야 한다. 평가에는 A, B, C의 세 가지 클래스가 있으며, 개선 기회를 식별하고 조직의 프로세스를 CMMI 모범 사례와 비교하는 데 중점을 둔다. 이 중 클래스 A 평가는 가장 공식적이며 레벨 등급을 받을 수 있는 유일한 평가 유형이다. 평가 팀은 CMMI 모델과 ARC를 준수하는 평가 방법을 사용하여 조직에 대한 평가를 안내하고 결론을 보고하며, 평가 결과는 조직의 개선 계획 수립에 사용될 수 있다.
SCAMPI는 ARC 요구 사항을 모두 충족하는 평가 방법이다. SCAMPI 평가 결과는 평가된 조직이 승인하면 SEI의 CMMI 웹사이트에 게시될 수 있다. SCAMPI는 또한 ISO 15504, SPICE 프로젝트(소프트웨어 프로세스 개선 및 역량 결정) 평가 등의 수행을 지원한다.
이 접근 방식은 EPG(Engineering Process Group) 및 PAT(Process Action Team) 구성원이 CMMI 교육을 받고, 비공식(SCAMPI C) 평가를 수행하며, 프로세스 영역의 개선 우선 순위를 지정하도록 권장한다. 상용 CMMI 호환 프로세스의 배포와 관련된 더 현대적인 접근 방식은 규정 준수 달성 시간을 크게 줄일 수 있다. 소프트웨어 공학 연구소(SEI)는 초기 소프트웨어 CMM 및 CMMI를 채택한 조직의 "상승 시간"에 대한 통계를 유지해 왔는데, CMMI가 출시된 이후 레벨 1에서 레벨 2로 이동하는 데 걸리는 중간 시간은 5개월이며, 레벨 3으로의 중간 이동은 21개월이다. 이는 과거 CMM 시절(각각 23개월, 20개월)에 비해 단축된 시간이다. 이러한 통계는 6개월마다 성숙도 프로필로 업데이트되어 게시된다.
6. CMMI의 적용 분야 및 효과
능력 성숙도 통합 모델(CMMI)은 조직의 프로세스 개선을 위한 프레임워크로, SEI에 의해 개발되었다.[3] 이는 소프트웨어 개발 과정의 비용, 품질, 일정 등을 개선하고 특정 성숙도 수준에 도달하기 위한 최소한의 기준과 활동을 제시하며, 조직의 비즈니스 목표 달성을 돕는 프로세스 개발 및 개선 지침과 성숙도 평가 기준을 제공한다.[3]
CMMI는 소프트웨어 개발뿐만 아니라 시스템 설계, 하드웨어, 운영 등 SI 사업 전반에 적용될 수 있으며, SCAMPI라는 공식 평가 방법을 통해 조직의 프로세스 수준을 평가한다. 조직은 평가 결과에 따라 성숙도 수준(1~5)이나 역량 수준 프로필을 부여받는다. 평가는 주로 조직 프로세스의 현황 진단, 개선 영역 식별, 외부 이해관계자와의 소통, 계약 요구사항 충족 등을 목적으로 수행된다.
CMMI는 제품 및 서비스 개발, 서비스 구축 및 관리, 제품 및 서비스 획득 등 다양한 영역에 적용될 수 있으며[3], 조직의 공정 및 관리 능력 향상을 목표로 한다. 전 세계적으로 많은 기업이 CMMI를 도입하고 있으며, 프로젝트 참여나 제품 공급의 전제 조건으로 요구되는 경우도 증가하고 있다. 이에 따라 IT 서비스 기업을 포함한 다양한 산업 분야에서 CMMI 적용 및 평가를 추진하고 있으며, 이를 통해 프로세스 개선 및 성과 향상을 기대한다.[19]
6. 1. 적용 분야
능력 성숙도 통합 모델(CMMI)은 본래 소프트웨어 개발 프로세스를 개선하기 위해 시작되었으나, 현재는 다양한 분야에서 조직의 프로세스를 정립하고 개선하기 위한 수단으로 활용된다. CMMI 모델은 조직이 비즈니스 목표를 달성하는 데 필요한 프로세스를 개발하거나 개선하기 위한 지침을 제공하며, 조직의 프로세스 성숙도를 평가하는 프레임워크로도 사용된다.[3]CMMI는 전통적으로 세 가지 주요 관심 분야를 다루었으며, 버전 2.0에서는 이 세 영역이 단일 모델로 통합되었다.
- 제품 및 서비스 개발 (CMMI for Development, CMMI-DEV): 소프트웨어 개발 및 시스템 공학을 포함하여 제품 및 서비스 개발 프로세스의 개선에 중점을 둔다. 여기에는 요구사항 개발(Requirements Development), 요구사항 관리(Requirements Management), 기술 솔루션(Technical Solution), 제품 통합(Product Integration), 검증(Verification), 확인(Validation) 등의 엔지니어링 프로세스 영역 활동이 포함된다.[3] 복잡한 제품 개발 시 특히 유용하다.
- 서비스 구축 및 관리 (CMMI for Services, CMMI-SVC): IT 서비스 관리, 고객 지원, 서비스 수준 관리 등 서비스의 효과적인 구축 및 관리에 적용된다.[3]
- 제품 및 서비스 획득 (CMMI for Acquisition, CMMI-ACQ): 제품이나 서비스를 외부 공급자로부터 획득하는 프로세스를 다룬다. 공급망 관리, 계약 관리, 공급업체 평가 및 선정, 통합 공급자 관리(Integrated Supplier Management) 등이 관련 활동이다.[3]
이 외에도 CMMI는 프로젝트 관리, 리스크 관리, 시스템 조달 등 다양한 영역의 프로세스 평가 및 개선에 활용될 수 있다. 또한, 사용자의 보안 문제를 해결하기 위해 보안 관리, 보안 요구사항 및 기술 솔루션, 보안 검증 및 유효성 검사 등을 다루는 비공식 보안 가이드라인도 제공된다.[17][18]
CMMI는 ISO 9001과 같은 품질 경영 시스템이나 익스트림 프로그래밍(XP), 식스 시그마와 같은 다른 방법론과 결합하여 조직의 특정 요구에 맞게 활용될 수도 있다.
6. 2. 효과
CMMI 도입을 통해 조직은 프로세스 개선을 이루어 다양한 긍정적인 효과를 기대할 수 있다. 일반적으로 프로젝트 일정 준수율 향상, 생산성 증대, 품질 향상, 비용 절감, 고객 만족도 증진 등이 주요 효과로 꼽힌다.[19] SEI는 CMMI를 도입한 60개 조직을 대상으로 한 조사에서 비용, 일정, 생산성, 품질, 고객 만족도 등 여러 영역에서 성과가 개선되었음을 확인했다.[19] 해당 조사에서 성과 향상의 중앙값은 고객 만족도 14%에서 생산성 62%에 이르기까지 다양하게 나타났다.[19]이러한 벤치마킹 효과와 경쟁력 강화 가능성으로 인해 전 세계 많은 기업이 CMMI를 도입하고 있다. 특히 국내외에서 프로젝트 참여나 제품 공급의 전제 조건으로 CMMI 인증 수준을 요구하는 사례가 늘면서, IT 서비스 기업뿐만 아니라 제조, 금융 등 다양한 산업 분야의 기업들이 CMMI 인증 획득을 추진하고 있다.
하지만 CMMI 도입이 모든 조직에 동일한 긍정적 효과를 보장하지는 않는다. CMMI 모델은 주로 '무엇을' 해야 하는지에 대한 가이드라인을 제공하지만, '어떻게' 구체적으로 구현할 것인지에 대한 방법론은 상대적으로 부족하다는 평가가 있다.[19] 또한, 조직의 상황에 맞게 충실히 적용하지 않거나 자원이 부족한 소규모 조직의 경우, 기대했던 만큼의 효과를 얻기 어려울 수 있다.[19] 실제로 일부 국내 기업에서는 고유한 소프트웨어 개발 문화나 CMMI 적용 방식의 차이 등으로 인해 해외 사례만큼 뚜렷한 효과를 보지 못하는 경우도 있는 것으로 분석된다.
7. CMMI와 다른 표준과의 관계
기존의 다양한 소프트웨어 및 시스템 공학 성숙도 모델들은 정의와 표준이 달라 교육, 평가, 개선 활동에 혼란과 추가 비용을 발생시키는 문제가 있었다. 이러한 문제를 해결하기 위해 통합된 모델의 필요성이 제기되었다.
한편, 국제 표준화 기구(ISO)와 국제 전기 표준 회의(IEC)는 ISO/IEC 15504(SPICE)를 소프트웨어 프로세스 개선 및 능력 평가를 위한 국제 표준으로 채택했다. 이러한 국제 표준화 동향은 미국 카네기 멜론 대학의 소프트웨어 공학 연구소(SEI)가 CMMI를 개발하고 배포하는 데 영향을 미쳤다.
8. CMMI에 대한 비판과 한계
CMM/CMMI가 소프트웨어 개발 프로세스 성숙도 모델로 널리 알려지면서 여러 비판도 제기되었다.[29][30]
우선 CMMI가 규정하는 프로세스, 특히 문서 관리 요구사항이 실제 개발 환경과 맞지 않다는 지적이 있다. 예를 들어, 애플, 시만텍, 마이크로소프트와 같은 상용 패키지 소프트웨어 개발 기업 다수는 CMMI 레벨 2 달성에 필요한 수준의 문서를 거의 관리하지 않는 것으로 알려져 있으며, 이 기준대로라면 레벨 1에 해당할 수 있다. 소프트웨어 업계는 다양하고 변화가 많으며, 모든 소프트웨어 개발 방법론에는 지지자와 비판자가 존재한다. 이는 CMMI 모델이 특정 유형의 조직, 특히 정부 계약을 수행하거나 규모가 큰 관료적 조직에 더 적합할 수 있음을 시사한다. 이러한 조직에서는 CMM 감사를 위한 팀을 운영하고 경영진에 보고하는 것이 권장되기도 하지만, 이 과정에서 실제 애플리케이션 소프트웨어 개발이나 고객 요구, 시장 변화 대응보다는 CMM 방식 자체를 준수하는 데 치중하게 될 수 있다는 비판이 있다. 특히 납기가 중요한 프로젝트에서는 CMM의 절차 준수가 오히려 방해가 될 수도 있다.
또한, CMMI를 따른다고 해서 반드시 프로젝트 성공이나 경영 상태 개선이 보장되는 것은 아니다. CMMI는 성공한 조직의 모범 사례를 정리한 것이지, 유효한 개발 조직을 만드는 방법을 직접적으로 제시하지는 않는다. CMMI를 준수하는 것이 본질적인 목표 달성보다 프로세스 자체에 치중하는 형식주의로 흐를 수 있다는 비판도 있다. 예를 들어, 최종 사용자에 대한 서비스 제공보다 예측 가능성을 지나치게 강조할 수 있다는 것이다. 상업적으로 성공한 다른 방법론(예: 래셔널 통합 프로세스)들이 특정 최종 사용자의 요구사항(유스 케이스) 만족에 초점을 맞추는 것과 대조될 수 있다. 실제로 CMMI 레벨 5를 취득한 후에도 경영 실적이 악화된 기업 사례(저스테크, 미쓰비시 전기 정보 시스템즈 등)도 존재한다.
CMMI 인증 과정과 관련해서도 비판이 있다. CMMI 준수를 공식적으로 인증하는 제3자 기관은 없으며, 조직 자체의 검증이나 SEI가 아닌 인증된 리드 어프레이저(Lead Appraiser)에 의한 평가 결과에 의존한다. 이 때문에 CMMI를 법률이나 규칙처럼 반드시 '준수'해야 하는 강제 규정으로 오해하는 경우도 있으나, CMMI는 개선을 위한 참조 모델이지 엄격한 기준은 아니라는 점을 유의해야 한다. 리드 어프레이저의 역할 역시 단순히 레벨을 판정하는 것이 아니라 조직의 프로세스 개선을 촉진하는 데 있다.
국내 기업의 경우, CMMI 도입 효과가 기대만큼 크지 않다는 지적도 있는데, 이는 국내 소프트웨어 개발 문화의 차이나 CMMI 적용 방식의 차이 등에서 기인할 수 있다.
9. 결론 및 향후 발전 방향
CMM/CMMI는 본래 국방 조직이 소프트웨어 하청업체의 역량을 평가하기 위한 기준으로 개발되었다. 이를 통해 하청업체가 정해진 기한과 예산 내에서 요구되는 품질 수준의 소프트웨어를 납품할 수 있는지 검증하고 기술하는 데 성공적으로 기여해왔다.[1] CMMI는 조직의 소프트웨어 개발 성숙도를 객관적으로 평가하는 기준으로 자리 잡았으며, 특히 아웃소싱이나 소프트웨어 개발 외주 시 중요한 판단 도구로 활용된다. 인도, 아일랜드, 이집트 등 여러 국가에서는 CMMI를 자국 기업이 미국 등 선진국의 아웃소싱 계약을 확보하는 데 유리한 기준으로 평가하기도 한다.[2]
CMMI는 단순히 평가 기준을 넘어 조직 차원의 프로세스 개선을 위한 효과적인 틀을 제공한다. 기업은 CMMI를 활용하여 자체적인 프로세스 개선 계획의 우선순위를 설정하고 체계적으로 관리할 수 있다.[3] 개선 초기 단계인 성숙도 레벨 2부터 측정 지표를 활용한 분석을 시작하며, 이를 바탕으로 조직의 비즈니스 목표 달성에 기여하는 실질적인 개선 활동을 추진할 수 있다. 특히 성숙도 레벨 4, 5와 같은 높은 단계에서는 개선 활동의 효과를 정량적으로 파악하고 관리하는 것이 가능하다.[4]
CMMI 평가 과정에는 해당 조직의 구성원들이 평가팀으로 직접 참여하는 것이 특징이다. 이를 통해 조직의 실제 상황에 맞는 정확한 평가 결과를 도출할 수 있으며, 평가에 참여한 구성원들은 프로세스 개선에 대한 이해도를 높이고 향후 조직 내 개선 활동에서 핵심적인 역할을 수행할 인재로 성장하는 기회를 얻게 된다.[5] 결과적으로 CMMI는 조직의 프로세스 관리 능력을 향상시키고 경쟁력을 강화하는 데 유용한 도구로 평가받고 있다.
참조
[1]
웹사이트
CMMI Content Changes. Release: V3.0, 6 April 2023.
https://cmmiinstitut[...]
CMMI Institute
[2]
웹사이트
Trademark Electronic Search System (TESS)
http://tmsearch.uspt[...]
2016-12-21
[3]
간행물
What is CMMI ?
software.gsfc.nasa.g[...]
NASA presentation
2008
[4]
웹사이트
CMMI Institute - Home
http://www.sei.cmu.e[...]
[5]
웹사이트
CMMI V1.3: Summing up
https://www.benlinde[...]
2011-01-10
[6]
웹사이트
CMMI V1.3: Agile
https://www.benlinde[...]
2010-11-20
[7]
웹사이트
CMMI V1.3 Released: High Maturity Clarified
https://www.benlinde[...]
2010-11-02
[8]
웹사이트
CMMI V1.3: Deploying the CMMI
https://www.benlinde[...]
2010-11-16
[9]
웹사이트
CMMI Overview
http://www.sei.cmu.e[...]
Software Engineering Institute
2011-02-16
[10]
웹사이트
CMMI Institute - Core Practice Areas, Categories, and Capability Areas
https://www.cmmiinst[...]
2018-12-15
[11]
웹사이트
CMMI V1.3 Process Areas
https://www.benlinde[...]
2023-09-18
[12]
웹사이트
SEI Web site
http://sas.sei.cmu.e[...]
2007-02-06
[13]
웹사이트
Standard CMMI Appraisal Method for Process Improvement (SCAMPISM) A, Version 1.2: Method Definition Document
http://www.sei.cmu.e[...]
Software Engineering Institute
2006-09-23
[14]
웹사이트
Process Maturity Profile
http://www.sei.cmu.e[...]
2011-02-16
[15]
웹사이트
SEI Digital Library
https://resources.se[...]
2024-02-09
[16]
웹사이트
TSP Overview
https://resources.se[...]
2010-09-13
[17]
문서
Considering the Case for Security Content in CMMI for Services
2010-10
[18]
문서
Security by Design with CMMI for Development, Version 1.3
2013-05
[19]
웹사이트
CMMI Performance Results of CMMI
http://www.sei.cmu.e[...]
2006-09-23
[20]
웹사이트
Scrum and CMMI Level 5: The Magic Potion for Code Warriors
http://jeffsutherlan[...]
[21]
서적
Agile Development Conference (ADC'05)
2005-07-20
[22]
웹사이트
CMMI Roadmaps
https://resources.se[...]
2008-10-31
[23]
웹사이트
CMMI V1.3: The CMMI Project roadmap
https://www.benlinde[...]
2010-12-07
[24]
웹사이트
CMMI V1.3: The CMMI Product and Product Integration roadmaps
https://www.benlinde[...]
2010-12-14
[25]
웹사이트
CMMI V1.3: The CMMI Process and Measurement roadmaps
https://www.benlinde[...]
2010-12-28
[26]
웹사이트
Using CMMI to Improve Earned Value Management
https://resources.se[...]
2022-06-30
[27]
웹사이트
Capability Maturity Model®Integration (CMMI®) Version 1.2 Overview
http://www.sei.cmu.e[...]
SEI
2006-10-28
[28]
웹사이트
What is CMMI? - Worldwide Adoption
http://www.sei.cmu.e[...]
SEI
2006-10-28
[29]
서적
Quality is Free
http://www.wppl.org/[...]
Mc Graw Hill
1979
[30]
서적
Quality is Free (paperback)
http://www.wppl.org/[...]
Mc Graw Hill
1980
[31]
웹사이트
August 2002 edition of CMMI
http://www.sei.cmu.e[...]
SEI
2006-10-28
[32]
웹사이트
A Software Process Immaturity Model
http://www.cs.ucl.ac[...]
University College London
2006-10-28
[33]
웹사이트
The Capability Im-Maturity Model
http://www.stsc.hill[...]
The Air Force Institute of Technology
2006-10-28
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com