《程序员》百期文章回顾之2——CMM布道中国

“CMM专栏”开设一年之际,《程序员》走访了同CMM相关的人、企业、咨询机构、政府主管部门,历时两个多月,深感CMM的精深和推行的不易。她的贯彻实施,能从根本上提高一个国家软件行业的整体水平。而对于中国软件企业和从业者而言,CMM才刚刚来临……

一、引子
     1986年底,美国“软件危机”日趋严重,同时,美国联邦政府希望能有一套评估软件供应商能力的方法,为此,卡内基梅隆大学的软件工程研究所(SEI)开 始正式着手这项工作。SEI的W.S.Humphrey等人在仔细分析导致“软件危机”的各类具体因素后,相继提出了软件过程、软件能力成熟度等概念,并 在Mitre公司的协助下,于1987年9月发布了一份“能力成熟度框架”(Capability Maturity Framework)和一套“成熟度问卷”(Maturity Questionnaire)。
      这套问卷其实只是探索软件过程成熟度的一个工具,真正的模型出现在四年以后。SEI总结了自1987年以来对“成熟度框架”和初版“成熟度问卷”的实战经 验,集中了四年来对软件公司评估的经验以及广泛的用户反馈,在“成熟度框架”的基础上建立了一个可用的模型,使这个模型可以更有效地帮助软件企业建立和实 施过程改进计划。这个模型,就是后来为全球软件业所称道的CMM,当时推出的是CMM1.0版。
      CMM的真正含义是“能力成熟度模型”,即Capability Maturity Model的缩写。
      CMM1.0版使用2年之后,SEI在1992年4月举行了一场研讨会,来自全美的200多名软件专家参与了CMM的主题建议、草稿评审、更改评定和结果 测试。根据众多专家的反馈,1993年SEI又推出了更新版的CMM1.1。近年来,针对软件的发展和过程影响的各个因素,CMM开始细化,并相继产生了 多个分支,而且每个分支也在不断地产生新版本。
      随着全球信息化和一体化进程的逐步深入,CMM正在深刻地影响着全球软件业的每个角落:在美国和北美地区,CMM已得到了广泛的应用,越来越多的欧洲和亚洲国家正在采纳和实施CMM。当然,热潮之中,中国也毫无例外。
      中国最早引进CMM体系的应该算是国防系统以及一些大学的研究部门,而实施最早的是Motorola(中国)公司,他们在1993年开始实施CMM,并于 1996年达到CMM 3。但真正对国内业界带来冲击的还是1999年7月6日,由IBM和清华同方合资成立的北京鼎新信息系统开发有限公司通过CMM 2级,这是国内规模化知识导入CMM的一个重要里程碑。
      在这此后的一年多,中国软件界对CMM进行了广泛的讨论和分析,各大媒体相继发表了大篇幅的讨论性文章,CMM的各层次相关会议、论坛也层出不穷。人们对 CMM的认识普遍经过了这样一个过程:概念、思想的引进→引发的业界争论→软件企业的质疑与肯定。中国本土企业第一家通过CMM 2评估的是2001年1月联想电脑有限公司软件事业部,它标志着中国CMM体系正式进入了“研究、实施期”。至此,中国的软件界开始了CMM引入的热潮。 CMM服务商开始诞生并日趋活跃。
国内开始派出人员到SEI取经,国外的软件工程大师也开始第一次将眼光投向这块东方圣土。

二、CMM传道士
      —— Ron Radice博士专访

      CMM创始人前来大规模传道的,到目前为止,有2位:即Ron Radice和他的学生——CMM主任评估师、P-CMM创始人和设计者Bill Curtis。
      这两次培训,是国内业界更多人士第一次真正直面CMM始祖,对于深入理解和更好实施CMM有着不可低估的作用。

Ron其人
      在中国,即便是软件界,知道Ron的人恐怕也并不会特别多。但在印度,Ron却是一位家喻户晓的知名人物,由于Ron对印度软件业的巨大贡献,印度总理曾专门接见Ron,并对他所做的一切表示赞赏。
      第一次见Ron,是2002年1月16日,北京,建国饭店。在由美国软件工程界名家、JBM公司总裁丛斌博士主办的我国第一届CMM主任评估师培训班上,一位头发花白、精神矍铄的老人,谈笑风生地在讲述着自已从事CMM的经历。
