本文拟对 CMM 认证体系做一个简要介绍,并对我国软件如何进行 CMM 认证提出自己的建议。
一 CMM 认证体系
概念
CMM 内容
CMM 评估包括 5 个等级,共计 18 个关键过程域, 52 个目标, 300 多个关键实践。各级特征与要求见表一。
级 |
名称 |
特征与要求 |
说明 |
1 |
初始级 |
|
原始状态,不需要认证 |
2 |
可重复级 |
|
|
3 |
定义级 |
过程实现标准化。在这一级,有关软件工程和管理工程的特定的、面对整个企业的软件开发与维护的过程的文件将被制订出来。同时,这些过程是集成到一个协调的整体 |
|
4 |
管理级 |
企业对产品与过程建立起定量的质量目标,同时在过程中加入规定得很清楚的连续的度量。作为企业的度量方案,要对所有项目的重要过程活动进行生产率和质量的度量。软件产品因此具有可预期的高质量。达到该级的企业已实现过程定量化 |
|
5 |
优化级 |
整个企业将会把重点放在对过程进行不断的优化,采取主动去找出过程的弱点与长处,以达到预防缺陷的目标。同时分析各有关过程有效性的资料,作出对新技术的成本与收益的分析,并提出对过程进行修改的建议。达到该级的公司过程可自发地不断改进,防止同类缺陷二次出现 |
表一 CMM 特征与要求
由上表可以看出, CMM 为软件的过程能力提供了一个阶梯式的改进框架,它基于以往软件工程的经验教训,提供了一个基于过程改进的框架图;它指明了一个软件组织在软件开发方面需要哪些主要工作,这些工作之间的关系,以及开展工作的先后次序,一步一步的做好这些工作而使软件组织走向成熟。
CMM 的意义
CMM 的意义不仅仅是对软件开发的过程进程管理,最关键的它还是一种高效的管理方法,有助于企业最大程度的降低成本,提高质量和用户满意度,而这正是中国软件业与美国、印度软件业最大的差距之处。
与软件工程不同的是, CMM 是对于企业软件开发的整个过程进行全方位的考察与评估,甚至包括了对于开发人员的管理、文档的管理以及对开发人员素质的评估。 CMM 也不同于目前大家所熟知的 ISO 9000 系列质量体系的认证,因为后者是针对各行各业所有生产过程的管理,而对软件产业的特殊性考虑不够。
CMM 并不强调所有的软件企业都采用统一的管理模式和规范,而是提供一系列评估的指标,帮助企业在原有基础上进一步实现规范化管理,比如企业的文档之间是否保持一致性、软件开发人员的管理是否严格、开发的软件是否经过严格测试等等。
CMM 对企业的要求和帮助
基于 CMM 模型的软件成熟度实践要求企业尽量采用更加规范的开发标准和方法,使用更加科学和精确的度量手段,选择更便于管理和使用的开发工具。因此,造成了整个工程的可重构性、可分解性和最优化,明确了整个项目中必要和不必要的工作,明确了整个项目的风险,以及各个阶段进行评估的指标与应急措施。
二 CMM 认证过程
CMM 评估由已经具备一定开发经验的企业向设在美国卡内基梅隆大学的软件工程研究所的认证委员会提出,依据 CMM 认证规范,由经过 SEI 授权的首席评估员 (LeadAssessor) 主持。认证结果就是首席评估员的签字,没有证书。
CMM 认证过程包括准备、实施和报告三个阶段,见表二。
阶段 |
子项 |
工作内容 |
准备 |
组织 |
成立评估小组;界定软件过程的所有者;确定改进范围 内部过程的归纳和整理;工具的开发 |
自评 |
根据 CMM 文件中 2 级的要求进行内部评审 界定不符合 CMM2 级要求的过程要素 改进内部文档 | |
实施 |
初评 |
|
行动 |
制订行动方案;实施行动方案;执行改进后的过程 记录和分析改进后过程的能力和表现;继续改进 | |
报告 |
正式 评估 |
现场阶段 报告阶段 |
实施结果 (鼎新公司) |
产品质量得到了提高 千行代码的错误率减少了百分之三十 返工由过去的二至四次减少为一次 , 总时间缩短 70% 以上 交货期缩短了 预算得到了控制 高级经理获得了对项目进展情况更好的了解 管理的工作量加大了 |
表二 CMM 认证过程
任何企业申请 CMM 认证必须从 2 级开始,一级级向上评,不能越级评审。每一个 CMM 等级评估周期(从准备到完成)约需 12-30 个月。每一级认证费用约需 10 万美元。
CMM 认证的作用不在于获得一纸 CMM 证书,而是通过实施认证过程,不断改进软件企业开发规范、组织、文档、管理,达到提高软件质量、缩短开发周期、减少开发成本的目的。因此,决不能采用国内一些企业对待 ISO9000 的方式对待 CMM 论证。
三 国内 CMM 认证状况
据了解,此前世界上拥有通过 CMM5 级认证的软件企业的国家只有美国和印度。从 1987 年至今 2000 年 10 月,全世界仅有 1269 家软件公司和机构通过了各系列的认证。其中 5 级 38 家、 4 级 50 家、 3 级 210 家, 2 级近 400 家,中国目前已有 3 家企业通过 CMM 认证。 CMM 的认证要求企业在软件生产的质量控制等软件工程方面达到非常高的水平,就质量的要求看 ISO9000 相当于 CMM2.5 级的水平。国内企业通过 CMM 认证情况如下:
1999 年 7 月 6 日,北京鼎新信息系统开发公司成为我国首家通过 CMM 2 级评估的软件企业。该公司由 IBM 和清华同方股份有限公司合资成立,是一家主要从事面向对象技术和构件技术的开发与应用的外向型软件企业。鼎新公司成功通过认证的一个主要原因是,该公司自 1996 年参加美国 IBM 环球虚拟实验室的软件开发工作,就一直按照 IBM 严格的管理模式对软件开发过程进行管理。
北京创智公司在 1999 年成为中国第一家达到 CMM 四级认证的机构。该公司为国家 863 火炬计划四大软件产业化基地之一。
2001 年 3 月,联想通过 CMM2 级认证。
除本国企业外, 2000 年 10 月,摩托罗拉公司宣布摩托罗拉中国软件中心经过 7 年的努力,通过了 CMM5 级认证。这是国内首家通过这一级别认证的企业。回想 1992 年摩托罗拉印度软件中心通过 CMM5 级认证,带动了印度软件企业大量参与 CMM 认证。希望这次摩托罗拉能为中国软件企业担当领头人的角色。
国内企业通过 CMM 认证少,主要原因有几个方面:一是观念跟不上,没有把 CMM 认证放在企业经营的战略高度;二是费用高;三是软件企业规模普遍较小。为此,北京市等一些地方政府开始采取鼓励、支持政策,积极宣传 CMM 认证,对参与认证的企业进行经济资助。相信今后会有越来越夺得企业参与、通过 CMM 认证。
四 软件企业进行 CMM 认证的建议
国内软件企业没有实施 CMM 认证最大的障碍是观念滞后:
• 我国企业质量意识差由来已久,就是今天也还有大量假冒伪劣商品充斥市场;
• 国内软件需求旺盛成了我们许多企业的包袱(我国软件销售额中,国产软件占 30% ),众多企业没有走出国门、参与世界范围竞争的意识;
• 东方文化的传统重视整体不重视分析与过程,使我们没有把摩托罗拉、 IBM 等世界上先进公司的质量意识作为自己的楷模;
• 软件企业分散、规模小、封闭限制了我们把世界已经通行的标准引入我们软件开发的过程。 97% 的中国软件公司都属于小型运作,规模不超过 200 人。这些公司所采取的软件开发管理模式只适合于小型项目;
在这种环境下,进行 CMM 认证、走向世界不是单个企业的事,而是我们整个民族的任务,需要政府、研究部门、企业共同努力。因此,应在以下方面进行努力:
• 大力宣传 CMM 。普及 CMM 知识,就像当初宣传质量管理、 ISO9000 那样宣传 CMM ,达到全民皆知、全民参与的目的;
• 政府、研究机构加强对软件企业的辅导,为每个企业至少培养 1 名熟悉 ISO9000 、 CMM 的质量管理人员;
• 软件企业应成立质量组织,管理、控制、改进软件质量,向 CMM 认证靠拢;
• 对于像合肥软件园这样软件企业规模较小、分散的现状,建议由政府出面,软件企业联合起来,选择一两个有条件的企业出面申报。经费由政府、申报企业、其它企业共同承担。申报成功以后,资源共享,对外打一个品牌,使欠发达地区的软件企业也能够参与国际竞争。
通过这些措施,相信能大力促进国内软件企业参与 CMM 认证,早日取得走向世界的通行证。文章来源于领测软件测试网 https://www.ltesting.net/