CMMI 모델이란?
CMMI는 Capability Maturity Model Integration의 약자로 시스템 및 소프트웨어 개발을 위한 “CMMI 개발(CMMI for Development)”, 서비스를 위한 CMMI 서비스(CMMI for Service)”, 획득을 위한 CMMI 획득(CMMI for Acquisition)”으로 구분됩니다. 이 중, 국내에서 가장 많이 활용되고 있는 CMMI 개발 모델은 성숙도 1단계(Maturity Level 1)부터 5단계(Maturity Level 5)까지 전체 22개 프로세스 영역(Process Area)에 431개 프랙티스(Practices)로 구성되어 있습니다. CMMI 성숙도 2단계와 3단계는 조직차원의 프로세스 표준화와 프로젝트 관리 및 엔지니어링 활동에 초점을 맞추고 있으며, 성숙도 4단계와 5단계는 조직차원의 프로세스 성과를 관리하고 최적화하는 데에 초점을 맞추고 있습니다.
Staged와 Continuous의 차이는 무엇인가?
Staged Representation은 우리말로는 단계적 표현 방법이라고 하고 Continuous Representation은 연속적 표현 방법이라고 합니다. CMMI의 프로세스를 적용하는 접근 방법 상의 차이인데, 먼저 단계적 표현 방법은 각 성숙도 단계에 해당하는 프로세스 영역들을 미리 정의해 놓은 것입니다.
[성숙도 단계별 프로세스 영역]
이렇게 성숙도 단계별로 프로세스 영역들을 정의해 놓은 이유는 프로세스를 구축하고 이행함에 있어 우선순위나 순서를 정해둔 것입니다. 어떤 조직에서 새롭게 프로세스를 도입하고자 할 때 혹은 현재 사용하는 프로세스가 있으나 개선하고자 할 때 최적화된 프로세스를 모두 한 번에 도입하면 좋겠지만 과도한 비용이나 인력이 필요할 수도 있고 조직 내의 변화 관리가 힘들 수도 있기 때문에 우선적으로 적용해야 하는 프로세스들을 정의해둔 것입니다. 이는 CMMI의 전신인 SW-CMM이 개발될 때부터 가지고 있는 특징 중 하나입니다.
“우리 회사는 CMMI 레벨 3 인증을 받았어”라고 얘기한다면 성숙도 2단계와 3단계에서 요구하는 18개의 모든 프로세스 영역을 충족했다는 의미입니다. 물론 성숙도 2단계에 포함되어 있는 “공급자 협약관리” 프로세스 영역은 만약 해당 조직에 공급자가 없는 경우 적용에서 제외될 수 있습니다.
다음으로 연속적 표현 방법은 SW-CMM에서 채택되지 않았었는데, CMMI로 변경되면서 채택된 또 다른 표현 방법입니다. 연속적 표현 방법은 각 프로세스 영역별로 능력 수준(Capability Level)에 대한 평가가 가능합니다. 단계적 표현 방법은 각 성숙도 단계별로 프로세스 영역이 미리 정해져 있지만 연속적 표현 방법은 해당 조직에서 임의로 프로세스 영역을 선택할 수 있습니다. 이러한 특징 때문에 특정 프로세스 영역에 대한 진단이나 개선을 수행하고 싶을 경우 사용할 수 있는 표현 방법입니다.
[연속적 표현방법 표]
다만 한가지 주의해야 할 것은 연속적 표현 방법으로는 3단계까지만 심사가 가능하다는 것입니다. 만약 4단계와 5단계에 대해 심사를 수행하고자 한다면 결국은 단계적 표현 방법이 사용되어야 합니다. 이는 CMMI버전 1.3이 발표되면서 변화된 요건 중 하나입니다.
CMMI 적용의 장점은 무엇인가?
컨설팅 실무를 수행하면서 가장 많이 받는 질문 중 하나가 “CMMI를 적용할 경우 뭐가 좋아지냐?” 입니다.
정해진 답은 없겠지만 CMMI를 적용하면 최소한 다음 세 가지 이점이 있는 것은 분명합니다.
첫째, 프로세스 개선을 위한 로드맵을 가질 수 있다는 것입니다. 조직 내에 적절한 프로세스가 없다는 말은 누구나 할 수 있지만 어떤 프로세스를 어떻게 구축하고 개선해 나가야 하는지에 대해서는 자신 있게 말하기 쉽지 않습니다. 이런 경우에 CMMI가 제공하는 성숙도 단계별 프로세스들을 단계적으로 적용해 나갈 수 있습니다. 먼저 관리를 위한 프로세스를 정립하여 적용하고 다음으로 엔지니어링 활동을 위한 프로세스들을 정립하여 적용하는 것입니다. 이러한 활동이 안정화되면 각 프로세스를 통해 수집된 데이터를 수집 분석하여 정량적으로 프로젝트를 관리하고 성과를 관리하면서 지속적인 개선 활동을 수행하면 됩니다.
둘째, 모범 사례(Best Practice)를 활용할 수 있다는 것입니다. 첫 번째 설명한 장점의 연장선상이라고 할 수도 있겠습니다. CMMI를 흔히 모범 사례를 모아 놓은 것이라고 얘기합니다. 이는 여러 선진 기업들이 대규모 시스템 공학 사업들을 수행하면서 잘 된 사례들을 바탕으로 모델을 만들었다는 의미입니다. 회사에서 프로세스를 구축할 때 우리에게 가장 잘 맞는 프로세스를 회사 핵심 관계자들이 모여 한번 해서 구축할 수 있다면 얼마나 좋겠습니까? 그렇지만 프로세스를 구축하고 적용하는 일이 말처럼 쉬운 것은 아닙니다. 우리가 책을 읽고 교육을 받는 것처럼 직접 경험해보지 못한 일들을 간접적으로나마 들어보고 알 수 있다면 많은 도움을 받을 수 있습니다. 이와 마찬가지로 수만 가지 방법으로 프로세스를 구축해 보지 않더라도 정답과 유사한 프로세스를 구축할 수 있고 실제 적용하면서 보완을 통해 우리 조직에 최적화된 프로세스를 구축할 수 있어 실패 비용을 줄일 수 있습니다.
셋째, 주기적으로 개선기회를 발굴하고 개선해 나갈 수 있다는 것입니다. 이는 CMMI를 적용하면서 단순히 프로세스를 구축하고 끝나는 것이 아니라 주기적으로 프로세스 이행상태를 점검하는 내부심사와 공식심사를 병행하게 되기 때문에 프로세스의 문제점을 찾고 보완해 나갈 수 있다는 것입니다.
위에서 말씀 드린 이런 장점들은 단순히 CMMI를 적용한다고 얻어지는 것은 아닙니다. 조직 내에 효율적인 프로세스를 구축하기 위해서는 어떤 표준이나 모델보다도 전 구성원의 관심과 참여가 필요함을 잊어서는 안되겠습니다.
CMMI L2, L3를 준비하려면 무엇을 해야 하나요?
1. CMMI 성숙도 2단계 달성하기
CMMI 성숙도 2단계를 달성하기 위해서는 조직의 각 프로젝트에서 정책에 따라 계획이 수립되고 계획에 따라 작업이 수행되어야 합니다. 계획에 따라 업무가 수행되고 산출물을 생산하기 위해 숙련된 적절한 인원들이 할당되고 이 인원들의 작업 과정과 결과는 적절하게 모니터링되고 통제되어야 합니다. CMMI에서는 이를 “관리되는 프로세스(Managed Process)”라 하며, 프로젝트 관리 측면에서 아래 7가지 프로세스 영역에 대한 계획과 모니터링 및 통제가 되어야 합니다.
2. CMMI 성숙도 3단계 달성하기
CMMI 성숙도 3단계가 성숙도 2단계와 다른 점은 조직 차원에서 표준 프로세스 세트(Organizational Set of Standard Process, OSSP)를 보유하고 있다는 점입니다. 또한 각 프로젝트에서는 프로젝트 특성에 따라 테일러링이 수행되고 프로세스 관련 경험이 자산으로 축적 및 활용되어야 합니다. 이를 “정의된 프로세스(Defined Process)”라고 합니다. CMMI 성숙도 3단계를 달성하기 위해서는 CMMI 성숙도 2단계의 7개 프로세스 영역에 추가로 다음의 11개 프로세스 영역을 충족해야 합니다.
CMMI L2, L3를 준비 시 어려운 점은 어떤 것이 있나요?
CMMI의 성숙도 2단계나 3단계를 달성하기 위해서는 여러모로 어려운 점들이 많이 있습니다. 그 중 크게 4가지 정도를 뽑아 보면 다음과 같습니다.
1) 프로세스 개선에 대한 명확한 목적 및 경영진의 확고한 후원 먼저 프로세스 개선의 명확한 목적을 가지고 CMMI의 성숙도 달성을 준비해야 합니다. 성공한 기업은 명확한 비전과 사업목표를 가지고 있으며 경영진 및 전 조직원이 이를 공유하고 목표 달성을 위한 활동을 일관성 있게 추진합니다. CMMI의 성숙도 달성도 마찬가지로 명확한 목적을 설정하고 추진되어야 합니다. 그렇지 못한 기업들은 CMMI를 적용하는 자체가 고난이 되는 경우가 많습니다. 설령 원하는 성숙도 단계에 도달하여 인증을 받게 되면 더 이상 개선활동을 수행하지 않게 됩니다. 이를 위해서는 CMMI 성숙도 2단계나 3단계 추진 시작 시점부터 지속적인 경영진의 지원과 관심(때로는 보상, 때로는 문책)이 필요합니다.
2) 절대 시간의 확보 CMMI 성숙도 단계를 달성하기 위해서는 절대 시간이 필요합니다. 특히 CMMI 성숙도 3단계 이상일 경우가 그렇습니다. CMMI 성숙도 3단계를 달성하기 위해서는 조직 표준 프로세스 세트가 확보됨은 물론이고 조직 측면에서 프로세스 자산(개선 정보, 측정 레포지토리 등) 체계가 수립되고 이를 활용하여 지속적인 프로세스 개선 활동이 이뤄져야 합니다. 이를 위해서는 기업의 현재 수준에 따라 다르지만 최소한 1년 이상의 기간이 필요합니다.
3) 적정한 인적 자원 필요 CMMI 성숙도 단계를 달성하기 위해서는 품질 및 프로세스 개선 전담조직이 필요합니다. CMMI 성숙도 2단계를 달성하기 위해서는 “프로세스 및 제품 품질보증(PPQA)” 프로세스 영역을 수행할 독립적인 품질조직 및 인력이 필요합니다. 많은 기업들이 제품 측면의 품질(QC) 인력은 보유하고 있으나, 프로세스 및 제품 모두에 대한 품질을 확보하기 위한 평가 활동을 수행할 인원은 확보하고 있지 못한 경우가 많습니다. CMMI 성숙도 3단계를 달성하기 위해서는 지속적으로 프로세스 개선 활동을 수행할 관련 인원(Engineering Process Group, EPG)이 필요합니다. 프로세스 개선 활동을 처음 시도하는 조직의 경우 항상 갖게 되는 어려움 중의 하나가 개선 활동을 수행할 인원의 확보입니다. 지속적인 프로세스 개선 활동을 위해 전담조직을 구성하는 것이 바람직하나, 비용적인 어려움 등으로 인해 주로 기획부서나 품질부서 인원들로 하여금 기존 업무와 병행하며 개선 활동을 수행토록 하는 경우가 많습니다. 원활한 CMMI 성숙도 단계 달성을 위해서는 적절한 인원 확보가 필요합니다.
4) 조직원의 역량 강화 및 내재화 CMMI가 다른 프로세스 개선 모델과 달리 유독 강조하고 있는 것이 내재화(Institutionalization)입니다. 일부 인원들이 준비하여 간단한 산출물 점검 및 소수 담당자와의 면담을 통해 인증을 받는 다른 모델과는 달리 CMMI는 산출물뿐만 아니라 프로젝트 인력(프로젝트 관리자, 개발자, 측정 담당자, 형상관리 담당자 등)과 지원 인력(전사 교육 담당자, 계약 담당자, 프로세스 개선 담당자, 품질보증 담당자 등)들과 같은 다양한 이해 관계자들과의 인터뷰 심사를 통해 해당 조직의 내재화 수준을 확인하기 때문에 무엇보다 프로세스 내재화가 중요합니다. 이를 위해서 적절하고 효율적인 전문교육을 통한 조직원의 역량강화가 필요하며, 개선된 프로세스가 잘 이행되고 내재화 될 수 있도록 적용 시간 확보는 물론 전문지식을 보유하고 있는 인력에 의해 정기적이고 지속적인 점검이 요구됩니다.
심사 방법 및 기준은 무엇이며, 심사 소요 시간은?
CMMI를 기준으로 하는 공식 심사 방법은 SCAMPI(Standard CMMI Appraisal Method for Process Improvement)이며, 심사 기준은 각 프로세스 영역의 고유 목적(Specific Goal, SG)과 공통 목적(Generic Goal, GG)을 모두 충족해야 합니다. 즉, CMMI 성숙도 2단계는 7개, 성숙도 3단계는 18개, 성숙도 4단계는 20개, 그리고 마지막으로 성숙도 5단계는 총 22개 프로세스 영역이 보유하고 있는 고유 목적과 공통 목적 모두를 충족해야 합니다. 심사는 예비 심사와 본 심사로 구분되는데 소요 기간은 심사 대상 조직 규모에 따라 차이가 있기는 하지만 일반적으로 성숙도 2단계는 예비심사 4일에 본 심사 5일 정도가 소요되며 성숙도 3단계는 예비심사 5일에 본 심사 7일 정도가 소요됩니다. 성숙도 4단계와 5단계는 예비심사 10일에 본 심사 10일 정도 소요된다고 보시면 됩니다.
심사원 구성 및 조건은?
공식 심사를 수행하기 위한 심사 팀 구성 인원은 CMMI 선임 심사원 1명이 심사 팀 리더로 참여하고, 최소 3명 이상의 심사 팀원을 포함한 전체 4명 이상으로 구성이 됩니다. 그러나 성숙도 3단계 이상의 경우에는 심사 대상 프로세스 영역이 많아 지기 때문에 보통 6~7명 정도로 심사 팀을 구성하는 것이 좋습니다. 심사팀원이 되기위한 조건은 다음과 같습니다.
[심사 구성원 조건]
인증 유효기간은?
CMMI 연구소(CMMI Institute) 사이트 (https://sas.cmmiinstitute.com/pars/pars.aspx)에서 인증 결과를 조회할 수 있으며 인증 유효기간은 심사 완료일로부터 3년입니다.
SP 인증과 CMMI 차이점은?
소프트웨어 프로세스 품질인증(이하 SP 인증)이란 소프트웨어 개발의 품질을 확보하기 위해 CMMI를 기반으로 국내에서 만든 품질 인증 기준입니다. SP 인증은 CMMI를 기반으로 만들어졌기 때문에 내용이 CMMI와 유사합니다. 차이점이 있다면, 국내 환경에서는 무의미하다고 판단되는 내용을 일부 삭제하거나 조정하였습니다. 다음은 CMMI의 성숙도 단계와 SP 인증의 단계를 비교한 것입니다.
[CMMI 성숙도 단계와 SP인증 단계의 비교]
파란색: SP 인증의 2단계 / 녹색: SP 인증의 3단계 / 검은색: SP 인증에서 삭제되거나 조정
SP인증은 1등급, 2등급, 3등급으로 구분됩니다. 1등급은 개인에 의해 업무가 좌우되는 상태를 말합니다. 2등급은 프로젝트 별로 정의된 프로세스를 통하여 업무를 수행하고, 관리되는 조직을 말합니다. 3등급은 조직차원에서 프로젝트가 관리되고 개선되는 조직을 말합니다. 다음은 SP 인증의 세부 사항을 정리한 표입니다.
[SP 인증의 영역별 평가 항목]
SP 인증 절차 및 심사 비용은?
SP 인증을 받기 위해서는 우선 주관기관인 정보통신산업진흥원 부설 소프트웨어공학센터에 인증심사 신청을 한 후에 계약을 체결하고 SP 인증 심사원이 방문하여 현장심사 후, 인증심의회에서 통과되면 인증을 받게됩니다.
[SP 인증 절차]
심사비용은 신청관리비, 인증심사비, 직접경비로 구분되며, 신청관리비는 인증신청 시에 납부하고 계약 체결 시에는 인증심사비를 그리고 인증이 완료되면 직접비를 납부하시면 됩니다. 정보통신진흥원에서 SP 인증 활성화를 도모하기 위해 2013년부터 인증을 받은 기업에 대해 당해 년도 예산 소진 시까지 인증심사비 50%를 지원합니다.
[SP 인증 심사비용 설명]