技术开发 频道

商业软件企业如何借鉴CMM管理

    CMM的应用及其局限

    CMM可以应用到许多方面,但CMM研究的初衷是实现:

    ·软件过程评估:用来评估一个软件组织在过程方面的优点和弱点。
    ·软件能力评估:用来评估软件开发承包商的开发及管理能力。

    在CMM的广泛应用中,通过CMM认证的软件企业都不同程度地增强了竞争力,争取到了以前不能得到的合同。例如,Raytheon公司现有近400名软件开发人员,公司用了近五年的时间,将其成熟度从第一级提升到第三级,已经收到了明显的效果。在提升到较高级别的过程中,公司所花费的投资与五年来因成本降低所收到的效益之比为1:8,直接生产效率提高了大约14倍。该公司所开发的产品在成熟度提升前每千条指令出错率约为0.31条,提升后仅为0.03条。

    但CMM也不是功能较多的,并不一定对所有的软件企业都适合,实施CMM的企业有成功也有失败。这是因为,在运用CMM中还存在着一些局限性。主要包括:

    1、CMM提供了一种有步骤且目标一致地改进软件产品的管理过程和工程过程的方案,但是它并不保证软件产品将成功地构造出来,或者保证恰当地解决全部软件工程中的问题。
    2、CMM最初是以承接政府大型软件合同的企业为对象而制订出来的。因此,中小型软件开发企业在采用CMM的时候,必须运用自己的专业知识和判断力去进行剪裁,按照企业本身的特点和需要去解释它的条文。
    3、CMM的实现依赖于有关人员的积极参加和进行创造性活动。
    4、正式推行CMM需要在人力和经费上增加投入,这对中小企业有一定困难。
    5、实施CMM,通常要经过较长的一段时间之后(两年、三年或者更长)才能看到成效。据最新报告,CMU/SEI推荐了从CMM的一个层次提高到另一个层次所要花费的时间,其中最短也需要14个月,可见是一个漫长的历程。

    正确实施CMM的策略

    从去年开始,CMM已受到我国软件业的广泛关注,国家有关部门已出台了相关政策。目前鼎新、东大阿尔派、联想软件已通过了CMM2级认证,摩托罗拉中国软件中心通过了CMM5级认证,还有不少软件企业正在尝试实施CMM,如富基旋风公司正在积极准备2003年通过CMM3级认证。然而针对我国软件企业的现状和CMM应用的局限性,为了使其得到很好的实施,我们必须注意以下几个关键问题:

    1、在引进、消化、吸收的基础上需要自己创新,让CMM更实用化:我国的软件产业引进国外先进管理方法是势在必行的。但国情不同,文化背景不同,因此在引进、消化、吸收CMM的基础上,需要自己创新,有些东西不能照搬照抄。例如,对于成熟度调查表等需要改进。因为管理是与文化有关的,中国文化与欧美文化是不完全相同的,甚至视角都不同,改进是必须的。最近,美国软件工程研究所对原来的CMM模型也作了改进。外国人自己也在改进,对于国人来讲,更应形成自己的管理模式,不断总结、改进、提高。
    2、加强培训和咨询服务:目前我国推广CMM的工作重点应该是举办相关的技术培训、管理培训和咨询服务,让国内软件企业更深入地了解、掌握CMM,并指导和协助软件企业参照CMM模型,迅速地建立一个起始的软件过程,分步骤地改进自己的软件过程。对于其中有条件的、特别是出口型软件企业,应全面实施CMM,逐步通过CMM等级评估,以提高在国际市场上的竞争力。另外,我们还应重视培养自己的CMM主任评估师以及相关的高层次人才。
    3、高层领导要重视并领导实施CMM:企业上层领导要首先理解建立软件过程管理和改进的重要性,并亲自领导这件工作,要保证过程管理的人员配备。
    4、建立过程改进小组,明确责任:在实施CMM的过程中,成立过程改进小组是非常必要的。过程改进小组是过程改进的主要执行者,一方面要赋予成员相应的权力,另一方面要明确规定成员的责任。
    5、借助软件过程评估,专注于软件过程改进:对于我国的软件企业,最好先按照CMM严格的软件工程方法,致力于改进企业的管理,提高软件开发能力,而先不要搞软件能力评鉴以及追求认证、评级。等到能力成熟后,再进行认证。这样可以避免有些企业将追求的目标定为“能力等级评鉴”,取代了实际的产品质量改进,造成华而不实、甚至弄虚作假的现象。
    6、明确软件过程管理与改进的唯一目的是:按时、按预算开发制造出高质量的软件产品。
    7、针对企业自身的特点,对CMM进行适当裁剪:对于CMM和其他的模型与标准,我们不能生搬硬套,而应将其作为参考,必须运用自己的专业判断力,按照企业自身的特点、要求与现实条件,制订软件过程和选择实行改进的部分。
    8、充分认识改进过程本身就是一个规范的过程,需要循序渐进、逐步改进:因为软件过程成熟度的升级本身就是一个有生命周期的过程,而且全面引进CMM所涉及的范围非常广,要求人力、财力与设备资源的投入跟得上。所以在实施CMM时,企业千万不要一开始就把目标定得过高,不必一下子去满足某一能力成熟度等级的所有目标,可以试行某些关键过程域的一部分关键实践活动。另一方面,企业还应该规划出软件过程建立与改进的短、中、长期目标,分清轻重缓急,逐步取得经验,不要一下子动大手术,一下子什么都想得到,也不要作赌博式的全盘投入。企业应在对CMM有透彻的理解之后,才去考虑是否全面引进的问题。
    9、专业开发人员要全力支持,并参与过程管理和改进:CMM的实现依赖于全体有关人员的积极参加和他们的创造性活动,否则不仅他们本人会失去从软件过程改善中获得提高的机会,甚至还会成为过程改进的阻力。

    无论对软件企业自身,还是对我国软件业整体,推行CMM是势在必行的。通过实施CMM,可以促进软件企业规范化管理、工程化生产,提高软件企业的能力成熟度,改进软件的开发、维护过程,按时、按预算为用户提供高质量的软件,提高产品和企业的竞争力。在商业信息化建设、电子商务建设以及商用软件产品与商业应用系统的开发过程中,软件企业借鉴并应用CMM管理方法是非常必要的,对提高商业软件的水平,将会起到很大的推动作用。

0
相关文章