实施CMM的思考 文章编号:1003—5850(2010)03—0004—02 实施CMM的思考 Thinking on Implementing CMM 张玉梅董瑞博 吴 琼 030006) (北方自动控制研究所 太原【摘 要】近几年来,CMM在我国获得了各界越来越多关注,业界有过多次关于CMM的讨论。国内软件业出 现实施CMM的高潮,从这一趋势看,中国的软件企业已经开始走上标准化、规范化、国际化的发展道路。但 是需要注意的是,一定不能把CMM认证当作一种考试、一种文凭,而是要看成一项有利于企业今后发展的投 资,如果企业只是为了获得一纸证书而通过CMM,那么就已经本末倒置了,对企业的长久发展反而有害。 【关键词】过程改进,软件能力成熟度模型,软件开发 中图分类号:TP31l 文献标识码:A ABSTRACT Recent years,CMM is attained more and more concerns from all kinds of fields in OUr country.in the field of IT.It has reached the climax that we implement CMM in IT field,Chinese software corporation is becoming more standardization and internationalization.Noticeably,CMM is a investment that avails the long time development for the company,do not look at it as a test or others.If the company obtained the CMM certificate just want to gain a diploma,it’S wrong,also do harm for the growth of the corporation. KEYWORDS process improvement,software capability maturity model,software development 20世纪70年代中期美国国防部立题专门研究软 件项目做不好的原因,发现7O 的项目是因为管理不 善而引起,而并不是因为技术实力不够,进而得出一个 结论,即管理是影响软件研发项目全局的因素,而技术 只影响局部。由此诞生了CMM(Capability Maturity 有软件开发经验的人们都知道,许多在开发进程 中存在的问题不是没有解决之道,不是没有恰当的工 具,而是没有恰当的组织和恰当的协调。这些问题在国 内软件企业的工作过程中普遍地存在着,问题往往也 就出在这里。试图解决这一问题其实就是卡内基梅隆 大学的软件工程研究所SEI(Software Engineering Institute)提出的软件能力成熟度模型追求的目标:软 件开发组织如何提高自己的成熟度水平。这个成熟度 水平的衡量标准的难点并不在体系内部,而是在体系 的外部和边界处。 Model能力成熟度模型),目前,学术界和工业界公认 美国Carnegie Mellon大学软件工程研究所(CMU/ SEI)以w・S・Humphrey为首主持研究与开发的软 件能力成熟度模型CMM是当前最好的软件过程,已 成为业界事实上的软件过程的工业标准。 1实施CMM的必要性 软件开发的风险之所以大,是由于软件过程能力 2认识CMM CMM是由美国卡内基梅隆大学的软件工程研究 所受美国国防部委托研究制定并在美国。随后在全世 界推广实施的一种软件评估标准,主要用于软件开发 过程和软件开发能力的评估和改进。CMM标准共分 五个等级,由低到高分别为:初始级、可重复级、定义 级、管理级和优化级。 CMM对软件开发项目最大的贡献在于,它把组 织和管理的精神明确地纳人到软件开发的过程中来, 它不是基于目标和方法的管理,而是基于过程的管理。 通过CMM并不是目的,关键是学习先进科学的软件 开发流程,改进软件过程,不断提高自身研发管理水 平,保证产品质量,让软件企业走上规范化发展道路。 众所周知,软件生产不同于汽车、纺织等制造行业 的生产,它完全是由人进行创造的,外界无法观察,也 低,其中最关键的问题在于软件开发组织不能很好地 管理其软件过程,从而使一些好的开发方法和技术起 不到预期的作用。而且项目的成功也是通过工作组的 杰出努力,所以仅仅依靠“精英”的成功,不能为全组织 生产和质量的长期提高打下基础,必须在建立有效的 软件如管理工程实践和管理实践的基础设施方面,坚 持不懈的努力,才能不断改进,才能持续的成功。 拿CMM标准与国内软件工程的实践相对照,就 可以发现,目前国内软件工程的缺陷主要在于:①缺 乏制度保证,使得软件开发的过程是一个相对的 工程建造过程②缺乏严格的经济技术评价程序,更重 要的是,缺乏对评估结果的正确认识;③缺乏规范的 项目开发管理。 * 2009—10—08收到,2010—01—03改回 ** 基金项目:北方工业公司科研基金资助项目(JPWM0806)。 ***张玉梅,女,1968年生,硕士,高级工程师。研究方向:军用软件。 第23卷第3期 电脑开发与应用 很难进行监控,同时软件也不像制造业的产品那样可 改进工作正是为项目服务的,而不单单是被动的服从 高层经理的安排和质量经理的规划等等。 以方便地进行检测评估,这就给软件的管理和控制造 成了很大的麻烦。国内的软件企业正是由于缺乏一套 完善的管理办法,致使经常出现不能按时发布、产品质 量低劣、项目组中个人作用过于放大等问题。因此,企 业要想真正提高软件质量,在行业具有竞争力,就必须 改变整个软件业管理的方式方法。而管理正是CMM 的强项,它提出的过程监控以及文档先行,让企业在软 件生产的每个步骤都留下翔实的文档,从而实现软件 3实施CMM反思 现实的过程往往令人扫兴,CMM是一套科学的 知识体系,在国外,做CMM是为了检验和提升自身能 力,国外公司看重的是这套体系对自己的真正价值;而 在中国,企业关心的已经不是CMM认证的结果,而是 其广告效应,是证书本身。在他们眼中,CMM证书一 生产的标准化控制,让企业有效地控制软件生产各方 面的问题。CMM作为SEI许多专家多年研究的结晶, 是一座金矿,乍一看就是一堆砂,但其中蕴藏着金子。 要想得到它,需要付出很大的努力!一个有志于改进自 己软件过程的企业以CMM作为镜子对照自己,作为 尺子来衡量自己,找出差距和不足,进而采取措施有目 标、有针对性地提高自己的软件设计能力,或者说提高 软件过程的成熟度,这才是CMM的真正意义所在。 CMM不是个别人的事,组织中每个人都应不同 程度地参与。每个人都要想想我应该尽到什么职责,要 “调整心态,从我做起”。能否有效实施CMM,能否让 CMM在企业发挥应有的作用,最关键的两个人物是 高层经理和项目经理。 对于高层经理来说,需要正确认识CMM实施带 来的额外工作量,配备必要的资源,CMM实施最直接 的后果就是带来了很多的事务性管理工作,这要求设 立一些专职的角色,如SQA、SCM,或者配备适当的工 具,把相应的工作量从项目经理的身上分离出来。否则 一旦技术和管理展开竞争,牺牲的肯定是管理;高层管 理有必要改变自己的管理习惯,原来很多事都口头裁 决,现在需要先看有没有规范,如果有,就尊重规范,规 范就是文档化的组织意志。最后,实施体系就是打破旧 平衡,建立新平衡,这个过程中体系会相对混乱,对正 在运行的项目会产生一定的影响,甚至于在个别企业 中,出现技术人员由于适应不了新的工作方式而离职 的例子,这些情况,高层管理者都应该心理上有所准 备,对CMM抱有坚定的信心。 对于项目经理来说,要改变技术本位主义,国内的 项目管理,大多是技术出身,没有接受过系统的管理知 识,心态多是技术带头人而已。CMM本质就是解决管 理问题,所以对项目经理来说,做CMM就是从技术上 分出一部分时间来做管理,管理者需要主动调整心态 以适应新的情况。项目经理的从我做起还包括,他们 是沟通项目层和管理层的桥梁,对于CMM的贯彻起 着承上启下的作用。贯彻CMM不可能奢望全体人员 一致拥护,但是项目经理的积极参与却是必要的。 CMM实施的内部驱动有两个:高层经理和项目经理。 高层经理通过资源和驱动,项目经理以实际问题 驱动。项目经理要做过程改进的“明白人”,认识到过程 名声+客户,是一张“金字招牌”。 Soft Tech公司副总裁李颖总结了三点看法:① CMM是帮助企业正规化的一种非常好的方式,真正 想做软件,不论是在国内做还是国外,都应该达到这个 水平;②认证的过程是纠正企业偏差的过程,而这是 企业花钱都买不到的;③一定不能把CMM认证当作 一种考试、一种文凭,而是要看成一项有利于企业今后 发展的投资,借此来改变中国软件业长久以来形成的 积弊。 很多东西进入中国后都会改变,CMM也没有理 由例外。ISO9000就是前车之鉴。中国是亚太地区通过 ISO9000企业最多的国家,但仍然没有成为公认的产 品质量强国。现在ISO9000在中国已经泛滥成灾,失 去了应有的权威性。如果同样的事发生在CMM身上, 真是中国软件企业的耻辱,是中国软件企业的灾难。真 的到了某一天,由于不信任,国外将软件外包的标准都 提高到4级或5级,实际上就是自己害自己,堵死了自 己的路。 企业通过CMM不是为了满足其他公司的要求, 而是为了让企业更好地发展,为企业进一步扩大规模 打下坚实的基础。如果企业只是为了获得一纸证书而 通过CMM,那么就已经本末倒置了,对企业的长久发 展反而有害。试想如果企业的态度不够端正,即使通过 CMM认证,企业又怎么能够保证它在以后的操作过 程当中继续坚持CMM规范呢?CMM只是一个让企 业更好发展的规范,不应该成为企业炒作自己的工具, 企业需要的是优化自己的管理、提高产品的质量,而非 一张CMM证书。 4结束语 CMM是一件严肃的事,通过CMM并不是目的, 关键是学习先进科学的软件开发流程,改进软件过程, 不断提高自身研发管理水平,保证产品质量,让我们的 软件企业走上规范化发展的道路。 参考文献 [1] 何新贵.软件能力成熟度模型[M].北京:工业技术出 版社,2001. [2] 杨一平.软件能力成熟度模型CMM方法及其应用 [M].北京:工业技术出版社,2001.