这个故事,与以前所历次听过的CMM有关,但又不象以前所听过的那样遥远、那样深奥。这一次,记者不但知道了CMM的更多内容,也同时知道了闪烁在这位老人身后的耀眼光环。
      Ron是CMM主要创始人之一,现任SEI软件流程改进项目部门的总监。他的特长主要集中在以下几个方面:
      集多年经验与实践之大成。Ron曾在IBM技术管理职位任职23年,为IBM在软件流程和质量保证管理方面奠定了策略性的发展方向。也曾在美国著名的 Rensselaer理工研究所管理学院教授软件工程。Ron所开发的工具曾被业界评为软件工程界最重要的10大贡献之一。
      对CMM的认识和培训有独到的认识和经验。Ron从事CMM的相关工作已达30多年。80年代,他的团队开发出成功的现场评估方法,成为后来SEI在商用 和政府软件组织推行的SPA和SCE方法的先驱。CMM中最常引用的休斯顿范例也是Ron亲自实施和创造的。SEI的现任院长以及全球CMM领域的许多优 秀人才都是Ron的助手或学生。Ron所创建的评估公司,是美国政府允许对外评估的第一批企业之一。
      有多部软件工程专著,如《An Industrial Approach》、《Software Inspection: Past, Present, and Future》、《Imagine the Possibility》和《Software Metrics: a Practical Approach and Level 5》等多部。
Ron一向奉为至理的一句话就是:“越简单越好,越有效越好”。他认为,在软件项目中,只要软件工程实施得好,就能达到“还未做测试,但大部分错误已排除”的效果。

从“程序员”到“软件工程专家”
      刚开始时,Ron的工作是写代码,他写过很长时间,也做过很多程序,非常喜欢编程。但编程过程中很容易出错,这似乎谁也避免不了。后来,编程久了,Ron 发现:如果程序开发和过程管理做得好,出错就少。这里面可能有技术,这是一个很重要的发现。也是刚开始写程序时他没有注意到的。
      研究这项技术也很有意思。其间,Ron想到许多管理方法或技巧,并在编程时加以运用。后来上司发现,Ron的程序总是比别人的程序错误少得多,得知原委 后,上司就让他将这些技巧教给其它同事。后来,Ron注意到其它程序写得好的开发人员也有自已避免出错的方法和技巧,他们的方法也能达到同样的效果。这 时,上司希望Ron能将这些技术或方法总结出来,教给更多的程序员。
      慢慢地,Ron喜欢上了这种培训,也写了很多的技术报告,在报告和实践中,他更发现这些工作的重要性和兴趣,也就乐意教给越来越多的人,长此以往,不知不 觉中也就转到软件工程了。但从另一方面说,Ron开始做培训,并非出于自愿,而是一步步地被迫转到这种工作。
      Ron认为,在软件工程中,写程序就像是一个砖瓦工,到不同地方拿东西来组装东西。但组装时,有时会拼不上,这可能是原料短缺,就象做软件时需求没有做 好,到底做什么心里没底;也可能是时间太短,非常复杂的一个功能,短期内不可能做好。甚至可能并非是程序员的问题,而是因为环境不好,需要的东西没有,或 者说并非完备。其实,写好软件的秘诀也很简单:给程序员足够的时间,很好的“构造”,开始时必须教他们如何做,需要时提供很好的培训,此外,还应当有一些 好工具。
      现在有些程序员写不出非常好的程序,原因可能是管理问题,处在很大的压力之下。很短的时间要求做完,又给不出足够的支持。这就象饭店的厨师,要求他很快做 好菜出来,但一方面佐料不全,另一方面厨房环境又很混乱,他虽然希望、但确实是很难迅速做出一道好菜。其实,每个程序员都希望写好程序,他们以此为荣,个 人也有成就感。在这种情况下,Ron感觉做管理是自已应尽的责任,必须尽量提供给开发人员所需要的所有技术和环境。尽管这是一件比较长久的事,但也是一件 必须要做的事。

软件工程会越来越重要
      写程序的人既然是工程师(software engineer),就必须遵循一定的规范,编写代码并不能太随意。
      软件工程表示解决问题一定要非常有规律、有秩序,按次序进行。不论公司或项目的大小与规模,哪怕只是一个人,从考虑问题开始,一直到问题的解决方案,自始 至终都要按照一定的规律进行。对一个项目来说,要先做需求分析,后写代码。这个与项目大小无关,做任何项目都必须按科学的方法来做,这样成效也就更大。
      当然,如果是有很多人的大项目组,需要遵循的过程会多一些,所需要的规则也多一些,因为还有小组之间的交流、个人之间的交流等等。但哪怕项目只有一个人, 也要按照一个过程来做,当然这个过程会简单一些。如果遵循这些规则,效益会提高很多,编写的软件质量也会提高,错误会减少,甚至周期也会缩短。其实, CMM中的PSP(个体软件过程)实质上就是专门为一个人的项目制订的。未来一定时期内,软件的需求会越来越大,软件工程也会越来越重要。一方面,未来的 商务解决方案会产生更多的软件需求;另一方面还要求软件开发得更快、质量更高、费用更少,所以帮助软件开发者达到这个目标的类似CMM一样的软件工程会越 来越重要。

