SEI CMMI - 概述

流程改进是持续改进。我们永远无法达到完美。在本教程中,我们将学习 CMM,这是一个不断发展和改进的模型,其重点始终是做得更好。我们的范围应该始终超出我们的掌握范围。

什么是 CMM?

  • CMM 代表能力模型饱和度模型。

  • 关注来自各种知识体系的基本实践和流程的要素。

  • 描述常识性、高效、经过验证的业务开展方式(您应该已经在做了)−不是一种激进的新方法。

  • CMM 是一种评估和衡量组织软件开发过程成熟度的方法。

  • CMM 以 1 到 5 的等级衡量软件开发过程的成熟度。

  • CMM v1.0 由美国匹兹堡卡内基梅隆大学的软件工程研究所 (SEI) 开发。

  • CMM 最初是为软件开发和维护而开发的,但后来为 − 而开发。

    • 系统工程

    • 供应商采购

    • 集成产品和流程开发

    • 人员 CMM

    • 软件收购

CMM 示例

  • 人员 CMM − 培养、激励和留住项目人才。

  • 软件 CMM −增强以软件为中心的开发和维护能力。

什么是成熟度?

定义各不相同,但成熟的流程通常被认为是−

  • 定义明确,

  • 可重复,

  • 可测量,

  • 可分析,

  • 可改进,并且

  • 有效。

糟糕但成熟的流程与完全不成熟一样糟糕!

CMM 通过定义一组实践并提供改进它们的通用框架来帮助解决成熟度问题。 CMM 的重点是确定关键过程领域和可能构成规范软件过程的典型实践。

不成熟与成熟组织

不成熟的组织具有以下特征 −

  • 项目期间即兴的流程

  • 忽略已批准的流程

  • 被动,不主动

  • 不切实际的预算和进度

  • 为进度牺牲质量

  • 没有客观的质量衡量标准

相比之下,成熟组织的特征如下 −

  • 团队间沟通与协调

  • 按计划完成工作

  • 与成熟组织一致的实践流程

  • 根据需要更新流程

  • 明确定义角色/职责

  • 管理层正式承诺

什么是 CMMI?

CMM 集成项目的成立是为了解决使用多个 CMM 的问题。CMMI 产品团队的使命是将三个源模型合并为一个单一的改进框架,供追求企业范围流程改进的组织使用。这三个源模型是−

  • 软件能力成熟度模型 (SW-CMM) - v2.0 草案 C。

  • 电子工业联盟临时标准 (EIA/IS) - 731 系统工程。

  • 集成产品开发能力成熟度模型 (IPD-CMM) v0.98。

CMM 集成

  • 构建一组初始集成模型。

  • 根据经验教训改进源模型的最佳实践。

  • 建立一个框架以实现未来模型的集成。

CMM 和 CMMI 之间的区别

CMM 是成熟的参考模型特定学科的实践,如系统工程 CMM、软件 CMM、人员 CMM、软件采购 CMM 等,但它们很难在需要时进行集成。

CMMI 是 CMM 的后继者,并发展成为一套更成熟的指导方针,并结合了 CMM(软件 CMM、人员 CMM 等)各个学科的最佳组成部分。它可以应用于产品制造、人员管理、软件开发等。

CMM 仅描述软件工程,而 CMM Integrated 则描述软件和系统工程。CMMI 还结合了集成过程和产品开发以及供应商采购。

CMMI 和业务目标

CMMI 的目标非常明显。它们如下 −

  • 生产优质产品或服务 − CMMI 模型中的过程改进概念源自戴明、朱兰和克罗斯比质量范式:优质产品是优质过程的结果。CMMI 非常重视与质量相关的活动,包括需求管理、质量保证、验证和确认。

  • 为股东创造价值 − 成熟的组织比成熟度较低的组织更有可能做出更好的成本和收入估算,然后按照这些估算执行。CMMI 支持优质产品、可预测的时间表和有效的测量,以支持管理层做出准确且合理的预测。这种过程成熟度可以防止项目绩效问题,这些问题可能会削弱组织在投资者眼中的价值。

  • 提高客户满意度 − 使用经过客户需求验证的高质量产品来满足成本和进度目标是实现客户满意度的良好公式。 CMMI 通过强调规划、监控和测量,以及更强大的流程带来的可预测性来解决所有这些问题。

  • 增加市场份额 − 市场份额取决于许多因素,包括优质产品和服务、品牌识别、定价和形象。客户喜欢与有信守承诺声誉的供应商打交道。

  • 获得行业范围内的卓越认可 − 树立卓越声誉的最佳方法是始终如一地在项目中表现出色,在成本和进度参数范围内提供优质产品和服务。拥有符合 CMMI 要求的流程可以提高这一声誉。