我国最大的IT项目管理门户网站,国内IT项目管理培训与咨询服务提供商

当前位置:首页 > CMMI > 正文

CMMI引进中国三十年

2018-11-15 来源: 老丛讲桌 丛斌博士
      本世纪初,CMMI被引入到中国。不过十年的时间,中国就稳坐CMMI评估数量榜头把交椅。2017年超过一半的CMMI评估都来自中国,再加上中国军工软件企业遵循的5000A标准也是参考CMMI制定的,所以说CMMI极大影响了中国民品和军品软件开发模式是一点不夸张。
 
      很多业内的朋友聊起CMMI历史都能娓娓的来上一段,但我还是想系统的捋一下其来龙去脉。
 
      1984年5月,美国国防部(department of defense,简称DoD)向美国高校发出了一个竞争性的招标书(RFP – request for proposal),要选一个高校建立一个联邦政府资助的研究开发中心(FFRDC – federally funded research and development center),他们连中心的名字都想好了:软件工程研究院 (Software Engineering Institute,它的缩写SEI在中国IT界是家喻户晓)。最初五年的预算是一亿美金,给其赋予了一下使命:
 
      The Software Engineering Institute (SEI) shall provide this: bring the ablest professional minds and the most effective technology to bear on rapid improvement of thequality of operational software in mission-critical computer systems. The Institute shall accelerate the reduction to practice modern software engineering technologies and methods and shall promulgate use of modern technologies and methods to help the mission-critical systems. The Institute shall establish standards of excellence for software engineering practice.
 
      通俗的解释一下吧,研究院需要建立一个牛人团队,加快新技术和新方法的研究使用,以改进执行关键任务的软件的质量,并建立一个软件工程优秀实践的标准。也就是说,DoD需要借助社会的力量解决让它头疼不已的问题:如何保证软件供应商能够在预算内,按进度计划,开发出高质量软件。
 
      美国七个高校投了标,经过半年的筛选,位于匹兹堡的卡内基梅隆大学(CMU – Carnegie Mellon University)中标。当时CMU的教务长Angel Jordan教授领导了整个投标工作,三十年后他给出了CMU获胜的原因:除了一个无懈可击的方案外,他们建议的SEI核心团队还包括了CMU之外工业界、政府和其它高校的知名精英,其负责人是后来任CMU第一任计算机学院院长的Nico Habermann教授(1993年去世)。
 
享誉全球的SEI
 
      这里要给SEI正名一下,CMM和CMMI是SEI前期最重要的研究成果,但并不是唯一。SEI支持的软件工程研究覆盖许多领域:如软件架构、软件产品线、新的软件开发方法、互联网安全等几十个领域。DoD给SEI第一个五年预算是1亿美金,第二个五年预算就增加到了一点五亿美金。2011年SEI的五年预算已经是5.84亿美金。这是除了MIT的林肯实验室之外,DoD在高校建立的最成功的研究中心。
 
      1984年12月SEI开始挂牌开张,第一任院长是退休的美军空军中校John Manley博士,这位仁兄在面对SEI的高校、政府和工业界各种文化的整合时是一头雾水,所以只干了一年就撂了挑子。但Manley博士做最正确的一件事是邀请到了从IBM退休的Watts Humphrey来领导SEI的软件过程改进的研究,从而奠定了SEI成功的基础。
 
2016年去世的SEI第一任院长Manley博士
 
      Humphrey1986年走马上任,他首先面临的任务是是建立一个能够让DoD客观评价软件供应商能力的方法。Humphrey决定开发一个软件过程成熟度架构,其基本依据是一个简单理念:软件产品质量在很大程度上是由其开发和维护过程决定的,软件CMM(Software Capability Maturity Model)的雏形开始形成。
 