为什么美国的一些大企业不做CMM?
      这里有一个概念,不是说所有的企业都必须实施CMM。美国有一些大企业,他们没有实施CMM,但他们或许有自已内部的一套成系统的管理方法。在美国,一些 和国防有关,特别是为政府做事的企业就必须通过CMM认证。如果该企业没有通过CMM3级,就不能参与国防部的项目。但还有一些与国防无关的其它领域,比 如为美国财政系统做软件的企业,他们并不是为国防部做事,也不是从政府拿项目,但他们中的大部分都已经实施了CMM。特别是其中最大的五个企业中已经有四 个实施了CMM。此外,能源领域里也有很多企业都实施了CMM。这些企业希望能通过CMM提升自身软件能力、降低生产成本。
在这个问题上,Ron认为有些中国人对美国软件企业的认识存有一些偏差,似乎过于看重前一段网络热后产生的一些创业公司,即2、3个人+一个好想法+一个车库的创业公司。大多这样的软件企业确实没有实施CMM,但他们不能代表美国的软件企业主流。

CMM情结——谈中印软件业的差距
      印度的CMM 5级企业以及20多位主任评估师,大部分都是Ron培训出的。他对印度软件产业的规模化发展具有不可磨灭的贡献。
      对比之下,Ron认为,中国和印度软件业的差距有多个方面。作为程序员的个人能力,他不认为中国程序员和印度程序员之间有任何差距。因为不论是美国硅谷还 是在印度,已经有许多优秀的中国程序员证明了自己的能力。差距目前主要体现在采用和实施类似CMM一样的软件工程和过程方面的一些先进管理技术方面。印度 很早就采纳和实施CMM之类的过程管理,而中国在此方面差距比较大。
      另外,更大的一个差距是,和印度整体软件相比,作为一个国家来说,中国还没有什么事迹能证明有此方面的能力,且基本上是个空白。而印度已经通过许多出口项目证明了本国的软件能力。Ron强调,这可能是中国和印度的最大差别。
     “目前的中国正处于一个良好的时机,引用中国的古语就是‘天时、地利、人和’。1993年印度所处的环境、软件业的特点、政府的扶持政策都非常类似于今日 的中国。但中国现在所处的环境会发展得更快。”10年前,Ron走进印度,随后又相继走进法国、欧洲,日本、韩国,今天,他同样看好中国的环境,非常希望 能够将印度等国的成功经验移植进中国。在采访中,Ron自信地说,他很高兴能在中国的这个时候,为中国做一件很有意义的事情。他相信这次对中国的认识和感 觉不会错。

三、中国CMM实施手记

企业评估概况
      截止2002年2月5日,中国软件企业通过CMM评估的基本情况如表中所示:

东软CMM手记
      实施原因:
      国内东软从1991年开始,从事国际业务和外包业务,1997年开始介入外方核心业务的开发。1999年底,在东软给日方一家汽车公司客户提交开发的音响 导航系统项目,从用户开始验收到最终提交,整个过程大约出现了2000多个bug。于是日方提出要求,东软必须两年内进一步规范组织软件过程。这是促进东 软下决心导入CMM的最大原因。
      实施过程:
(1)1999/10-12,组成3人小组SEPG (软件工程过程组),讨论CMM一些原则性要求的具体含义,并思考如何将其理论变为可操作的程序和步骤。
(2)2个月后,按照CMM 2级的标准对整个东软做了一次诊断,查找发现问题,按百分计,打分为44。
(3)按照诊断,发现2级不能覆盖东软所重视的设计、测试、编码等重要环节,于是,决定研究CMM 3。
(4)此后,东软抽调了11名兼具开发能力和管理背景的人员、花费了2个月的时间投入CMM 3级研究。
(5)2000年3月,自评估为2.5级,确定一个小项目作试点,引入CMM 2。并确定不用咨询公司。
(6)2000/7,美国主任评审员Frank对项目做了CMM2预评估,赞扬有非常好的评审材料。
(7)2000/9,NOTE项目通过CMM2的评估。被“提问”的NOTE项目小组成员有12人。
(8)2001/5,Frank作了CMM3的预评估。
(9)2001/6,Frank为东软做了CMM3的评估。此次“提问”的人员包括高级管理者1人、中层经理3人,项目经理4人,分析和设计人员10人,编码与单体测试人员12人,测试人员11人,质量保证和配置10人,共计51人。
(10)2001/6/26,东软通过CMM 3评估。成为国内首家通过CMM3的软件企业。
       实施经验:
       东软股份总经理王勇峰认为,“CMM实施,定位在苦练内功”。

