【每日一学 20260527】敏捷之道——共生共存的CMMI与敏捷

2026-05-27 10:38:00
蓉蓉
原创
8

CMMI是用来评价组织级开发能力的模型,是指导组织持续进行过程改进的模型,它给出了过程改进的路线图。美国国防部是全球最大的甲方,在80年代末,为评价软件开发商的能力,它投资的卡内基梅隆大学软件工程研究所开发了CMM模型,后来演进为CMMI模型。它是采购方用来评价开发方能力的模型,出发点是站在开发组织的外部评价开发能力。


2001年17位软件开发的专家起草了敏捷宣言,正式宣告敏捷方法的诞生。它是开发方为了快速交付高质量、高价值的产品、快速响应市场需求而产生的方法。CMMI与敏捷产生的背景不同,导致两者在目标定位方面存在如下的差异:

1.CMMI给出了做什么,敏捷给出了怎么做

CMMI给出了很多实践,敏捷也给出了一些仪式,但二者的详细程度、抽象层次不同。CMMI的实践定义了做什么,敏捷的仪式定义了怎么做。例如:

二者都要求做计划,CMMI要求做任务拆分,要做规模估算、工作量估算,要有进度表,要做计划评审等。敏捷给出了迭代策划会议的解决方法,实现了CMMI中EST、PLAN等实践域的实践。

二者都要求做计划跟踪,敏捷给出了每日站会、迭代评审、迭代回顾会议等实现了CMMI中MC的实践。

CMMI要求做验证和确认,敏捷要求做检视,CMMI中有VV与PR两个实践域,敏捷有结对编程、测试驱动的开发、迭代评审等仪式。

做什么与怎么做是对具体做法的不同抽象层次,怎么做可以有很多种不同的做法,敏捷实践是其中一种。CMMI并不排斥敏捷,因为它只是定义了做什么。如果以面对对象编程举例,CMMI定义了一个类,敏捷实现了这个类,是这个类的一个具体对象。

敏捷中有价值观、原则,在符合敏捷的价值观与原则之下,有各种各样的敏捷方法、敏捷仪式,敏捷价值观与原则抽象了仪式背后的目的,是对怎么做的思想的提炼,但是仍然是处在怎么做的层次上。

2.CMMI侧重于建立组织级的能力,大多数敏捷方法侧重于团队级的能力

CMMI最初是美国国防部为评价一个组织的开发能力而定义的模型,它是站在组织级的角度看待过程能力。它定义了高级管理者的治理职责,要求组织级要定义管理的方针、过程、裁剪指南、模板等,组织级要进行过程执行情况的检查,要给团队提供资源、工具、培训等支持,组织级要采集经验教训、典型案例、改进建议、度量数据等进行持续改进,要将组织的规范固化为大家的工作习惯。

TSP是侧重于建立团队级的能力,PSP是侧重于建立个人级的能力。

Scrum、XP等敏捷方法大都是侧重于构建团队级的能力,给出了一个小团队的角色划分、管理实践与技术实践。如果需要进行大产品的开发,可以采用规模化敏捷的方法,如S@S、LeSS、SAFe等。在这些规模化敏捷的方法,SAFe受到了很多的质疑,很多人认为SAFe已经不是一种敏捷方法,是变通的统一软件开发过程(Rational Unified Process,简称RUP)。真的如此吗?当项目规模大到一定程度后,是否要增加一些必要的管理活动,管理成本是否要增加?单位规模的开发成本是否要下降?S@S、LeSS与SAFe在这些基本假设方面显然存在争议。规模化敏捷并不等于组织级敏捷,规模化敏捷限定在多个项目级,组织级敏捷必须扩展到业务敏捷,对组织的影响范围更大,文化改造更彻底。组织级敏捷文化的形成需要借助变革管理的方法来辅助Scrum、XP、S@S、LeSS、SAFe等敏捷方法构建组织级的能力,在组织内如果不能形成敏捷文化,敏捷不能持久。


来源:《敏捷之道》——共生共存的CMMI与敏捷---文/任甲林

发表评论
通过审核后显示您的意见