CMM(软件能力成熟度模型:Capability Maturity Model For Software)介绍 - 已发表文章 - 王缉志

(这条文章已经被阅读了 935 次) 时间:2000-11-09 21:13:37 来源:王缉志 (王缉志) 转载

一、CMM的含义及作用
CMM(软件能力成熟度模型:Capability Maturity Model For Software)是由美国卡内基梅隆大学的软件工程研究所(SEI:Software Engineering Institute)受美国国防部委托研究制定并在美国,随后在全世界推广实施的一种软件评估标准,主要用于软件开发过程和软件开发能力的评估和改进。
CMM软件评估标准是从1930年开始的近代质量管理理论与实践基础上发展起来的。1986年美国卡内基梅隆大学由联邦政府赞助成立了软件工程研究所(SEI),1991年SEI采访了100多家软件公司,开发出了CMM 1.0版本,1993年又推出了1.1版本。CMM把软件开发过程的成熟度由低到高分为五级,即初始级、可重复级、已定义级、已管理级和优化级。随着CMM等级的提高,逐步降低了软件开发风险,缩短了开发时间,降低了软件开发的人力物力成本,降低了灾难性的错误发生率,提高了质量。CMM评估等级的提升会大幅度提高软件开发能力,有助于客户特别是大公司对该软件企业建立信心,并向该软件企业下订单采购软件产品。
我国软件要大幅度提高开发能力,走向世界,必须向国际上公认的软件评估标准靠拢。目前北京的软件出口约占全国软件出口的三分之二,而美国的软件市场约占世界软件市场的三分之二,这两个三分之二如何对接?即北京的软件产业如何能够开拓美国市场,关键之一就是要获得CMM认证的通行证。印度软件企业因通过CMM认证而大量出口软件到美国为我们提供了先例。
二、美国、欧洲和印度的经验表明:CMM确能促进软件产业发展
1.CMM在美国
现在美国10-15%的软件客户都是大公司,如波音公司、洛克希德公司等,他们一般都要求软件供应商通过较高级别的CMM评估。
2.CMM在欧洲
欧洲许多国家除独立研究与实践有关软件成熟度的软件工程理论和方法外,也引进了CMM评估。英国著名的路透集团就是其中之一,该集团于1998年通过了CMM 2级评估,计划于今年通过3级评估。在CMM评估中,对包括经理在内的所有员工都进行了培训,目前已有64名从事CMM评估的全职人员。
3.CMM在印度
印度的Infosys是拥有约4500名员工的大软件公司,已于1999年通过CMM 5级评估。1991年前该公司软件开发没有执行标准,软件开发水平仅取决于开发人员个人的努力和高级主管对未来的预测。随着软件开发领域的扩大,公司决策人意识到在公司中必须实施软件规范,1992年起按ISO 9001标准去做,1993年通过了ISO 9001论证。从1993年起又开始CMM评估,由1级一直提升到5级。大幅度提高了软件开发能力,保证了向美国和欧洲软件出口的高增长,现在为《财富》杂志排名前500家企业中的许多家提供应用软件。Infosys公司的CMM专家K.Dinesh先生在论坛上介绍了以上情况后着重谈了个人的体会:CMM是一个很好的软件标准,可以给软件企业带来好处,但CMM能否实施成功,取决于人的努力。在实施CMM中,职工要改变原来的习惯,每个人都要制定自己的目标。软件质量由人 + 技术 + 过程决定。三个因素如同一张桌子的三条腿,每条腿都重要。
印度的QAI公司是从事服务和软件开发的公司,积极参加CMM评估,现在是印度唯一专门从事CMM评估的公司,也是亚洲第一个具有CMM评估资质机构。QAI的商务经理V. Manghani先生在论坛上介绍了通过CMM评估提高印度软件产业整体水平的情况。印度的软件产值从10年前的5000万美元增长到1998-1999年度的40亿美元,保持了50%以上的年增长率。目前印度有约1000家软件企业,28万软件人员,仅次于美国。《财富》杂志中排名前500家企业中有200多家都是印度软件企业的客户。印度在软件领域中取得好成绩的原因有:软件开发成本低、英语能力好、技术水平高、教育制度保证有顶尖人才参加软件开发、软件人员待遇高、员工对公司忠诚度好、采用好的质量管理方法等。印度很多软件公司10年来一直进行软件过程改进,他们认识到只采用一种框架不能提供很好的产品,因应采用混合性标准,主要有:ISO9001、CMM、P-CMM(个人软件开发成熟度模型)、总体质量管理等。现印度有100多家软件企业通过了ISO9001论证,越来越多的企业认识到应逐步采用CMM评估标准。目前全球只有54家软件企业通过了CMM 4级和5级评估,其中印度就有29家。印度对于软件人员进行软件标准培训非常重视,印度大软件公司对于新员工要进行5-8周的入门培训,以后新员工还要受导师培训。印度每年定期进行CMM培训,现已培训了3万多名软件人员。
三、我国如何根据国情引进CMM评估
1. CMM是一种过程较复杂、费用较昂贵的评估
CMM评估包括5个等级,共计18个关键过程域,52个目标,300多个关键实践。每一个CMM等级评估周期(从准备到完成)约需12-30个月。每一级别的评估由美国卡内基梅隆大学的软件工程研究所授权的主任评估师领导一个评审小组进行,其成员大部分来自企业内部。评估过程包括员工培训(企业的高层领导也要参加)、问卷填写和统计、文档审查、数据分析、与企业的高层领导讨论和撰写评估报告等。评估结束由主任评估师签字生效。
要取得主任评估师的资格比较困难,首先要有10年以上的软件开发经验;其次要在美国卡内基梅隆大学的软件工程研究所接受培训,培训费用每人约需数万美元,非美国人加倍;第三要经过两次以上CMM评估的全过程实习;第四要得到已有主任评估师资格的人推荐。主任评估师的资格并非终身制,如要继续保持,每年至少要参加两次CMM评估。目前全世界一共只有313个主任评估师,大部分在美国,而我国大陆还没有一个主任评估师。
由于我国在CMM评估中要聘请外籍主任评估师,所以费用较高。据估计,要通过一个级别的CMM评估,费用是通过ISO9001认证的十多倍。
2. ISO9001与CMM的关系
国际标准化组织ISO9000系列质量保证体系用于制造业的是ISO9001(在软件行业的实施指南为ISO9000-3),与CMM均可作为软件企业的过程改善框架,前者面向合同环境,站在用户立场对质量要素进行控制,而后者是对软件组织内部过程能力的逐步改善。
ISO9001与CMM是强相关的,ISO9001不覆盖CMM,CMM也不完全覆盖ISO9000。一般言,通过ISO 9001认证的企业可达到CMM 2级或略高的程度,通过CMM 3级的企业只要稍做补充,就可较容易地通过ISO 9001认证。粗略地说,ISO 9001近似于CMM “2.5级”。
ISO 9001约有80%的文件可以用于CMM 2级评估。
3. CMM与工具
CMM评估只定义了要做什么,但没有定义如何做。一般说,CMM评估主要考虑的是达到各个级别的要求,至于工具通常就是利用现有的数据库软件和办公软件(如Microsoft公司的Excel),专门的工具很少。
北京鼎新信息系统开发有限公司在CMM评估实践的基础上,开发了一个基于Lotus Domino / Notes的软件开发过程管理工具:项目助手2000。
4.CMM评估的文化背景
在CMM讨论会上,有人问已通过CMM 5级评估的印度Infosys公司的K.Dinesh先生,已通过了5级,是否已万事大吉?回答是:”通过CMM 5级,只是万里长征的第一步。为了保持市场份额,还要做许多工作”。显然,印度既看重CMM评估,但更看重市场,通过CMM评估只是更好地进行市场竞争的手段,在市场竞争中任何时候都不能掉以轻心的。
国外CMM等级评估生效,只需要主任评估师的签字,既没有某主管单位的批准,也没有盖上公章的证书。显然,国外更看重主任评估师及公司的信誉。
5.我国的软件企业应根据自己的实际情况引进CMM评估方法。
在引进CMM中,要根据软件企业的实际情况,大致可分为两类:
有软件出口的企业,应逐步通过CMM等级评估,以提高在国际市场上的竞争力。
一般软件企业可以借鉴CMM的方法,改进软件企业的管理,提高软件开发水平。
当前国内比较容易着手做的工作是:进行CMM的普及性培训,请已通过CMM某级别的软件企业代表介绍经验等。

CMM(软件能力成熟度模型:Capability Maturity Model For Software)介绍 - 驿媒特使 - 2000-11-10 22:03:37

ISO9000与CMM绝对不能相比较。ISO是Paper Work,而CMM是需要实际开发经验以及技术实力。如果哪个公司在中国想拿到ISO证书,只要肯出钱,不论水平与否,不管开张多长时间肯定能搞到(当然是中国特色的),而CMM不同,要求要严格得多,其最重要的原因就是因为CMM特别的门槛。中国的CMM级别评估师最起码还需要5年以后,更不要说CMM评估公司了。目前国内两家都是国外大公司的背景,软件公司要修的路还很长,但这条路是必经的。