东方通CMM手记 
        实施原因:
        主要从内部因素考虑。1998年公司从系统集成转型到产品的时侯,HP公司帮着做一些产品包装工作,这时就想引入国外的先进管理经验。中间,公司也有一些 回国人员陆续引入了一些方法和经验,但不成系统性,也没有细化。从公司的中间件产品考虑,市场增大,如果不能保证质量,问题会很多,这时正好发现了 CMM,它强调过程的逐步改进,也很成系统。所以,公司打算正式引入CMM。
        实施过程:
        从2000年上半年了解到CMM,前期准备收集资料,参加培训、讲座,2000年10月下决心做。咨询公司当时接触到两家,后来比较之后确定了力友和,主要是力友和对需求的反应比较及时,配合也比较好。
全公司当时共有4个项目组,其中有3个参与了评估。没有参与评估的也部分地引入了CMM,但主要抓两头,一是需求,二是最终测试。其它3个小组都全面引入 CMM,后来的评估也很顺利,国外企业一般评估的时间为12-18月居多,但东方通从2000年10月开始做,真正做也就半年,11月与力友和草签,12 正式开始。项目小组进入是2001年4、5月份,当时相关文档才出来,小组也才正式做。然后是2001年12月通过评估。2002年打算先用半年时间慢慢 消化,并向CMM3过渡。
       实施体会:
       开发人员一般不会抵触。因为本身也有认识,如果前期不保证质量,后期会很累,所以认识比较统一。但具体实施中,也还需要不断地推进和强化。
       要从实用主义出发做文档,做必须的、需要的文档。此外,还需要开发一些小工具作以配合。
       项目经理很重要,但并不是技术最高的人最适合做项目经理,他的职责主要在项目管理方面。
最深的体会是:企业管理最难的是从无序到有序,只要跨过这个状态,由好到更好也许会更容易些。所以,在这个程度上,2、3级也是非常重要的。

四、咨询评估——浮出水面
      在企业开始研究CMM之际,CMM咨询公司也开始慢慢浮出水面,并日趋活跃。
      针对咨询机构的问题,除了负责态度和业务水准外,更多地集中到以下几点:

评估费用——CMM背后的巨大市场
     在同企业的沟通中,无一例外地提到了评估费用的昂贵。就这点,我们相继采访了JBM和力友和公司。JBM的丛斌博士介绍说,CMM的费用主要花 费在四个方面:培训、监督、预评估和正式评估。培训和监督视企业而定,但过级企业必须通过有SEI授权的主任评估师的预评估和正式评估,后两部分费用较 高,特别是正式评估。此外,评估费用的高低也同主任评估师的经验和身价有关。例如,同一个等级的评估,请Ron博士做主任评估师可能就要比其它主任评估师 高1~2倍。
     力友和公司负责人介绍说:如果单纯指一次正式评估过程的费用,主要包括评估费和评估师到现场的交通费及接待费,一般在5万美元左右;人们通常所说的评估一 般包括咨询费用、预评估费用以及正式评估费用。一般企业实施CMM2的咨询评估费用在几十万元不等,费用依据企业规模会有所不同。目前国内大部分咨询公司 需聘请国外评估师,通常CMM2费用在百万元以上,这尚不包括企业为评估所进行的过程改进所花费的人力物力。

主任评估师
        全世界的主任评估师共有300多名。但国内目前还没有自已的主任评估师,所以,CMM的费用就很难大幅度降下来。
        主任评估师的培养需要一定的条件,也需要一定的时间。(1)对主任评估师的背景要求比较多。首先是计算机相关类硕士学位,有很好的英文水平,对整个软件项 目的过程有很好的经验;(2)至少参加过两次认证;(3)参加SEI匹森堡总部的15天的认证;(4)独立做过一次评估。
