CMM描述了五個級別的軟件過程成熟度(初始級 可重複級 已定義級 已管理級 優化級,成熟度反映了軟件過程能力(Software Process Capability)的大小,任何一個軟件機構的軟件過程必定屬於其中某個級別。除了第一級以外,每級成熟度又由若干關鍵過程域(Key Process Area)構成。
CMM2包括六個KPA:
需求管理(Requirements Management)
客戶的需求是軟件項目的基礎。軟件需求管理的目的是在客戶和軟件項目之間達成對客戶需求的一致理解。
軟件項目計劃(Software Project Planning)
爲軟件工程和項目管理建立一個合理的計劃。
軟件項目的跟蹤和監督(Software Project Tacking and Oversight)
使管理者對實際的軟件項目進展過程有足夠的瞭解,以在項目效能偏離計劃太多是採取有效措施。
軟件子合同管理(Software Subcontract Management)
選擇合格的分包商,並有效管理之。
軟件質量保證(Software Quality Assurance)
對軟件項目過程及其間生產的各個產品進行監管以保證最終軟件質量。
軟件配置管理(Software Configuration Management)
在整個軟件生命週期裏建立並維護軟件項目的工作產品的完整性。
CMM3比CMM2多七個KPA:
機構過程關注(Organization Process Focus)
確立機構對於改進機構的軟件過程能力的軟件過程活動的責任。
機構過程定義(Organization Process Definition)
開發和維護一組有用的軟件過程assets和提供一個用於定義定量過程管理的有意義的數據的基礎
培訓計劃(Training Program)
開發個體的技能和知識以使他們能夠更加有效的完成他們的角色
集成軟件管理(Integrated Software Management)
基於業務環境和項目的技術需要,從機構的標準軟件過程和相關的過程assets經過剪裁,將軟件工程和管理活動集成爲一個有機的定義的軟件過程。
軟件產品工程(Software Product Engineering)
一致地完成定義良好的工程過程。它描述了項目的技術活動,如需求分析,設計,編碼和測試。
組間協調(Intergroup Coordination)
確立軟件工程組主動介入其它工程組以便項目能更好滿足客戶要求的手段
同行評審(Peer Reviews)
早而且有效的排除軟件工作產品中的缺陷。它可通過inspection,structured walkthrough等手段進行。