CMM/CMMI的20年和敏捷十年

近来在InfoQ上陆续翻译了纪念回顾敏捷十年的文章,在CMM/CMMI/Agile都有兴趣的我不由得想到从1991年CMM1.0发布之时算起,今年正好也是CMM/CMMI的20年。

对比看下两者的历史,也许会有些意思。

SEI1986年在美国国防部资助下开始研究能力成熟度模型(Capability Maturity Model,简称CMM),于1991年正式推出了软件能力成熟度模型(Capability Maturity Model For Software,简称SW-CMM),并发布了最早的SW-CMM 1.0版。经过两年试用之后,1993年SEI正式推出SW-CMM1.1版,这个就是CMM成名的版本,缺省说到CMM,指的就是这个版本,这个版本一直用到了2006年。
CMM 2.0草案于1997年制定(未广泛应用)。

SEI于2000年12月公布了能力成熟度整合模型(Capability Maturity Model - Integrated, CMMI),主要整合了软件能力成熟度模型(SW-CMM)2.0版,系统工程能力模型(SECM)和整合产品发展能力成熟度模型(IPD-CMM)0.98版。
CMMI-SE/SW 1.1(CMMI for System Engineering and Software Engineering)于2002年1月正式推出,其中覆盖了IPPD/SS(Integrated Product and Process Development/Supplier Sourcing)。

CMMI V1.2 于2006年推出,首先推出的是CMMI-DEV, CMMI从V1.2开始,成为Product Suite,包括了三大方面,分别是 1.Product and service development — CMMI for Development (CMMI-DEV), 2.Service establishment, management, and delivery — CMMI for Services (CMMI-SVC), and 3.Product and service acquisition — CMMI for Acquisition (CMMI-ACQ). 原来的CMMI V1.1主要升级到了 CMMI-DEV V1.2。现在缺省说到CMMI,其实指的是CMMI-DEV。

CMMI V1.3 在2010年11月推出,三大方向的V1.3同时发布。
CMMI DEV V1.3在吸纳目前业内的一些好的实践的同时,还吸纳了ISO以及PMI的一些新的成果。其主要变化包括:

1、 吸收了敏捷软件开发的实践。在配置管理(CM)、技术解决方案(TS)、产品集成(PI)、验证(VER)、确认(VAL)、需求管理(REQM)、质量保证(PPQA)等过程域中,对敏捷软件开发相关一些实践作了说明;

2、 对高成熟度的4个过程域作了较大优化,以“反应业界的最佳实践”。感觉现在这几个过程域的实践不再像之前那样高不可攀,很多解释似乎不再像从前那样机械,而且把过程改进目标与组织商务目标相联系,增加了一些具体的例子,对实践有一定指导作用。同时,该版本中删掉了原来高成熟度等级中的共性目标。连续型模型中只包含了3个级别,不再有高成熟度等级。

3、 更加重视需求管理:该版本将需求管理(REQM)过程域从工程组(Engineering)移至项目管理组(Project Management)。

4、 更加关注结果。这表现在一些名词的提法,如:
“管理过程(Manage Process)”变成“管理项目(Manage Project)”;
共性实践GP2.6的标题从“管理配置项”更改为“控制工作产品”,虽然内容基本没有变化;
共性实践GP2.9 “客观评价依从性”中将原来“客观评价过程的依从性”,更改为“客观评价过程和工作产品的依从性”;

5、 吸纳了ISO、PMBOK等的一些最新成果。例如:
原来的“需求”变成了“功能需求和质量属性(Quality Attributes)”;
增加了架构评审的一些实践
更加强调各过程与组织商务目标的关系

6、 其他:删除了所有IPPD(Integrated Product and Process Development)的相关内容。

敏捷十年的情况在 http://www.infoq.com/news/2011/02/agile-manifesto-10-years-series,infoQ中文站提供了多篇译稿,比如
Liz Keogh:敏捷十年——对失败的预言,以及预言的失败 http://www.infoq.com/cn/articles/agile-prophecy-failure
回顾《敏捷宣言》发布以来的10年 http://www.infoq.com/cn/articles/10-years-agile-manifesto
敏捷10年发展史 http://www.infoq.com/cn/articles/agile-10-years-on
偶然成为敏捷人士:个人回望《敏捷宣言》发布十年 http://www.infoq.com/cn/articles/Accidental-Agilist
敏捷的十年危机 http://www.infoq.com/cn/articles/agile-teenage-crisis

程序员杂志2011年9月刊的封面是一副等高线地图,敏捷的各个流派(流派这词并没有达成共识,在这里就是指代诸如Scrum、UX、TDD、Lean等等)成为一个个的山头。
在《敏捷的十年危机》提到 “对于敏捷和精益社区自身而言,无政府主义阻碍了更加系统的知识体系机构的形成。”,“社区的无政府主义无助于组织出知识体系”
作者最后说,敏捷运动在某些方面有点儿像一位少年:非常的自我意识,对着镜子不断地检查其外貌,接受少数批评,只对同龄人感兴趣,排斥来自过去的全部所有智慧,只因为那来自过去,采用时尚和新的行话,有时狂妄而傲慢。但我毫不怀疑它会进一步成熟,对于外界变得更加开放、更加深思熟虑,并因此变得更加有效。我知道我要在以后的雪鸟会议上打算做什么了,那就是找到比这次会议更多的大象。

敏捷软件开发宣言和原则在十年来没有变化,多位大佬提出修订宣言,但没有达成共识,大佬们各自组合,提出了更多的宣言(参见《不堪重负的宣言》,http://www.infoq.com/cn/news/2011/08/manifesto-overload)。 10年来,敏捷方面的书本估计在国内出版的就超过了100本,让程序员们感到压力好大,让程序员的领导们如何来看。

CMMI正在拥抱变化,而且总是维护成为系统又和谐的知识体系,而且还注意文字的总篇幅,CMMI-DEV V1.3英文全文不超过500页,反而比V1.2少了,阅读的负担从篇幅上来也不重。不过,由于CMMI的文字讲究模型的广泛适用性,目标和实践等文字往往是经过高度抽象的,理解起来稍有点困难,可喜的是 CMMI提供了诸如 典型工作产品,说明,示例等等,较之原来的CMM,可读性已经好多了。当然就算这样,阅读起来也要花费不少时间,还有一个选择是参见 3天的CMMI-DEV培训,只比CSM培训多一天,可以帮助快速的学习CMMI-DEV。

CMM-DEV V1.3积累了数百位全世界各地的专家近20年的经验,其本身的演进就是符合敏捷的,其内容已经远不是当年主要为了美国国防部服务。

对于入门者,面对不到一页纸的敏捷宣言和原则,和阐述敏捷的100多本书,笔者推荐在阅读第4本敏捷类书籍前,阅读CMMI-DEV V1.3。

对于敏捷实践者,已经阅读了多本敏捷类书籍,推荐马上阅读CMMI-DEV V1.3,可以更好的理解软件开发的全景和上下文,对在选择各种敏捷实践做法时会有更深入的理解和更全面准确的判断,对开发组织全面建设也会有更整体的理解。

参考:

http://www.mypm.net/blog/user7/YvonneJenny/archives/2011/82995.html

http://www.sei.cmu.edu/library/assets/cmmihistory.pdf

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值