2002年,按正常预计,国内将出现8位主任评估师。其中,力友和有5位,北航软件工程研究所有2位,新世纪质量认证中心1位。此外,到2002年6月份 之前,JBM公司也将有2位美籍咨询师通过主任评估师。这样,国内咨询公司中共计有10位SEI授权的主任评估师。这对国内评估过程的缩短、评估费用的降 低都将有极大的影响作用。

咨询公司
       在北京市科委和北京软件产业促进中心的一份出版物上,记者看到了一份“北京市推荐的CMM评估咨询机构一览表”:
1 太平洋软件(中国)有限公司
2 北京力友和质量管理咨询有限公司
3 北京北大青鸟软件工程有限公司
4 北京航天测控公司软件中心软件工程咨询部
5 北京航空航天大学软件工程研究所
6 北京新世纪质量体系认证中心
7 北京新标智业集团
8 北京JBM科技发展公司
9 美国Soft tech公司(北京博思美亚科技发展有限公司)
10  航天软件评测中心
        北京市软件促进中心副主任姜广智先生对此解释说:“推荐名单是以单位笔划排序,没有具体的衡量标准,主要是这些公司主动和我们联系,但他们大多原来都有过业绩,企业需要重点考虑的是这些咨询公司的评估师是哪些人,他们是否能真正地起到推动作用。”
        在此次专题的组织过程中,我们无数次地听到、接触到两个活跃于北京的CMM咨询公司,这就是上面所提到的JBM和力友和。JBM  Technologies Inc.是数名留学美国、并成功于软件管理的海外人员创办的软件管理咨询公司,在北京和硅谷均设有办公机构。而力友和是一家中德合资公司,因对鼎新、北京 北佳、北京东方通和广州新太的CMM2级评估业绩突出而获得过北京市嘉奖。
 
对政府的期望
         丛斌博士认为,政府要对认证机构有一些控制作用,因为对产业的影响比较大。
         此外,政府对CMM的衡量应当不只局限在几年过了几级,而要更长远一点,看看3年之后国内出了几个世界软件企业的品牌。反过来,如果国内全是4级、5级, 但做不了国际上的商务,得不到国际的承认,那也是没用的,而且那也是真正的失败。所以,推动CMM的真正目标是做好企业品牌。

五、从30万元说起
            —— 谈政府对CMM的扶持

        2001年10月,通过CMM 2级的北京东方通、北京北佳软件公司分别得到了北京市政府的30万元奖金。同期,由同一家咨询公司——北京力友和帮助下也通过CMM 2级评审的广州新马 太公司也得到了广州市政府的奖励。CMM研讨会上颁发奖金及证书的一幕,给人留下了很深的印象。
就政府的扶持,北京市软件行业促进中心姜广智副主任从以下各方面做了论述:

扶持原因
        2001年,北京市软件出口额为4470万,同比增长34%,全国软件出口为4亿美元,北京占到约11%,北京的软件企业数几乎占到全国的1/3。北京是 全国最主要的软件发展基地,也要尽力营造全国最好的软件发展环境。希望能做实事,做扎扎实实的改善和促进。
        国家支持CMM评估工作,主要是考虑提升国家软件行业的管理水平。此前,科委内部也有争论,认为中国不应该引入CMM,因为费用太过昂贵,据了解,国内第 一家过CMM 的鼎新,做CMM 2就花了200万。而且也有企业反映,引入CMM后,项目成本增加了20%。但从整体来看,CMM是经过许多国外软件企业实践过的,这剂进口药开始可能贵 一些,但如果能解决我国的问题,就是必要的。所以,最终采取了不管争议埋头先干的策略。
        扶持主要从四个方面:制订各种推动计划和优惠政策,扶持企业通过CMM,发展国内主任评估师以及举办相关培训、活动等等。

3年落实700万
        从1999年开始启动CMM,政府制订了计划,北京市科委拿出了700万奖金,目标是到2002年有20家企业通过CMM2级以上的评估(包括评估过的企业),以望在2年内形成一个规模群体。整体形势现在看来要比预想的好一些。
        700万元是1999年安排的,主要来源于两方面,(1)科委;(2)外经贸部。2000年到2002年,3年时间专款专用,支持企业做CMM工作,包括 培训,包括对企业通过CMM后的补贴、奖励,包括对个人的补贴,这个奖励是以补贴的形势,对每个通过CMM的企业都奖励30万元。
        700万是政府直接发给促进中心,由促进中心代政府用于企业、个人以及相关的活动。企业是北京市20家以上通过CMM的软件企业;个人主要是针对主任评估 师的资助。对个人的补贴,主要是希望他们在通过后对国内企业做CMM时能降低成本,做主任评估师的费用在20多万,每人补贴在10万元左右,相当于国家资 助50%。三是用于对软件企业的宣传、培训以及活动费用。如举办北京国际周的CMM论坛、CMM培训等。