CMMI之父Watts Humphrey
      软件CMM借鉴了TQM(totalquality management)的原则,其在制造过程,服务过程以及工程设计过程的成功经验给Humphrey和他的团队提供了一个良好起点。软件过程也可以看作是一个活动、方法、实践的集合,通过使用这些活动、方法及实践,我们可以开发并维护软件产品。随着组织的成熟,软件过程会不断完善并在组织内部得到普遍贯彻执行,其结果是软件产品质量的提升,开发效率的提升,不必要返工的减少,以及更加有效的项目计划及管理。这也和著名的Deming连锁反应有异曲同工之妙。
 
著名的Deming连锁反应
 
      如果你读过Philip Crosby1979年发表的“Quality is free”的文章的话,应该可以在CMM以及后来的CMMI中看到Crosby描述的质量管理成熟度表(quality managementmaturity grid)的影子。
 
      Crosby把质量管理的发展分为五个阶段:不确定(uncertainty),觉醒(awakening),启蒙(enlightenment),智慧(wisdom)和确定(certainty)。CMM(CMMI)的五个级别和Crosby的五个阶段有那么点异曲同工之妙。
 
质量大师Philip Crosby
 
      软件CMM模型的另一个重要来源是Ron Radice及其团队在IBM的一些有效实践,Radice是Humphrey在IBM时的下属,后来追随Humphrey来到SEI。他整理了覆盖软件开发生命周期的12个过程阶段以及11个包含过程,方法,实践,工具,变更控制,数据收集及使用,质量控制等的属性。这些都被用来定义CMM模型。
 
今天的Ron Radice,当年Humphrey的左膀右臂
 
      经过一年多的努力,Humphrey于1987年发表了具有五个能力级别的软件CMM模型框架,为软件组织提升其开发能力展示了一个路径图。这五个级别被称为:一级——初始级(initial level);二级——重复级(repeatable level);三级——定义级(defined level);四级——管理级(managed level);五级——优化级(optimizinglevel)。每个级别代表的核心能力和今天的CMMI 1.3没有什么区别。
 
      同时Humphrey和他的团队也建立了两个软件过程的评估方法,一个是以访谈为主的软件过程评估方法(software process assessment - SPA),一个是用户用来选供应商的软件能力评估方法(software capability evaluation - SCE)。前者演变成今天的以内部改进为目的的SCAMPI方法,后者则演变成以供应商选择为目的的SAMPI方法。如果你参加过评估访谈,应该记得每次访谈结束时的一个问题“除了老板和个人工资不能改你可以改组织的任何一件事,你会改什么?”这个问题是当年Humphrey和他的同事建议的问题,原问题如下:
 
      “If therewas one thing you could change about your organization, other than your boss orpaycheck, what would it be?”
 
 
      1989年,Humphrey发表了他一生最重要的著作:管理软件过程(Managing the Software Process)。这本书很快风靡了美国软件世界,极大推动了软件过程改进活动,为CMM的发布及成功撒下了种子。
 
Humphrey最重要的著作
 
      1990年6月,SEI发布了CMM v0.2版,每个成熟度级别由相应的关键过程域(key process area)组成。一年后,根据0.2版的试用反馈,SEI发布了CMM v0.6版。1991年8月,SEI正式发布了CMMI v1.0版。之后不久,CMM 3级成了拿DoD项目的必要条件。很快印度的软件外包公司,用CMM证书证明自己的接单能力,为软件外包成为当今印度IT的支柱产业做出了很大贡献。
 
当年流行的CMM实施指南
 
      就在CMM v1.0发布前夕,Humphrey辞去了SEI过程改进研究负责人的工作,他选择了Bill Curtis作为自己的接班人,可能有些读者仅知道他是People CMM的作者。
 
