软件工程中的能力成熟度模型集成 (CMMI)

2025年3月25日 | 阅读 9 分钟

CMMI

CMMI 是“能力成熟度模型集成”的缩写。能力成熟度模型集成 (CMMI) 是一种过程模型,通过提高生产力、鼓励在项目、产品或服务开发过程中采取高效行为以及改进流程,帮助组织降低风险。

CMMI 由美国国防部和美国政府在卡内基梅隆大学软件工程研究所开发。它最初是作为一种改进流程的工具而创建的。CMMI 是一种过程和行为模型,旨在支持组织开发新产品和服务。它为组织提供了一个可量化的标准,用于衡量其在给定时间点的开发水平。

CMMI 的目标

通过遵循标准模型,CMMI 旨在提高产品或服务质量,同时满足客户期望并提升组织的市场价值。它评估公司在市场中的地位以及投资者的价值。能力成熟度模型集成将众多业务成熟度模型组合到一个单一框架中。

经过多次迭代,CMM 模型得到了完善和扩展,从而演变为 CMMI。最新版本更易于使用且适应各种业务需求,使其变得简单且经济实惠。该工具鼓励企业建立基准,以降低风险,优先考虑质量而非数量,并培养支持 CMMI 的企业文化。

CMMI 的演变

CMMI 是作为一个框架而创建的,旨在整合各种公司成熟度模型。它起源于 1987 年至 1997 年间创建的软件 CMM 模型。2002 年发布了 CMMI 1.1 版,随后于 2006 年和 2010 年分别发布了 1.2 版和 1.3 版。2018 年 3 月,2.0 版取代了 1.3 版。

该模型最初作为软件 CMM 专门为软件工程开发。CMMI 的后续迭代演变为更抽象和广泛适用的框架,可用于任何经济部门的服务、软件和硬件开发。随着 2.0 版的发布,该过程得到了简化;CMMI 以前处理的三个关注领域——产品和服务开发、服务建立以及产品和服务采购——已合并为一个独立的模型。

CMMI 的每个版本都力求比前一个版本更易于企业使用和直观,并且每个模型都旨在更经济实惠且更易于实施或集成。为供应商和销售商设定审查基准、发现和修复流程问题、降低风险以及创建支持 CMMI 模型的企业文化,鼓励企业优先考虑质量而非数量。

CMMI 模型

通过为公司提供持续生产更好产品和服务所需的所有工具,CMMI 旨在帮助他们实现更好的绩效。然而,CMMI 除了是一个过程模型之外,还是一个行为模型。通过创建可量化的基准,企业可以使用 CMMI 来解决绩效改进的后勤问题。然而,CMMI 还可以帮助建立一个框架,以促进整个组织的有效、高效行为。

CMMI 表示

两种 CMMI 表示类型使组织能够实现不同的改进目标。第一种是分阶段表示,它通过预定程序构建改进路径。成熟度级别决定了改进路径。另一方面,连续表示方法侧重于特定的过程领域。能力级别用于评估和增强特定过程领域的进展。

组织可以通过表示方式追求不同的改进目标。对于 CMMI,有两种表示方式:

1. 分阶段表示

  • 使用预先建立的流程区域集定义改进路径。
  • 提供一系列增强功能,每一步都作为后续步骤的基础。
  • 成熟度级别定义了改进路径。
  • 它描述了组织流程的成熟度级别。
  • 分阶段 CMMI 表示的使用促进了不同组织在不同成熟度级别之间的比较。

2. 连续表示

  • 允许选择流程区域。
  • 采用能力级别来衡量特定流程区域的进展。
  • 连续 CMMI 表示使得不同组织之间可以进行按流程区域的比较。
  • 使组织能够选择哪些流程需要进一步改进。
  • 此图显示了可以改进不同流程的顺序,使组织能够实现其目标并降低风险。

CMMI 成熟度级别

根据 CMMI 模型,组织成熟度分为五个级别。使用 CMMI 的公司旨在达到 5 级,即“优化”成熟度级别。企业达到此阶段后仍会继续使用 CMMI。相反,他们优先考虑维护和持续改进。CMMI 模型确定了组织流程成熟度的五个级别。已达到一定成熟度级别的企业需要专注于维护和稳步前进。

0 级:未完成

此时的工作“可能完成也可能未完成”。在此阶段,尚未设定目标,流程要么未完全开发,要么不满足组织要求。

1 级:初始

此时,流程正在概念化。人们认为流程是反应性的和不可预测的。“工作已经完成,但经常延迟并超出预算”。这是企业可能遇到的最糟糕情况——不稳定的环境会增加风险和低效率。

2 级:已管理

在此级别,项目 يتم设计、执行、评估和跟踪。已达到一定程度的项目管理。在此级别,项目“已计划、执行、衡量和控制”,但仍有许多问题需要解决。

3 级:已定义

此级别主要关注定义项目的标准。此时,组织变得不那么被动,而更主动。整个组织都有标准,以“为项目、计划和投资组合提供指导”。公司了解自己的弱点,知道如何解决它们,并知道他们希望在哪里进行改进。

4 级:定量管理

