软件能力成熟度模型Software Capability Maturity Model,CMM
定义
软件能力成熟度模型(Software Capability Maturity Model,简称 CMM 或 SW-CMM)是一种用于评估、改进和定义软件组织的软件过程成熟度的标准框架。
它提供了一种结构化的路径,帮助组织识别其软件开发和维护过程中存在的问题,设定改进目标,并通过持续的过程改进逐步提升其软件开发能力、效率、质量和可靠性。
起源与发展
CMM的研究始于1986年,由美国卡内基·梅隆大学软件工程研究所(Software Engineering Institute, SEI)应美国联邦政府评估软件供应商能力的需求而发起。
1991年,SEI推出了最初的SW-CMM 1.0版本。
1993年,正式发布了SW-CMM 1.1版,该模型迅速在全球范围内被广泛接受并作为评估软件组织成熟度的权威标准。
随着时间的推移,CMM理念不断发展,衍生出了CMMI(Capability Maturity Model Integration)等更全面和灵活的模型。
成熟度等级
- 初始级(Level 1:Initial): 过程无序、混乱,项目的成功高度依赖个人努力和个别关键人员。过程缺乏定义,结果不可预测。
- 可重复级(已管理级)(Level 2:Repeatable): 组织开始建立基本的项目管理过程,能够在类似项目中重复以往的成功经验。已具备基本的项目规划、跟踪和控制能力。
- 定义级(Level 3:Defined): 组织建立了标准化、文档化的软件开发过程,并适用于整个组织。所有项目均遵循已定义的、组织级的、一致的软件生命周期过程。
- 量化管理级(Level 4:Managed): 组织不仅对过程进行定义,而且对其执行进行量化管理,利用统计和量化方法来控制软件过程,可以预测过程性能并有效地管理项目风险。
- 优化级(Level 5:Optimizing): 组织持续改进其过程性能,基于定量反馈和过程变更机制,通过技术创新和过程改进实现持续优化。关注组织的整体绩效,追求卓越和适应市场变化的能力。