对咨询机构的认识
        对咨询机构,北京市采取完全市场化的办法。其实,培育CMM的大市场、大环境,就是对中介机构的最大支持。咨询公司要握住两头,一是国内企业,一是评估 师。我们只能在国内客户这方面做好,尽量作桥梁,培养这方面的环境。据国内企业介绍说,这些中介机构到现在其实并没有挣到多少钱,费用主要用于国外专家。 所以,如果国内有了自已的主任评估师,那费用肯定会降低很多。
        中介市场很大,不单限于CMM,还可以做质量管理,企业很小时,可能不太需要CMM这么庞大的系统,但还是需要管理上一些简单实用的方法,现在各行各业对 中介的认识还不够充分,就像对律师,会计师的认识一样,都是经过十多年以后才意识到其必要性,才得到社会的承认,软件行业的质量管理,也需要这么一个认识 过程。
        海外留学者创办的咨询公司都享有特殊优惠,而本土咨询公司对国内环境又比较熟悉,双方各有优势,希望能在竞争中优势互补,共同促进这一行业的发展。

六、惩前毖后,治病救人
    —— Ron为中国软件企业开10剂良药
        国内企业实施CMM所遇到的问题,既有个性,也有共性。在JBM公司的主持下,国内企业同Ron面对面商讨具体的病症,也终于有机会一起寻找治病良药。

问题1:开发人员不愿做CMM怎么办?
        Ron:刚开始时开发人员不配合,这是一个很大、也很突出的问题,这关键是一种意识的培养,需要一定的时间。企业引入CMM时,开始找不到合适的人做质量 控制,这种现象在各国都存在,也都一样的产生冲突。没有一个简单易行的解决方案。很多程序开发人员都认为做质量控制,不可能是一个职业生涯。在软件还不很 成熟的国家,他们更看重的是技术,例如J2EE、Java等技术培训,如果让他们花时间来做质量控制,就很容易引起他们的反对。
但这种现象不可低估,因为实质上,它反映的是一种企业文化的变换。作为管理层,一定要重视,要不断强调这种工作的重要性。这是一个长期的工作,而且也是一个应当贯彻始终的事情。对于从事质量控制的人员,公司要加以重视,必要时应该给予额外的待遇。这在初期尤其重要。
此外,还要多做些这方面的培训。如果有人反感此类培训,也可以换种方式进行,比如将培训改成“开会”、“聚会”、“沟通”等等。不要让他们产生强制性的反感。从高层到程序员,都要认识到CMM的重要性。
        再先进的东西同样需要一个逐渐接受的过程。开始时要找企业内部一些有积极性的员工或团队做试点,尽量避免直接在一些认识不够且意志坚定的“老顽固”员工或 团队中引入CMM。等到那些有积极性和认识的员工将CMM应用进来,并收到明显效果时再考虑影响到那些反对者。再等到将质量控制的思想转变成企业文化的一 部分时,即便再有新员工也很容易接受这种软件工程思想。
  
问题2:如何找到适合做质量控制的人员?
        Ron:这是一个时间认识的问题。做好CMM工作关键是个人意愿。开始时,可以从企业内部选择一些对此有认识和积极心的开发人员来做CMM,也可以直接从 企业外部招聘新人来做。一般来说,一个企业内部的项目经理可以直接转至CMM,但或许有人会不愿意,采用高压政策是起不到很好、很持久作用的,这应当从工 资、待遇等方面来提升其工作积极性。
我自已和周围的许多同事,本身熟悉多种语言,也曾是非常优秀的开发人员。但后来转行做软件质量控制。就是因为我们意识到它的重要性。改变一个人容易,但要将其变成企业的文化,并最终影响到所有人,这确实是一项很重要的工作。
        按行业来讲,美国开始是国防部采用CMM,后来推广到其它政府机构。以后当政府机构的项目进行招标时,过了CMM3级的企业就能很快争取到项目,这样其它的一些企业也慢慢地跟进过来。
其实,当一个企业的规模发展得越来越大时,其混乱度也随之增高。IT变成一个大部门,为节资,就可以考虑采用CMM。在中国,开始会有一些领头羊的企业,既然要领头,那遇到的困难会更多些。因为许多经验性的东西都需要从头摸索。刚开始时是比较困难的。