在此阶段,项目处于受控状态,流程提供出色的结果,风险很小。此阶段更受管制和衡量。公司使用定量数据来识别满足利益相关者需求的可靠流程。通过对流程缺陷的更多数据驱动洞察,公司领先于风险。

5 级:优化

在此阶段,流程稳定且适应性强。此时,组织优化资源以实现持续发展。在这种情况下,组织的流程既可预测又适应性强。组织将持续改进并适应新的机遇和变化。由于组织的稳定性,在可预测的环境中具有更高的“敏捷性和创新性”。

CMMI 能力级别

除了成熟度级别,CMMI 中的能力级别还用于评估组织在特定过程领域中的表现以及其流程的发展情况。能力级别是 CMMI 的另一个特征,它评估组织在 CMMI 模型中指定的特定实践领域中的绩效和流程改进。与评估组织的成熟度级别类似,每个级别都建立在前一个级别之上,并且可以为流程和绩效改进提供结构。以下是能力级别列表:

0 级:未完成

在此能力级别,流程不完整,目标未定义,标准未达到。“未能完全实现实践领域意图”且绩效不一致。

1 级:初始

此级别处理特定过程领域的绩效问题。在全面开发一套实践之前,组织开始解决特定实践领域中的绩效问题。

2 级:已监督

在此阶段,流程领域的改进变得更加明显。一套专门针对实践领域改进的全面实践已经到位,并且进展开始显现。

3 级:已定义

这些级别优先考虑流程标准化,并遵守组织标准。针对该实践领域中的项目,制定了一套明确的组织标准,重点是满足项目和组织绩效目标。

4 级:定量管理

正在使用定量方法和统计数据来监控流程。

5 级:增强

在此阶段,组织专注于持续的流程改进。

CMMI 方法论

卡内基梅隆大学的能力成熟度模型集成 (CMMI) 的基础是管理、衡量和优化。应用这些组件的级别称为关键绩效指标 (KPI) 和关键过程领域 (KPA)。

理解和描述围绕业务智能构建的实施和生命周期的业务流程需要几个组件。

业务信息解决方案领域需要发展。要取得成功,实施团队必须精通 BI(商业智能)系统。如果团队希望在未来保持敏捷,就需要采用最佳的跟踪、识别、衡量和优化技术。

CMMI 的最终目标是优化。没有指标、定量测量或 KPI,就不可能进行优化。没有 KPA 或对主要评估领域的描述,就无法实现这些 KPI。

CMMI V2.0 更新

最新 CMMI 版本 2.0 强调绩效、绩效如何影响业务以及如何识别组织的绩效要求。在业务成熟度的每个阶段,都有关于设定和跟踪绩效目标的信息,以确保其实现。2.0 版更无缝地集成了敏捷和 Scrum 流程,并强调安全。如果您的公司已经使用敏捷实践,CMMI V2.0 可以帮助您增强或修改当前对您的公司有效的流程。除了降低总体评估成本外,CMMI V2.0 还旨在加快评估和组织流程。其中包含的技术知识量也减少了,以便非技术行业的人员更容易阅读和理解 CMMI V2.0。此外,在线平台允许用户创建和设计适合组织独特需求的模型。

CMMI 协会还提供了更多关于证明投资回报率的详细信息,使领导者能够说服其他高管。企业可以通过使用 CMMI 中指定的绩效基准和目标,确保所有项目和流程都具有盈利性或成本效益。最新的版本技术术语更少,更新、用户友好和可调整的在线平台和工具,更易于在组织中实施,并将为采用 CMMI 或从 V1.3 迁移到 V2.0 提供指导。它也被翻译成多种语言。

结论

作为软件工程领域知名的框架,能力成熟度模型集成模型 (CMMI) 使企业能够改进其软件开发流程。通过 CMMI 等有组织的方法,软件质量和效率得到提高,流程变得更加成熟和有能力。

CMMI 定义了从初始到优化的五个成熟度级别,表明更高的过程成熟度级别。组织通过解决需求管理、项目规划、测量和分析等过程领域来提升级别,以实现最佳实践。CMMI 除了提供建立流程的清单外,还有助于为测试负责人和经理创造积极的环境。许多实际案例都证明了软件测试及相关领域中流程标准化的好处。

尽管 CMMI 更侧重于测试,但它不是为测试改进而设计的范式。验证和确认是整个开发过程不可或缺的一部分;它们确保产品满足客户期望,增加产品生命周期的范围和可见性,并进行测试。测量、风险管理和测试管理的最佳实践都包含在 CMMI 中。CMMI 的应用广泛,涵盖多个软件工程领域,例如软件采购、系统工程和开发。它提供两种表示形式,连续和分阶段。因此,组织可以选择最适合其需求的形式。

在软件工程中,CMMI 具有许多优势。它能带来更高的客户满意度、更低的成本、更低的风险以及整体卓越的流程。它还提高了产品质量。对客户来说,一个强大的卖点是组织可以通过 CMMI 评估来评估其开发和能力水平。

持续改进是 CMMI 的主要宗旨。它推动组织定期评估和改进其流程,以满足组织的业务需求和行业最佳实践。简而言之,CMMI 是一个革命性的框架,它为软件工程公司提供了生产优秀产品并在不断变化的市场中保持竞争力所需的工具。