CMMI在中国的现状和误区
文/郑丹丹
CMMI目前有多个产品,包括CMMI-DEV,CMMI-SVC,CMMI-ACQ,PCMM。目前使用最广是CMMI-DEV,其全球每年保持着1000多家评估的记录,2010年全球评估1250家。CMMI-SVC模型于2009年2月发布第一个版本,2009年全球评估4家,2010年达到36家,增长速度很快。而CMMI-ACQ和PCMM全球企业关注程度则明显不够。CMMI-ACQ从2008年以来,共评估了10家,PCMM从2009年以来共评估了5家。因此,以下重点谈一下CMMI-DEV和CMMI-SVC模型的情况。
以下是全球2010年度CMMI-DEV和CMMI-SVC评估前20位国家/地区数量分布:
值得注意的是,虽然大部分东南亚不在前20位之中,但马来西亚、泰国、越南、菲律宾等国去年评估数已经达到25家。
对于国内而言,从2010年评估结果数据来看,全国CMMI产品市场保持着持续增长,全年评估企业数达到496家,比2009年的469家多出27家。
1 CMMI在中国的现状
2.1 全国各年度评估增长趋势
从2000年我国第一家通过CMM的企业至今,CMMI在中国已经发展了整整11个年头。这11年,CMM从无人知道,到目前的政府和企业界的普遍关注,得益于CMMI在国外(尤其是美国、印度和日本)的巨大成功,以及我国对软件行业发展的重视。CMMI评估数量也从最初的2家发展到2010年的接近500家。
以下是我国CMMI各年度评估通过企业数及其增长情况:
从增长趋势看,在经历了2009年的疾速增长后,2010年CMMI评估增速开始放缓,比2009年仅增长27家。2009年及2010年的增长主要是由于江苏省各地从2008年起实施的对软件行业的若干奖励政策。该政策促使2009年江苏省评估企业数占全国的42%,2010年占全国的30%。
随着政府补助的逐渐减少,CMMI的咨询和评估需求更多的将是自身能力提升及企业发展的市场需要。CMMI的评估数量可能会逐渐减少。
2.2 全国各地区评估状况
2010年全国有24个省份评估了CMMI,比2009年的23个省多出1省。以下是各省市2009年与2010年评估数量分布:
与2009年相比,前6位排名没有变化,而评估数有较大变化,如:江苏2010年比2009年少47家,而广东、四川则与2009年持平,浙江、北京、上海有一定程度的增加。
2010年全国CMMI评估数量前20位的城市如下:
值得注意的是,随着国内外一些企业纷纷转移中西部市场。中西部地区软件产业得到了快速发展。最近2年,中西部地区每年都有50家以上的企业的评估。
2.3 各模型分布状况
2010年全国评估企业选择的模型包括:CMMI-DEV,CMMI-DEV+IPPD,CMMI-SVC,CMMI-SVC+SSD。以下是选择各模型评估的企业数:
从评估企业看,绝大部分企业还是选择CMMI-DEV进行实施。实施IPPD的企业非常少,随着CMMI-DEV v1.3版本发布取消了IPPD,以后将不再有IPPD实施。而SVC模型,由于刚发布实施,因此数量上还不能占据主流。
2.4 评估等级分布情况
2009年与2010年评估数量按照等级分布如下:
上图中,not given是采用连续式评估方法,没有给成熟度等级的评估。2009年未统计not given的情况。从数量上看,绝大部分企业依然选择成熟度等级3。然而,从上图可以看出,2010年CMMI4级和5级评估都有了明显的增长。随着CMMI2级和3级在全国的普及,越来越多的公司加入到复评还是升级到高成熟度的选择中。
2 实施CMMI的误区
需要认识到,CMMI不是一副灵丹妙药,不是万能药,并不是实施以后就可以“包治百病”。它只是一个可以参考着进行过程改进的模型,和ISO 9001、六西格码等一样,只是组织进行改进可参考的内容。目前国内企业在实施CMMI时或多或少都存在以下的误区:
(1)CMMI模型实施的周期越短越好
一些组织觉得实施CMMI模型对日常工作是一种打扰,所以期望实施周期越短越好,评估越快通过越好。这种认识是非常有害的。他们没有认识到实施CMMI的真正意义所在,只关注了通过评估、获取一纸证书本身带来的一点好处。取得制度化的成果对于希望达到成熟度等级3的组织而言需要大约半年的时间才能相对比较稳固。切记CMMI模型的实施是一个长期的过程,它的价值不在于一蹴而就,而在于日积月累、长期努力的过程。基于CMMI的过程改进是一个不断持续、螺旋上升的过程,并且改进的效果是需要时间来逐步证明的。
(2)实施了CMMI模型希望立竿见影
有些组织的管理者认定实施了CMMI就能很快地给组织带来效益,希望实施几个月后就能带来明显的效果,如项目/产品的缺陷密度降低百分之多少、项目都能按时交付、项目问题明显减少等。在实施了2、3个月之后如果没有发现明显的成效,就对实施CMMI失去了信心,很快就放弃了继续的推动。但是希望过程改进在短期内带来回报的想法是不现实的。如果组织本身管理很混乱,也许通过配置管理、质量保证过程域的实施在短期内就能看到一些管理上面的改进效果,如版本混乱、管理者对项目了解不足的问题部分得到解决。但管理者更为看重的进度、质量和/或成本等方面则难以在短短的时间内就有长足的成效。管理者应该看到过程改进工作必然具有一切过程所具有的固有特征,即需要循序渐进,不能一蹴而就。CMMI的改进涉及到组织的管理、工程、质量、采购和培训等等,改进要取得效果需要经过相当一段时间才能取得成效。所以组织管理者要有“持久战”的心理准备和思想准备,理解改进需要经过一定时间的实施才能给组织带来明显的成果,持续地支持EPG的工作。
(3)迷信实施CMMI模型的目标等级越高越好
我们都知道集成能力成熟度模型(CMMI)的阶段式,是采用分级表示法,分为5个等级,其中等级1称为初始级,等级2称为已管理级,等级3称为已定义级,等级4称为定量管理级,等级5称为优化级,4级和5级可以看做高成熟度等级。从等级1到5实施的内容逐步增加,等级越高表明过程能力成熟度越高。于是有些组织盲目迷信高成熟度等级,对等级2不屑一顾,认为等级越高越好,其实未必是这样。组织适宜实施哪一个级别应该综合考虑组织的规模、人员素质、企业文化等多个方面。个人认为,如果准备实施CMMI模型的组织规模过小,则很可能并不适合去追求高成熟度等级。这并不是说10来人的组织不能或者无法实施成熟度等级4或5,只是实施和维护这套系统所需花费的成本和精力不一定与回报匹配。
(4)找套大公司的体系文档模板当成自己的体系文档
不时会听见有些组织的领导说“给我们一套比较好的公司的体系模板,我们找两个人稍微改改就行了。”这样编写文件当然速度够快,可往往形成的东西都很难实施,不符合组织的实际情况。毕竟每个组织的情况千差万别,开发的产品不同,面对的客户不同,现有的开发流程不同等等,因此别的公司用起来不错的体系文档不可能适合于其他所有公司。想要照搬其他公司的规定,随便改改的“拿来主义”在这种情况下往往是行不通的。比如有的组织目前采用的是MSF开发模式,那么建立体系文档的时候就要特别考虑如何将CMMI与MSF框架下的流程相融合。比如有些组织的规模是好几百人,有的是几十人,那适宜的体系文档对于规模相差较大的组织就不太可能是一样的。要参照行业最佳实践,量身定制符合企业自身现状和发展的有效的过程体系,不能简单地照搬照抄。
另外,一套良好定义的体系文档对于成功实施CMMI而言是至关重要的。因为体系文档用于指导企业内部推进和实施过程改进,指导企业内部的项目管理、工程实施和相关支持过程的实施,有助于在组织内部早日形成“法治”。而且一套优秀的体系文档也会使EPG在组织内部推进过程改进时事半功倍。因此在前期过程定义阶段多投入人力,多花费精力进行体系文档编写是非常有必要的。
(5)找几个员工照着体系文档做出项目文件、一些项目文档事后来编写
还有些组织的领导说“我找几个工作不忙的人,照着体系文档写出项目文档就行了。或者项目先做,事后再看看缺什么,补上就是。”这种做法是完全无视了实施CMMI的意义,希望糊弄一下通过评估。且不说这样做可能导致公司文化的扭曲,就单从希望通过评估这一点而言,也多半不能如愿。首先,这样做出来的文档常常错漏百出,甚至出现时间、事件上的简单逻辑顺序错误。而且CMMI模型本身内容之间的关联性较强,很多环节环环相扣。例如项目组进行项目总结时提出了改进建议,那么就需要看到EPG考虑了这一建议的证据。再如进行了需求变更,就需要看到变更申请、批准、落实、再入库等一系列活动的证据。所以甚至有人发表感慨“事后补文件所花费的时间可能比当时认真编写所需的时间还要多。”其次,在最终评估的时候通常都需要进行访谈,就是和执行具体工作的人员进行交流,确认所查阅证据的真实性。如果负责执行具体工作的人员当初完全没有按照组织的体系文档实施,那么他就算事先有准备,所给出的回答也常会出现破绽。
希望准备实施CMMI的国内企业能够避免这些误区,扎扎实实地去做好每一步,应用IDEAL模型指导来进行实施,真正感受到CMMI的价值所在。
(注:本文数据来自于SEI网(http://sas.sei.cmu.edu/pars/pars.aspx)公布的2010年CMMI-DEV、CMMI-DEV+IPPD,CMMI-SVC,CMMI-SVC+SSD数据。根据SEI数据公布要求,只有在征得评估企业同意后,才可SEI网站公布评估结果数据。不排除可能会有企业不愿意公布数据导致统计遗漏的情况,但对于中国评估企业来说,除评估未通过,不愿意公布的情况极少。)