问题3:什么人适合做CMM人员?
        Ron:初期时,公司需要指定人来做CMM,而且要对这些人员培训。保证每个企业都有SQA和SEPG。小的企业,100人以下,1个专职人员就足够了。SQA、SEPG人员需要最少3天以上的专门培训。正规的CMM培训班毕业出来的学员其实就是非常好的CMM人员。
        究竟哪些人适合做SQA和SEPG?需要注意以下两点:
        (1)不一定要最好的程序员,但必须要熟悉本行业软件。因为CMM中用到一些工具或技术。相比而言,有一些管理或软件工程思想的项目经理可能更适合些。
        (2)这些人必须有一个共识:软件开发核心中必不可少的一项就是SQA和SEPG。
最终影响CMM实施成败的最关键因素是一件事:持之以恒。中国企业属于封闭式的。要改变企业文化难度比较大。欧洲的企业,也同样存在封闭问题。实施CMM过程的人其实就是改变人观念的人,所以一定要持之以恒。

问题4:在人员紧张的情况下,公司怎样系统地实施CMM?
        Ron:经过很多案例后,SEI认识到:过程改进需要人力投资,投资比例大约在 1.5%-2%之间。一般美国公司投入的人力大约在总员工数的2%,大的企业会超过5%。如果是专人负责,比如100人的企业,由1-2人全职负责就可, 但其它人也要参与。当然,这是一个比例,如果公司没有全职负责人,那所有员工抽出2%的时间同样也可以达到。
        这是一个相对值,但效果非常明显。和实施CMM前相比,只要用2%的人力投资,项目中较大的费用会减少30%、开发时间会节省60%左右。美国人是非常看重现实效益的,从美国公司实施CMM的情况看,他们非常乐意投入这2%的投资。
 
问题5:中国程序员普遍认为,做程序开发有发展,做质量管理没前途,这个问题怎么解决?
        Ron:初期时,企业可以采取一些措施,尽量吸引人才投入到这项工作。例如,提高 待遇,并尽可能地启用一些优秀的人才来实施这项工作。这样,人们从思想上就不会轻视CMM,表现在做法上就是不简单排斥。另外,如果可能,联合这方面的优 秀人才成立类似“过程改进联盟”之类的组织。亚洲有SEPI联盟,香港也有类似的组织。大家一起交流心得,共同提升社会影响和声誉。我也可以作为中国 CMM与美国SEI方面的桥梁,起到一定的沟通与推进作用。
 
问题6:引入CMM,虽长期投资少,但短期成本很高,怎么改变管理层对此的顾虑?
        Ron:引入一个项目,时间是很重要的。要实施,就必须从项目开始时就引入CMM,这样项目开发时间和进度不会太受影响。但如果是项目中间临时引入CMM,势必打乱项目原始的进度。
公司主管是从企业的整个角度来考虑。但有2件事会促使企业下决心来实施CMM:(1)被动式,这种企业必须等问题积累得太多,比如人员流动频繁、财政赤字 很多等等,而且这些问题已经确实在影响企业的进一步发展,这时为了增加企业的竞争力,主管会考虑下决心投入这部分资金;(2)主动式。认为CMM的实施是 个机会,可以避免犯同类错误。这就像美国的花旗银行,当时虽然已经是银行类的龙头老大,但为了在Internet信息时代给客户提供更好的服务,仍然决定 实施CMM。但实施后的效果证明,其它银行与花旗的差距已经更大。
        实质上,管理层的态度是一个根本性的关键问题。如果高层没有非常明确的认识,那CMM的实质肯定会失败。只要当高层下定决心时,他才会领导整个企业重视起来,持之以恒地将CMM实施引向成功。
美国很常见的现象是,公司领导提出目标,经理们则是为帮助上层完成、实现这个目标。所以,经理们的行动也需要上层的支持。我想中国也是同样吧。

