能力成熟度模型(Capability Maturity Model,英文缩写为CMM)是一种开发模型。CMM的基本思想是,软件问题是由我们管理软件过程的方法引起的,改进的过程将会生产出质量更好的软件。CMM的目标是改善现有软件开发过程,也可用于其它过程。它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护过程进行监控和研究。
CMM等级
能力等级
|
特点
|
关键过程
|
第一级 初始级(最低级)
|
软件工程管理制度缺乏,过程缺乏定义、混乱无序。成功依靠的是个人的才能和经验,经常由于缺乏管理和计划导致时间、费用超支。管理方式属于反应式,主要用来应付危机。过程不可预测,难以重复。
|
|
第二级 可重复级
|
基于类似项目中的经验,建立了基本的项目管理制度,采取了一定的措施控制费用和时间。管理人员可及时发现问题,采取措施。一定程度上可重复类似项目的软件开发。
|
需求管理,项目计划,项目跟踪和监控,软件子合同管理,软件配置管理,软件质量保障
|
第三级 已定义级
|
已将软件过程文档化、标准化,可按需要改进开发过程,采用评审方法保证软件质量。可借助CASE工具提高质量和效率。
|
组织过程定义,组织过程焦点,培训大纲,软件集成管理,软件产品工程,组织协调,专家审评
|
第四级 已管理级
|
针对制定质量、效率目标,并收集、测量相应指标。利用统计工具分析并采取改进措施。对软件过程和产品质量有定量的理解和控制。
|
定量的软件过程管理和产品质量管理
|
第五级 优化级(最高级)
|
基于统计质量和过程控制工具,持续改进软件过程。质量和效率稳步改进。
|
缺陷预防,过程变更管理和技术变更管理
|
本质:量化目标,将达成目标的各个阶段流程化、规范化、度量目标工具化,并持续改进过程!