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等手段进行。