问题7:正常情况下12人、一年的项目,却要求6个人、半年的时间完成,这种情况下怎么做好CMM?
        Ron:先自我评估。12个月的项目,6个月能完成吗?如果这样,那靠得更多的是 英雄主义者加班完成,而且还要源源不断地英雄主义。这种情况短期可能会存在,但这个英雄1年可以这么做,可以持久到3年时间吗?对于一个企业,采用这种模 式,那他必须不断地寻找新英雄,这迟早是企业发展的陷阱。在这种情况下,人员的流动率会很高的。
        12人项目6个人来做,这属于一种商业行为。社会上也有这样的成功范例,例如麦当 劳,就采用这种模式。但是麦当劳的员工,很少有人将此当作一个终身的职业。所以,待遇低,劳累多,短期的临时工,而且此中的技术含量并不高。这是一个成功 的商业行为。有时候,软件企业也遇到这样的商业决定,这用于创业阶段免不了。而且,美国创业阶段的公司也很少有人做CMM。但要持续、规模发展,就会自然 而然地产生规模化、规范化的需求。
        硅谷也有这样的例子。很多技术人才,不分昼夜的做项目或完成一件产品,没有家庭、没有电影,没有任何娱乐。这些人的想法也是短期的,用3年赚到下半辈子的钱,然后跳槽到一些大学去做教师。因为他们也知道,体力脑力的透支根本是不能长久的。
        如果作为一家企业,如果长期出现这种情况,则是非常危险的。一些大企业,可以分成 几块或几个部门来做。例如,印度一个较大的军工企业PCI,就是这么做的。一个部门、一个部门地做,现在整个企业都是5级。大企业有多个项目时,也可以选 1-2个项目来做试点。需要用试点解决两个问题:(1)找到适合本企业的方法;(2)用事实证明,引入CMM的好处,如节省了成本、提高了效率,这时,就 可以大规模应用于企业了。
        对于不考虑证书的企业,可以考虑局部引进。例如,对于一般软件,开发人员很少时, 可能需求很重要,这样可以局部引进需求。而对于重大项目,客户的需求已做得非常清晰时,测试和质量控制可能会更重要些。但这些必须活学活用,针对企业的某 个薄弱点来连级实现,不过,必须非常小心。无论什么类型的企业,CMM的实施关键和着重点都要因企业而异,对症下药,量体裁衣,这里没有一个定论。

问题8:做订单和做产品的企业,实施CMM时有什么差异?
        Ron:从CMM来说,两者都是过程,应该是一样的。CMM大框架一样,但量体裁衣,不可能个个都一样。象规模不一样的大、小企业,军工、航空企业、金融通信企业,可能具体都不一样。但总体而言,原则上是相同的。
        做CMM所有文档,有一天你会感觉越简单越好。就象一个DVD的按钮手册一样,太厚,虽然详细,但不见得就是好事。所以,实施CMM也一样,越简单、越实用、越有针对性越好。

问题9:对于3级企业来说,数据达到什么标准就算是符合3级的要求?
        Ron:定义不是很清楚。项目管理要求6月1号做出来,这时,2级或许不一定能达 到,而企业达到3级时,评估会达到这样的程度:最好的项目完成日期为7月1日,最差到5月1日,也就是说,这时企业已经具有了可预见性。而达到4级时,面 对这个问题,会有各种各样地数据证明,具体到精确哪一天能实现到某种程度。3级侧重于收集数据,但使用和分析数据的成分少一些,而4级更多于分析,所以信 息也就更准确些。

问题10:中国加入WTO后,管理层决心很大,但做起来又急于求成。管理层的态度对质量管理人员的难度和压力很大。这种情况怎么办?
        Ron:有两个方法:一是对企业高层进行培训,以使其改变观念。美国企业就是如此 做法,刚开始推行CMM时,其副总以上职位者最少也要做2天的培训。第二,最好用其它企业的成功数据来说话,证明实施CMM的重要性。而且,就美国的实践 证明,通过相应级别评估的企业拿到订单的几率越大,回报率也较好。

七、尾 声
        在过去的2001年,中国互联网经过一轮泡沫的沉重打击后,软件业又成为了新的希 望,甚至2001年本身也被业界欢呼定义为“软件年”。细观之下,确实有很多的好势头:金蝶在香港创业板的上市成功、用友不失时机地也在国内主板成功上 市,并在上市第一天就创造了发行神话;软件出口联盟的相继成立。
但中国软件业的发展究竟处在了什么阶段,就象Ron博士所说的那样,无论如何,不要给国外人一种“中国软件业刚起步”的印象。打造中国的品牌,推动中国的软件产业,依靠国外的“圣经”,依靠几个国内专家、几个国内企业,都不可能塑造一个真正意义上的产业大厦。
        CMM算是提供了一个诊治顽疾的方法,但在中国是否真有实效,必须在认认真真服完药后,等待一段才能明白。这期间,埋头做事、修炼内功,是全体业界、所有软件企业、个人、咨询机构最应该秉持的态度。
        发稿时分,《程序员》编辑部又收到一份来自西安华岳资讯的邀请函——美国CMM主任评审员Rayney 先生即将来华授课……

你可能感兴趣的:(《程序员》百期文章回顾之2——CMM布道中国)