`
microke
  • 浏览: 14051 次
  • 来自: ...
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

证之殇——CMMI认证狂欢前夜的思考

阅读更多
证之殇——CMMI认证狂欢前夜的思考


2006年岁末之际,CMM/CMMI行业有两件事值得关注
    一是SEPG中国大会在苏州“成功”召开,此次会议由于有SEI和苏州政府联合领衔,规格自然不在话下,各路人马云集苏州,好不热闹,会上发布消息——据统计,目前中国软件业在CMMI的运用上,排名世界第四(如果不是前两年部分政府补贴只给CMM而不给CMMI,这个排名相信还会靠前)。截止2006年3月,在中国已经进行了110多次的CMMI评估...
    第二个消息是中国商务部制定了一个“千百十工程”(据说具体操作会由信息产业部来负责,相关细节可查询中国商务部网站),其中内容包括“力争五年内促进700家企业取得CMM/CMMI3级认证,300家企业取得CMM/CMMI5级认证” ,并且对这些企业提供最高不超过100万的资金补贴(中央财政50万+地方配套50万)
    这无疑是给了真在高歌猛进的中国CMM/CMMI认证事业(实际上CMM/CMMI并不是认证而仅仅是评审,但在中国现在已经是一项彻头彻尾的认证事业了)又注入了一剂强心针,显然,我们国家的评估次数和排名有会有一个质的飞跃,然而,在这些数字的大跃进背后是我们现实的CMM/CMMI实施中面对的众多尖锐而不可回避的问题,试举如下:


前期过程改进需求分析不到位导致目的和结果的南辕北辙
    过程改进和软件开发一样,前期的需求分析是否到位可以说很大程度上决定了项目的成败,CMM/CMMI的前期分析过程叫作"Gap Analysis"(差异分析或差距分析),目前国内咨询公司给出的CMM/CMMI咨询方案中比较典型的差距分析过程包括:2天的文档审查,2天的访谈和一天的编写报告。很显然,对于软件开发这样一个复杂的系统工程来说,短短3-5天的时间可能可以得出表明上的“差距”在哪里,但其实并不能真正了解导致这些“差距”产生的深层次的原因在哪里,而以简单量化的形式得出的差距分析报告(其主要内容是一张根据PA罗列了CMMI中所有SP的Excel大表格)更不能全面反映它们相互之间的各种约束关系。而整个CMM/CMMI过程改进就在这种头疼医头,脚疼医脚的表面文章中展开了。
    一个软件企业过程改进的需求和CMM/CMMI的要求之间并不能划等号,所谓“种刮得瓜,种豆得豆”,前期机械的按照CMM/CMMI的PA来分析企业的过程改进需求,最终得到的结果往往和企业实际的情况相差甚远。


缺乏可操作的方法和有效的技术手段

    再好的理论也是需要有效的方法来实现的,虽然我们可供选择的方法并不在少数,但这些方法在实际环境中的可操作性以及是否拥有有效的技术支撑手段手段,却是众多企业面对的一大难题。以下是软件企业经常会碰到的一些问题:
    他们通常被告知需要根据员工的日志对项目任务的完成状态进行同步更新,以便随时能够根据项目进展提供一张漂亮的跟踪甘特图。但在缺乏有效工具平台(大多数企业并没有部署MS Project服务器版本)的情况下,QA们(或PM们)只能痛苦的埋头于一堆Excel日志表格和计划MPP中,重复着这种低级而极易犯错的工作——显然这种坚持并不能持久的
    他们通常被告知需要从需求、设计、编码一直到测试建立有效的双向跟踪,但他们从咨询方获得的通常仅仅是一张由Excel编制的需求跟踪矩阵模板。鉴于需求之间的关联性和版本衍生导致的复杂性,我想我们用脚趾头都能想明白,任何一个稍具规模的应用的需求跟踪都是不可能仅用一张Excel表格来做到的。
    他们通常被告知要在有效估算的前题下编制计划,并被推荐使用某个相对成熟的估算技术——如功能点,但是我们的估算人员要面对的往往是庞大而复杂的功能结构分解和有限的时间,在这种情况下即便是借助一些简单的工具也需要付出巨大的工作量,而如果是纯手工作业则基本上没有现实的可操作性。于是最终往往只能退而求其次选择一些基于经验的估算方法——如Delphi法,而Delphi法的应用在缺乏经验和有效约束的情况下最终慢慢变成了流于形式的“拍脑袋”——一切又重新回到了起点[/list]
    虽然从国际知名厂商到国内一些企业都提供大量的过程管理工具,但工具作为一种辅助手段,其选型、部署、集成和使用都需要根据企业的实际情况做大量的工作,而这项工作,我们在大多数公司给出的咨询方案中却几乎看不到。

有效约束机制的缺位

    光靠一堆文档建立起来的过程是很难被有效执行的,尤其是在中国,技术人员跳槽和岗位变换的频繁度远高于西方的软件企业,约束机制的缺位往往导致已经被定义好过程难以被有效的执行,并随着时间的推移逐渐放弃越来越多的已定以过程——企业拿到证书后,过程慢慢几乎又回到原点的案例并不在少数——换句话说,CMM/CMMI评审以前,是过程改进,评审以后则是过程倒退,这和过程改进的初衷是完全背道而驰的。
    因此,如果没有可靠而有效的约束机制,定义得再好的过程最终也难免沦为一堆尘封的旧文件,而约束手段的建立必须从两个方面入手——管理制度的完善和有效技术手段的应用,而这也很少能在众多公司给出的方案中看到。


总结:
    笔者粗略的算了一下,要完全兑现这个“千百十工程”中的CMM/CMMI补贴,中央财政加上地方政府的配套资金,大致要花掉7个亿左右的资金,如此巨大的资金对于整个CMM/CMMI行业来说无疑是天上掉下了的一块肥肉,然而,当我们准备举杯狂欢之际,是不是应该考虑除了不断窜升的数字之外还应该给整个中国软件产业多留下点什么,要不然某一天,整个中国软件行业的CMM/CMMI评估也许真的会被贴上一个“赝品”的标签——这应该不是危言耸听。

MSN: micro.ke@hotmail.com
blog: http://microke.csai.cn
分享到:
评论
31 楼 gKarerM 2007-02-21  
常见关于CMM的误解:
1、CMMI能够帮助在生存线上挣扎的公司,公司不知道如何做好项目可以通过CMMI认证来解决生存问题。

……CMMI不是万精油,最多也就是用来改善过程的一种参考。使用来“改善”工作流程的,而不是保证结果的。

2、级别说明水平。
CMM提供了一个模型,说明好的软件组织拥有这样的一些共同特点;而CMMI认证则需要一个CMMI的认证组对软件组织(项目或者公司)进行评估;一些公司可能没有经过这样的认证,却能够符合最高级别CMM的要求,但他们并不是CMM5级的。

3、CMM和SCRUM有很多相通的地方。
这个?不知道怎么说好,scrum等agile的方法的要求不算是流程吗?日构建、scrum meeting、spring backlog算不算CMM中所说的Project Plan QualityArea以及Project Control and Monitor QA的流程?能不能说Scrum算符合CMM的一种模板?
scrum中强调客户与交互的同时强调了“经验模型”由于“过程定义”,特别说明了通常情况下QA(CMMI中)的作用:按照Quality Area制定相应的流程,按照流程工作,收集流程的反馈,改进流程对于软件开发过程来讲全是垃圾;垃圾恐怕不能说,不过实际的效果对于比较大的团队来讲确实不佳,智能算凑合。
30 楼 basicbest 2007-02-16  
我不做QA,但是我定流程。
29 楼 wangyuanyi 2007-02-15  
kevinye 写道
gKarerM 写道
公司里面做CMM的人可是比较轻松惬意啊,找programmer做做audit,发现点儿“流程”不对的地方,而且会产生出领导会关心的数据啊;至于改进建议?作CMM的人只管提,甚至都不需要自己提,这audit的时候不是发现你觉得不好的地方吗?就改这个了。又不需要自己去操作,需要改进的只是过程,至于结果?CMM不是假设了: 过程可以避免更坏的结果吗?这是一个保险阀,倾向于危机处理,有了它,再烂也不能滥到哪里去了吧?

问题是在javaeye讨论这个问题关注度肯定不高,也难引出强人的回复。

真的啊?我以后可能还得在这方面工作呢


这里有没有QA,非常想调查一下,你们做QA之前是做什么工作的,有多少年的项目经验?不是QA的说说你们身边QA的基本状况。

我公司有两个专职QA,一个毕业就直接进我们公司工作,一直就是QA,另一个毕业当一年的程序员,然后就开始做ISO,再做CMM2/3/I4。
28 楼 wangyuanyi 2007-02-15  
CMM/CMMI本身的思想是好的,感觉他的核心思想就是降低风险(我自己的理解,我想这至少是核心思想之一)。它强调的任何事情都是为了降低项目失败的风险。但是目前国内企业,尤其是做国内项目的企业普遍缺乏风险管理意思,有几个项目经理的风险计划是认真做的?我想如果不是CMM/CMMI,这些文档是很少写的。还是那句话,国内企业的风险防范意识比较差,包括一些CMM/CMMI的咨询机构,我觉得咨询的第一步就是应该先评估这个企业是否需要和可以做CMM/CMMI,如果做的话,风险有那些,并给出处理风险的成本。不过,我想如果咨询公司如果出这个报告的话,90%以上的国内项目企业都不会做CMM/CMMI,因为有很多老板并不知道除了要交咨询费和评估费这些小钱外,大量的人工成本就是个无底洞!那么咨询公司就赚不到钱了!
顺便说一句,那个什么证书就是评估师用彩色打印机打出来的,SEI根本就不发什么证书,不信你google一下证书,保证是一个咨询师签发的就是一个样子!那只不过是一张纸而已。
27 楼 pioneer21th 2007-02-09  
楼上的几位太悲观了。
如果我们都觉得自己做的是垃圾还做它干吗?不是浪费自己的生命吗?

世界上没有完美的东西,特别是软件系统。
我们公司做外包的,老外也实现一些功能,如果按照我们的标准那些代码也是十足的垃圾。
所以不要变成了唯美主义者!
26 楼 kevinye 2007-02-09  
gKarerM 写道
公司里面做CMM的人可是比较轻松惬意啊,找programmer做做audit,发现点儿“流程”不对的地方,而且会产生出领导会关心的数据啊;至于改进建议?作CMM的人只管提,甚至都不需要自己提,这audit的时候不是发现你觉得不好的地方吗?就改这个了。又不需要自己去操作,需要改进的只是过程,至于结果?CMM不是假设了: 过程可以避免更坏的结果吗?这是一个保险阀,倾向于危机处理,有了它,再烂也不能滥到哪里去了吧?

问题是在javaeye讨论这个问题关注度肯定不高,也难引出强人的回复。

真的啊?我以后可能还得在这方面工作呢
25 楼 kevinye 2007-02-09  
johnnyhg 写道
lasuo 写道
还不如改善买几张好凳子椅子,更新下程序员的机器来得实惠~
什么样的政府做什么样的事,还能说什么呢?
国内IT企业有几家注重技术的?都是做些面子工程,接到了单子胡乱找几个人胡乱做好,项目能跑起来就行,tmd的bug一堆。无论是技术还是业务,积累都很少。
什么CMMI认证啊,什么专家评审啊,都tmd用钱搞定。
真是悲哀!!!

同意
24 楼 basicbest 2007-01-31  
gKarerM 写道
公司里面做CMM的人可是比较轻松惬意啊,找programmer做做audit,发现点儿“流程”不对的地方,而且会产生出领导会关心的数据啊;至于改进建议?作CMM的人只管提,甚至都不需要自己提,这audit的时候不是发现你觉得不好的地方吗?就改这个了。又不需要自己去操作,需要改进的只是过程,至于结果?CMM不是假设了: 过程可以避免更坏的结果吗?这是一个保险阀,倾向于危机处理,有了它,再烂也不能滥到哪里去了吧?

问题是在javaeye讨论这个问题关注度肯定不高,也难引出强人的回复。


呵呵 ,CMMI本身没错,但是就像宏观调控,错在执行者。
23 楼 gKarerM 2007-01-31  
公司里面做CMM的人可是比较轻松惬意啊,找programmer做做audit,发现点儿“流程”不对的地方,而且会产生出领导会关心的数据啊;至于改进建议?作CMM的人只管提,甚至都不需要自己提,这audit的时候不是发现你觉得不好的地方吗?就改这个了。又不需要自己去操作,需要改进的只是过程,至于结果?CMM不是假设了: 过程可以避免更坏的结果吗?这是一个保险阀,倾向于危机处理,有了它,再烂也不能滥到哪里去了吧?

问题是在javaeye讨论这个问题关注度肯定不高,也难引出强人的回复。
22 楼 huangpengxiao 2007-01-30  
johnnyhg 写道
lasuo 写道
还不如改善买几张好凳子椅子,更新下程序员的机器来得实惠~
什么样的政府做什么样的事,还能说什么呢?
国内IT企业有几家注重技术的?都是做些面子工程,接到了单子胡乱找几个人胡乱做好,项目能跑起来就行,tmd的bug一堆。无论是技术还是业务,积累都很少。
什么CMMI认证啊,什么专家评审啊,都tmd用钱搞定。
真是悲哀!!!


我也想这么骂 我在做的项目 按需求分析做 根本不明白业务 能做出来什么东西

作的都什么乱七八糟的需求分析

来了一个月 我就受不了了 活压的挺多 完全粘贴拷贝 什么业务逻辑 全往上凑 因为根本就不明白业务


21 楼 basicbest 2007-01-30  
大家不要抨击政府,在这个认证上面,国外没有啥大区别,通不通过是一回事,管理层有没有意识是另外一回事哦
20 楼 basicbest 2007-01-30  
CMMI更重要的是代表一个企业的资质,就像那些建筑公司一样,其实下面搞建筑的都是小施工队。
从老板的角度,CMMI能增加带来订单的可能性,给员工加工资却很难出现这种效果,所以宁愿要这个CMMI证书。
19 楼 agile_boy 2007-01-26  
呵呵,没有在CMMI认证的公司待过,不过感觉国外的一些东西,到了中国,都会变成“中国特色”XXX了。
18 楼 johnnyhg 2007-01-25  
lasuo 写道
还不如改善买几张好凳子椅子,更新下程序员的机器来得实惠~
什么样的政府做什么样的事,还能说什么呢?
国内IT企业有几家注重技术的?都是做些面子工程,接到了单子胡乱找几个人胡乱做好,项目能跑起来就行,tmd的bug一堆。无论是技术还是业务,积累都很少。
什么CMMI认证啊,什么专家评审啊,都tmd用钱搞定。
真是悲哀!!!
17 楼 lasuo 2007-01-22  
还不如改善买几张好凳子椅子,更新下程序员的机器来得实惠~
16 楼 憨五弟 2007-01-22  
Arath 写道
如果一切都留于形式,那这些投入只是在浪费纳税人的钱

目前看是这个样子的
15 楼 huangpengxiao 2007-01-22  
我们公司通过了CMMI5 没什么感觉 活太紧了吧
14 楼 icebing 2007-01-22  
CMM!不感说是不是中国软件业的无奈,但至少是我公司的无奈哦.
13 楼 宏基小键盘 2007-01-21  
tuti 写道
所有的参与方都各得其所,旁观者又有什么可抱怨的.


有道理...
12 楼 Arath 2007-01-19  
如果一切都留于形式,那这些投入只是在浪费纳税人的钱

相关推荐

    CMMI 概论——CMMI简介全过程

    ### CMMI 概论——CMMI简介全过程 #### CMMI的起源与发展 CMMI(Capability Maturity Model Integration,能力成熟度模型集成)起源于20世纪80年代初美国卡内基梅隆大学软件工程研究所(SEI)。当时,SEI应美国...

    CMMI认证介绍+合同模板

    CMMI认证是指经过CMMI模型评估机构对企业的软件过程进行评估,并达到模型要求的成熟度等级,颁发认证证书的过程。CMMI认证目前广泛应用于IT、软件开发、系统工程和采购领域,它通过明确的过程基准帮助组织建立更加...

    CMMI认证介绍PPT

    CMMI认证简介:概念,由来,模型,与CMM对比,描述方式 公司申请CMMI认证:价值,意义,目标,实施方案

    CMMI认证的支持类培训材料

    **CMMI(Capability Maturity Model Integration,能力成熟度模型集成)认证是国际上衡量软件开发过程质量和项目管理成熟度的重要标准。它旨在帮助企业提升其软件工程和项目管理能力,确保产品和服务的质量与可靠性...

    CMMI 认证 需求管理培训PPT

    CMMI认证需求管理培训PPT的主要内容涵盖了软件工程中与需求及需求管理相关的核心议题。CMMI(Capability Maturity Model Integration,能力成熟度模型集成)是一种用于指导组织改进软件开发、系统工程和采购过程的...

    CMMI 认证 培训资料

    CMMI认证旨在帮助公司提升其业务流程,确保项目的高效执行,降低风险,并提高产品质量。此培训资料包含的PPT内容可能涵盖以下几个关键领域: 1. **CMMI的基本概念**:CMMI分为五个级别(初始级、可重复级、已定义级...

    CMMI认证PIID表

    CMMI认证PIID表,用于识别组织过程的执行情况。

    CMMI中文版 CMMI英文版 CMMI中英对照版

    CMMI,全称为Capability Maturity Model Integration,即能力成熟度模型集成,是软件开发过程改进和优化的一个重要框架,广泛应用于全球的软件企业和IT服务提供商。CMMI旨在提高组织在项目管理、软件开发、产品和...

    关于CMMI认证

    简单介绍了CMMI认证的流程和ISo关联。

    CMMI5软件过程管理成熟度模型5级全套模板及培训教材合集.zip

    CMMI5软件过程成熟度模型5级项目管理模板,整套CMMI5管理文档模板资源53套模板 CMMI精粹:集成化过程改进实用导论 CMMI培训PPT资料(1-8全集) 能力成熟度整合模型教程 软件工程文档全套模板等

    cmmi认证培训教材

    这个压缩包文件“cmmi认证培训教材”显然是为了帮助个人或团队了解并准备CMMI认证而设计的一套学习资料。下面我们将深入探讨CMMI认证及其相关知识点。 CMMI认证主要分为五个等级,分别是初始级、可重复级、已定义级...

    被遗忘的角落——CMMI的团队管理

    火龙果软件工程技术中心摘要:不少人士可能都会对CMMI有这样的一些误解:CMMI重视过程不太重视人员管理;CMMI强调按过程执行,而忽视人员的主动性、创造力;过程是死的,文档也是死的,但人是活的,事情也是变化的,...

    CMMI三级认证 编码 PI访谈问题与答案个人总结整理

    CMMI三级认证 编码 PI访谈问题与答案个人总结整理CMMI三级认证 编码 PI访谈问题与答案个人总结整理CMMI三级认证 编码 PI访谈问题与答案个人总结整理CMMI三级认证 编码 PI访谈问题与答案个人总结整理CMMI三级认证 ...

    这是某公司(已经通过CMMI 5 认证)的CMMI流程图

    这是某公司(已经通过CMMI 5 认证)的CMMI流程图

    CMMI3认证培训 CMMI3认证准备工作.doc

    CMMI(Capability Maturity Model Integration,能力成熟度模型集成)是评估和改进组织过程能力的一种框架,尤其在计算机行业中,对于软件开发、系统集成和服务类企业,CMMI认证被视为提升管理水平和业务效率的重要...

    CMMI 认证问题 资料

    CMMI认证分为多个级别,其中CMMI3代表着组织在流程管理和改进方面达到了“已定义”阶段,意味着其业务流程已规范化并形成标准模板,能有效控制项目质量和风险。 CMMI认证过程通常涉及以下几个关键知识点: 1. **...

Global site tag (gtag.js) - Google Analytics