CMM(역량 성숙도 모델) 및 소프트웨어 엔지니어링 수준
CMM이란 무엇입니까?
역량 성숙도 모델은 조직의 소프트웨어 프로세스 성숙도를 측정하기 위한 벤치마크로 사용됩니다.
CMM은 80년대 후반 소프트웨어공학연구소에서 개발되었습니다. 하청업체의 작업을 평가하는 방법으로 미 공군의 자금을 지원받은 연구 결과로 개발되었습니다. Later 소프트웨어 개발의 성숙도를 평가하기 위해 1991년에 만들어진 CMM-SW 모델을 기반으로 하며, 다른 여러 모델이 CMM-I와 통합되어 있습니다.
CMM(역량 성숙도 모델) 수준이란 무엇입니까?
- 처음의
- 반복 가능/관리됨
- 한정된
- 양적 관리
- 최적화
CMM의 다양한 수준에서는 어떤 일이 발생합니까?
레벨 | 활동 | 장점 |
---|---|---|
레벨 1 초기 |
|
없음. 프로젝트는 Total Chaos입니다. |
레벨 2 관리 |
|
|
레벨 3 정의 |
|
|
레벨 4 정량적으로 관리됨 |
|
|
레벨 5 최적화 |
|
|
다음 다이어그램은 다양한 CMM 수준에서 발생하는 일을 그림으로 표현한 것입니다.
CMM을 구현하는 데 시간이 얼마나 걸리나요?
CMM은 모든 소프트웨어 개발 회사의 제품 품질을 유지하는 데 가장 바람직한 프로세스이지만 구현에는 예상보다 시간이 조금 더 걸립니다.
- CMM 구현은 하루아침에 이루어지지 않습니다.
- 이는 단순한 '서류'가 아닙니다.
- 일반적인 구현 시간은 다음과 같습니다.
- 3-6 개월 -> 준비를 위해
- 6-12 개월 -> 구현을 위해
- 3 개월 -> 평가 준비를 위해
- 12 개월 ->새로운 레벨마다
CMM의 내부 구조
CMM의 각 레벨은 다음과 같이 정의됩니다. 핵심 프로세스 영역 또는 KPA, 레벨 1을 제외하고. 각 KPA는 관련 활동의 클러스터를 정의하며, 이를 함께 수행하면 소프트웨어 역량 개선에 필수적인 것으로 간주되는 목표 집합을 달성합니다.
다양한 CMM 레벨의 경우 KPA 세트가 있습니다. 예를 들어 CMM 모델-2의 경우 KPA는 다음과 같습니다.
- REQM - 요구사항 관리
- PP- 프로젝트 기획
- PMC- 프로젝트 모니터링 및 제어
- SAM - 공급업체 계약 관리
- PPQA 프로세스 및 품질 보증
- CM-구성 관리
마찬가지로 다른 CMM 모델의 경우 특정 KPA가 있습니다. KPA 구현이 효과적이고 지속 가능하며 반복 가능한지 알아보려면 다음 기준에 따라 매핑합니다.
- 수행하겠다는 약속
- 수행능력
- 활동 수행
- 측정 및 분석
- 구현 확인
CMM 모델의 한계
- CMM은 프로세스를 구현하는 방법 대신 프로세스에서 해결해야 할 사항을 결정합니다.
- 소프트웨어 프로세스 개선의 모든 가능성을 설명하지는 않습니다.
- 소프트웨어 문제에 집중하지만 전략적 사업 계획, 기술 채택, 제품 라인 구축 및 인적 자원 관리는 고려하지 않습니다.
- 조직이 어떤 종류의 사업을 해야 하는지 알려주지 않습니다.
- 현재 위기에 처한 프로젝트에는 CMM이 유용하지 않을 것입니다.
CMM을 사용하는 이유는 무엇입니까?
오늘날 CMM은 소프트웨어 업계에서 "승인 도장" 역할을 합니다. 이는 소프트웨어 품질을 향상시키는 데 다양한 방법으로 도움이 됩니다.
- 반복 가능한 표준 프로세스를 안내하므로 작업 수행 방법에 대한 학습 시간이 줄어듭니다.
- CMM을 실천한다는 것은 개발을 위한 표준 프로토콜을 실천한다는 것을 의미합니다. 이는 팀이 시간을 절약하는 데 도움이 될 뿐만 아니라 무엇을 해야 하고 무엇을 기대하는지에 대한 명확한 시각을 제공한다는 의미입니다.
- 양질의 활동은 별도의 이벤트로 생각되기보다는 프로젝트와 잘 어울립니다.
- 프로젝트와 팀 사이의 통근자 역할을 합니다.
- CMM의 노력은 항상 프로세스 개선을 향한 것입니다.
요약
CMM은 하청업체의 작업을 평가하기 위해 80년대 후반 미 공군에서 처음 도입되었습니다. Later on, 개선된 버전에서는 소프트웨어 개발 시스템의 품질을 추적하기 위해 구현되었습니다.
전체 CMM 레벨은 XNUMX개 레벨로 나누어집니다.
- 레벨 1 (초기): 시스템 요구사항이 일반적으로 불확실하고, 오해되고, 통제되지 않는 경우. 프로세스는 일반적으로 혼란스럽고 임시적입니다.
- 레벨 2 (관리): 프로젝트 비용, 일정, 기능을 추정합니다. 소프트웨어 표준이 정의됩니다
- 레벨 3 (정의됨): 제품이 요구 사항 및 사용 목적을 충족하는지 확인합니다.
- 레벨 4 (Quantitatively Managed): 프로젝트의 프로세스와 하위 프로세스를 통계적으로 관리합니다.
- 레벨 5 (성숙도): 요구 사항과 비즈니스 목표를 충족하기 위해 새로운 도구와 프로세스 개선 사항을 식별하고 배포합니다.