Humphrey指定的接班人,P-CMM的作者Bill Curtis
 
      由于软件本身的特点,变化是常态,CMM模型也不例外。1993年SEI发布了改进的CMM v1.1版本,原来只是计划做个小的升级,没想到几乎1.0中的所有实践都有些变化。
 
      从1996年开始,SEI就着手CMM 2.0的升级。按计划2.0会在1997年底发布,可惜计划赶不上变化,DoD一纸命令叫停了2.0的发布,DoD要求SEI开发出CMM的替代模型:CMMI(Capability Maturity ModelIntegration)模型,将CMM从软件扩大到系统,覆盖各类产品开发。
 
      CMMI主要来自三个模型:软件CMM2.0 (草案稿),EIA 731 SECM (代表系统工程)和Integrated Product Development CMM。CMMI引入了Stage表示形式以及Continuous表示形式,前者来自CMM,后者来自EIA 731.
 
      2000年,SEI发布了CMMI v1.02版。正式让大家使用的1.1版于2002年发布,SEI从2005年开始接受CMMI的评估结果,CMM模型到2005年底则彻底完成了它的历史使命。
 
      2006年,SEI发布了CMMI v1.2版本。之后从2007年到2010年,SEI强化了CMMI高成熟度的评估审核,并设置了高成熟度主任评估师。
 
      2010年,SEI发布了CMMI v1.3,对四级、五级内容做了一些完善,并同时发布了开发、服务和采购三个模型。
 
CMMI v1.3开发模型
 
      2013年一月起,所有和CMMI相关的产品、服务完全从SEI转到了一个新的机构,CMMI研究院(CMMI Institute),它的邮箱地址从sei.cmu.edu变成了cmmiinstitute.com。从EDU(教育机构)到COM(商业机构)的变化是巨大的,和DoD的分道扬镳也会有些负面影响,但我们要有信心的是,从Humphrey等前辈建立起来的CMMI体系在新一代中也会发扬光大。
 
      近10年来,以敏捷和精益等为代表的新的开发模式对CMMI产生了巨大的冲击,从2008年起,SEI和CMMI研究院开始致力于敏捷和CMMI的结合。 CMMI v1.3版本也有不少急需改进的东西,经过CMMI社区几年的努力,CMMI 2.0版本将于今年春天发布。CMMI 2.0的内容和Humphrey三十年前的模型有了巨大变化。但基本理念从未变过: 改进的价值是通过商业价值体现的,基于CMMI的改进必须是价值驱动的!
 
      作为个人CMMI历史回顾,下面是我在中国做的CMMI不同版本的第一个评估 (可惜不记得自己做的第一个软件CMM评估了):
 
 CMMI V1.1:
 
      第一个评估:上海九龙信息技术有限公司 2005年1月)
 
      第一个高成熟度评估:华为IT部门 (2005年6月)
 
 CMMI V1.2:
 
      第一个评估/第一个高成熟度评估:方正电子 (2007年11月)
 
 CMMI V1.3:
 
      第一个评估:大连NTT (2011年10月)
 
      第一个高成熟度评估:浙江鸿程 (2011年12月)
 
 CMMI V2.0:
 
      试点评估:招行信息技术部(2017年11月)
 
推荐阅读
 
      1. 减少软件缺陷的十大经典结论
      2. 列车飞驰,键盘狂敲 
分享到:

免责声明:
  1、IT项目管理界发布的所有资讯与文章是出于为业界传递更多信息之目的,并不意味着赞同其观点或证实其描述。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请浏览者仅作参考,并请自行核实相关内容。
  2、本站部分内容转载于其他网站和媒体,版权归原作者或原发布媒体所有。如文章涉及版权等问题,请联系本站,我们将在两个工作日内进行删除或修改处理。敬请谅解!

延伸阅读:

more

会议活动

more

公开课

more

PMO

Copyright © 2021 IT项目管理界 版权所有 京ICP备17062359号-4 如转载本站文章,请注明原作者和原发布媒体

本着互联网分享精神,本站部分内容转载于其他网站和媒体,如稿件涉及版权等问题,请联系本站进行删除或修改处理

客服电话:010-89506650 89504891 非工作时间可联系:18701278071(微信) QQ在线:511524637

新闻与原创文章投稿:tougao#cpmta.com 客服邮箱:info#cpmta.com(请将#换成@)

IT项目管理界——我国最大的IT项目管理门户网站,隶属卓橡公司

IT项目管理界官方微信

IT项目管理界官方微信

PMO大会官方微信

PMO大会官方微信