CMM(Capability Maturity Model)

软件过程能力成熟度模型


一、第一性原理:CMM 在解决什么根本问题

1. 软件工程的核心不确定性

软件工程的根本难题并不在于“是否能写出代码”,而在于:

组织是否具备稳定、可预测、可持续地产出软件产品的能力。

当组织缺乏这种能力时,常见现象包括:

这是一种组织层面的不确定性,而非技术问题。


2. CMM 的本质定义(第一性原理)

CMM 是一个用于衡量和提升组织“软件过程能力”的成熟度模型。

其中:

CMM 并不关注:

它真正关注的是:


二、成熟度演进的核心主轴(抽象模型)

CMM 的五个等级并不是经验枚举,而是沿着稳定的能力演进主轴展开。

1. 组织能力演进的四条主轴

演进维度低成熟度高成熟度
控制方式经验驱动数据 / 模型驱动
组织依赖个人能力系统能力
管理形态事后救火过程内控制
改进机制被动纠错主动学习与优化

成熟度提升的本质,是组织从“人治”走向“系统治理”


2. 成熟度中的关键质变节点

成熟度不是线性堆叠,而存在关键跃迁:

  1. **1 → 2:从混乱到可控**
  2. **3 → 4:从规范到可预测(核心质变)**
  3. **4 → 5:从控制到学习**

三、五级成熟度模型(结构化解析)

Level 1:初始级(Initial)

组织特征

本质判断

组织尚未具备“过程能力”,只有“个体能力”。


Level 2:可重复级(Repeatable)

组织特征

能力本质

组织具备了“项目级稳定性”。


Level 3:已定义级(Defined)

组织特征

能力本质

组织具备“组织级过程一致性”。

注意:此阶段仍以定性管理为主。


Level 4:已管理级(Managed)

组织特征

能力本质(关键跃迁)

组织首次具备可预测的软件生产能力

这是从“规范执行”到“科学管理”的质变。


Level 5:优化级(Optimizing)

组织特征

能力本质

组织成为一个持续学习和自我进化的系统


四、关键认知澄清与常见误区

1. CMM 不是“流程越多越高级”

2. CMM 是组织模型,而不是项目模型

3. 并非所有组织都需要追求五级


五、时代背景与现代工程方法的关系

1. CMM 的历史定位

2. 与敏捷 / DevOps 的关系

CMM 关注敏捷 / DevOps 关注
过程稳定性反馈速度
可预测性快速适应
组织治理团队自治

冲突的不是模型本身,而是教条化执行方式


六、抽象总结:CMM 的长期价值

CMM 的真正价值不在于“五个等级”,而在于它揭示了一条普适规律:

任何复杂组织,只有将成功从“人”中抽离,沉淀为“系统能力”,才能获得长期稳定性。

这一规律同样适用于:

关联内容(自动生成)