敏感的人会发现,在近来的业内报纸杂志上,"CMM"这个普通的字母组合越来越多地被提及,而"M
o to rala(中国)通过了CMM五级认证"、"鼎新通过了二级"之类的新闻也竞相被各媒体报道。一时间,CMM烁烁生辉,仿佛笼罩在舞台的聚光灯之下。
那么,CMM是什么呢?
在上个世纪六十年代,软件业出现了软件危机。即软件项目经常无法按期完成,软件工程费用超支,软件质量难于控制而且维护费用高,系统更新换代难度大等。为科学评估软件承包商能力并帮助其改善软件质量,应美国联邦政府的要求,美国卡内基梅隆大学软件工程研究所(CMUSEI)开发了CMM---能力成熟度模型(C
ap ab ility M a tu r ity M o d el)。它提供了一个评估软件开发过程的管理及工程能力的标准。
通俗地说,在某种程度上,在软件企业内部实施CMM和ISO9000或9002质量体系认证有相似之处。因为就其基本要求而言,不外乎以下四方面:形成文档化的制度,规范和模板;严格按照制度办事;按照要求形成必要的记录;检查、监督和持续改善。只不过前者更适合于软件企业,因为它是目前国际上最流行、最实用的软件生产过程标准和软件企业成熟度等级认证标准。
CMM标准共分为五个级别:初始级、可重复级、定义级、管理级和优化级。从低到高,标志着软件生产的计划度越来越高,生产周期越来越短,成本也越来越低。对于软件企业而言,实施CMM好处多多:
过程控制规范化、做事方法标准化,使得企业因人员流动而带来的风险降到了最低,并有利于培养公司员工良好的职业素质。以往那种因项目开发的关键人物离职造成项目巨大损失乃至前功尽弃的现象不再出现。因为遵循CMM管理方法,程序员编写的代码一经提交,便成为项目小组或是整个企业的成果,作者想对其进行任何修改,都需按照规范的程序将它从公共区域提取出来。
研发过程逐渐透明化,项目进度得到合理控制。实施CMM,使得企业在项目计划的阶段就把突发事件可能发生的情况、一旦发生时必须采取的措施都列举出来,从而将传统的危机管理变为可控的风险管理。以往那种在软件项目开发的最后阶段,出现"成本超支,时间不够"导致游说客户宽限时间或加钱,否则就牺牲软件产品质量的局面一去不复返了。
为企业积累宝贵的研发管理经验,从而具备规模开发的能力和基础。国人常以我们不缺软件编程员而自豪,可是泱泱大国的软件输出额却远远不及印度。当他们的企业动辄达到成千上万人时,我们却依旧停留在数十人的手工作坊阶段。技术水平的分布不均,管理能力的乏善可陈,导致难以形成规模化的软件生产,从而竞争力不足也是自然之事。而引入CMM,则可以使企业逐步具备开发大项目的实力。
面对读者迫切需要有关CMM信息的趋势,电子社适时推出《能力成熟度模型(CMM):软件过程改进指南》一书。本书分为两部分。第一部分内容包括CMM的演变、软件过程成熟度的概念、模型结构、CMM的理解与运用、案例分析等章节;第二部分包括CMM关键实践等内容,阐述了正在成熟的软件过程所具有的软件管理工程实践;本书最后还包含了一些附录,提供了很有价值的参考信息。
本书可以作为计算机专业高年级本科生、研究生的软件工程教学参考书,也可以作为改进软件过程的人员,包括评估组成员、软件工程过程组成员、软件管理人员和软件从业人员的参考书。
于中国的软件企业而言,引入CMM势在必行。因为用业内人士的话说,"CMM既是软件企业走向国际市场的通行证,也是用来衡量类似期房的软件质量的保证书"。
|