UML软件工程组织

一项赴美CMM调查报告
摘自《上海市互联网经济咨询中心》

软件产业的发展给予一定的政策扶持是必需的,上海软件产业的发展,始终受到市政府极大的关怀和支持,因此软件产业在近年得到了迅速发展。但是软件企业在企业管理和软件开发过程管理方面却一直不能得到充分的提高,产品和服务的质量以及与国际产业界对话的能力一直存在较大的问题。看来,仅仅只有政策上的扶持是不够的,一定的政策和订单还不足以使软件企业充分重视企业管理水平和软件开发过程管理水平的迅速提高,还需要通过“双管齐下”,同时通过强制性的准入手段来推动软件企业总体管理能力和素质的提高。

  2002年7月,就提高软件企业能力素质的方法、途径和CMM在软件企业中的实施等问题,会同市信息办产业处共同组团赴美国进行了考察。

  一、政府采购软件与服务,供应商须通过CMM认证

  1986年底,美国联邦政府,特别是国防部,希望能有一套评估软件供应商能力的方法,以此来选择供应商(其实我们现在很多的客户,特别是政府部门,对如何判断供应商的能力也大为头痛,供应商们在介绍自己的能力和方案的时候,几乎都将自己说成是最完美的公司,真是难以抉择)。为此,卡内基·梅隆大学的软件工程研究所(SEI)正式开始着手这项工作。1987年9月,发布了一份“能力成熟度框架”和一套“成熟度问卷”。四年后,SEI总结了实施“框架”和“问卷”以及对软件公司评估过程中的经验与教训,在"成熟度框架"的基础上建立了一个模型(CMM1.0版),这个模型可以更有效地帮助软件企业建立和实施过程改进计划。1993年SEI又推出了CMM1.1版本。2001年底推出更具创新意义的CMMI。

  CMM的诞生主要是服务于政府的软件与服务采购,帮助政府在软件与服务的采购过程中不至于出现严重的选择错误。它的产生又是美国千百个软件公司数十年软件开发经验的总结和升华。对客户(包括政府)来说,CMM是衡量软件供应商状况的一个基本标准,而对于软件企业来说,CMM是基础的、科学的管理体系。由于美国政府对软件企业设立了软件与服务采购的CMM认定,因此CMM在美国的广泛实施和认同就是必然的了。从美国的实际情况来看,CMM的推广与实施起到了一个良性循环的作用:政府所采购到软件和服务的质量不断提高,效率和效益也在提高;企业在实施CMM的过程中又切切实实地提高了管理水平,从而出现了一个双赢的局面。

  现在美国已经形成这样一条制度:凡是要承接政府订单的软件公司,必须通过CMM认证,否则一切免谈。因此,想做政府项目的软件公司无不积极地实施CMM。由于美国政府的导向作用,如今,不仅做政府项目的公司积极实施CMM,其他的企业也同样在积极实施CMM。

  二、CMM实际作用与价值
  软件开发与服务的过程是一个无法看见的过程,软件公司管理人员和软件客户都难以对过程进行有效的了解和控制,等到发现问题再进行修正,工期、预算、生产率就会受到严重影响。CMM的作用是使得一个软件项目的参与者(软件公司管理人员和开发人员、软件客户等),根据业务分工充分把握项目的时间节点、技术、文档规范、人员、工时、预算、成本等各个方面的情况与要求,从而实现软件开发过程“透明化”和高度可控性,同时可以有效降低编程过程中的差错率。

在雷神(Raytheon)电子系统公司,有一本超过三百页的“蓝皮书”。这是一本从1988年开始制定,1991年在该公司实施CMM过程中重新修订,此后每年都进行更新的公司软件开发人员的“宝典”,它对整个软件开发过程中的所有环节都制定了严格、详细、规范的标准,从而使得公司软件开发的时间、成本、预算、人员数量得到精确的控制,差错率大大下降,效益大大提高。该公司从最初在预算、时间、人力等方面的估计与实际相差大约40%,到现在的估计与最终结果误差控制在5%以内,劳动生产率在10年中提高200%(见图一、二)。




  

 

 

在我们访问的洛克希德·马丁公司软件部门、Stanley Associates、SBC等公司也看到大体相同的情况。

  美国著名通信企业之一SBC公司的软件部门并不对外提供服务,只是为公司自己的系统服务,实施CMM只是为了使公司分布在不同地方的软件人员能够更好地协调一致工作,使整个软件开发的过程能够得到更有效的管理,在时间、成本、预算、人员等方面得到精确计划与控制。此外,活跃在财务、管理、能源等领域的诸多软件公司也都实施了CMM,这些企业希望通过CMM提升自身软件能力,降低生产成本。

  三、设立门槛与资金扶持并举,全面鼓励软件企业实施CMM、ISO认证

  我国目前政府在软件产品和服务的采购方面,一般要求的是通过软件企业资格认定或者获得相应等级的系统集成资质。但是,这两个条件其实只能说明这个企业曾经做过什么,而不说明这个企业的素质能力怎么样。客观地说,仅仅靠这两个条件,并没有办法判断服务商的实际能力。对于同样一个项目,通过了CMM认证的软件企业能十分准确、有依据地报出工期、成本、投入的人力、采用的技术,更重要的是,整个软件开发过程有一套科学合理的管理方法。而没有通过CMM认证的企业,在上述诸方面只能是凭经验和感觉了。对软件客户来说,选择一个通过CMM认证的企业,就意味着整个过程是可以得到比较充分的控制。

  上海市互联网经济咨询中心自2001年开始在上海市范围内开展普及和推广CMM工作。但在与软件企业的接触过程中发现软件企业普遍对CMM实施的积极性不高,主要原因在于CMM认证的费用比较高、周期较长、牵涉的精力较多。总而言之,企业认为实施CMM不实惠,同时现在也没有客户(包括政府)提出这方面的要求。针对以上这些问题,我们建议,可以参照国外的经验,尽快制定政府软件与服务采购新标准,在目前我国只有20多家(华为、联想、东软、鼎新、用友、托普、浪潮、神州数码、华虹NEC、金蝶、亚信、新太科技、同望科技、清华同方、合力金桥、博通、北佳、东方通、摩托罗拉中国软件中心等)企业通过CMM2以上认证的情况下,政府应该优先采购通过CMM和ISO认证或已经开始实施CMM认证(需要有相关材料证明)的软件企业的产品和服务。与此同时,尽快实施《上海市软件企业CMM认证资助专项资金管理暂行办法》,拿出一部分专项资金来支持软件企业进行CMM认证。一方面设立准入门槛,另一方面给予资金支持,只有这样,上海软件业的CMM战略才能迅速实施,经过2-3年的努力,上海将涌现出一批通过CMM认证、有较高素质能力的软件企业,上海软件产业随之将跃上一个新的台阶。 

  从本质上讲,CMM与其说是一种标准,还不如说是一种管理方法和管理思想,是千百个软件公司数十年软件开发和管理经验的总结和升华。目前还没有一套比CMM更行之有效的、能在较短时间内迅速提高软件企业管理水平、被业界广泛认可的方法。中国的软件企业要走向世界,首先要将世界先进的软件开发管理经验拿来,这样才可能被世界范围内的同行和客户认可,走向世界才能成为现实。



版权所有:UML软件工程组织