技术开发 频道

CMM—软件企业走向世界的通行证

【IT168 技术文章】

    正当我国计算机软件行业 2000 年实现产值 235 亿元,为自己九十年代年均 30% 的增长沾沾自喜的时候,从邻国印度传来捷报: 1999-2000 年度,印度软件产业实现产值 56.5 亿美元,其中出口 40.5 亿美元,占目前印度出口总额的 10.5% , 是中国的近百倍 ,软件产品已远销世界 75 个国家和地区,其中 28 个国家完全依靠印度的软件和服务支撑。而在八十年代,印度软件业与我国不相上下。我们在总结印度软件业成功因素时发现,除了语言优势、政府高度支持外,软件企业高度重视质量、积极进行质量认证对其软件走向世界起到了极其重要的作用。印度有 170 家公司获得 ISO9000 质量标准认证, 5 家得到 CMM 五级认证(全球共 13 家)。《财富》全球 500 家大公司中,有 203 家采用印度计算机软件。摩托罗拉等跨国公司把 CMM3 级认证作为其软件供应商的必要条件。因此可以说, CMM— 软件企业走向世界的通行证。

    本文拟对 CMM 认证体系做一个简要介绍,并对我国软件如何进行 CMM 认证提出自己的建议。

    一  CMM 认证体系

    概念

    CMM (软件能力成熟度模型: CapabilityMaturityModelForSoftware )是由美国卡内基梅隆大学的软件工程研究所( SEI : SoftwareEngineeringInstitute )受美国国防部委托于 1987 年研制成功的,在美国,随后在全世界推广实施的一种软件评估标准,是一种用于评价软件承包能力并帮助其改善软件质量的方法,主要用于软件开发过程和软件开发能力的评估和改进,它侧重于软件开发过程的管理及工程能力的提高与评估, 1987 开始实施认证。

    CMM 内容

    CMM 评估包括 5 个等级,共计 18 个关键过程域, 52 个目标, 300 多个关键实践。各级特征与要求见表一。

    级
     名称
     特征与要求
     说明
 
    1
    初始级
    过程无序,进度、预算、功能、质量不可预测,企业一般不具备稳定的软件开发环境,常常在遇到问题的时候,就放弃原定的计划而只专注于编程与测试
    原始状态,不需要认证
 
    2
    可重复级
    建立了管理软件项目的政策以及为贯彻执行这些政策而定的措施。基于以往项目的经验来计划与管理新的项目。达到此级别的企业过程已制度化,有纪律,可重复
   
    3
    定义级
    过程实现标准化。在这一级,有关软件工程和管理工程的特定的、面对整个企业的软件开发与维护的过程的文件将被制订出来。同时,这些过程是集成到一个协调的整体
  
    4
    管理级
    企业对产品与过程建立起定量的质量目标,同时在过程中加入规定得很清楚的连续的度量。作为企业的度量方案,要对所有项目的重要过程活动进行生产率和质量的度量。软件产品因此具有可预期的高质量。达到该级的企业已实现过程定量化
  
    5
    优化级
    整个企业将会把重点放在对过程进行不断的优化,采取主动去找出过程的弱点与长处,以达到预防缺陷的目标。同时分析各有关过程有效性的资料,作出对新技术的成本与收益的分析,并提出对过程进行修改的建议。达到该级的公司过程可自发地不断改进,防止同类缺陷二次出现 

    表一 CMM 特征与要求

    由上表可以看出, CMM 为软件的过程能力提供了一个阶梯式的改进框架,它基于以往软件工程的经验教训,提供了一个基于过程改进的框架图;它指明了一个软件组织在软件开发方面需要哪些主要工作,这些工作之间的关系,以及开展工作的先后次序,一步一步的做好这些工作而使软件组织走向成熟。

    CMM 的意义

    CMM 的意义不仅仅是对软件开发的过程进程管理,最关键的它还是一种高效的管理方法,有助于企业最大程度的降低成本,提高质量和用户满意度,而这正是中国软件业与美国、印度软件业最大的差距之处。

    与软件工程不同的是, CMM 是对于企业软件开发的整个过程进行全方位的考察与评估,甚至包括了对于开发人员的管理、文档的管理以及对开发人员素质的评估。 CMM 也不同于目前大家所熟知的 ISO 9000 系列质量体系的认证,因为后者是针对各行各业所有生产过程的管理,而对软件产业的特殊性考虑不够。

    CMM 并不强调所有的软件企业都采用统一的管理模式和规范,而是提供一系列评估的指标,帮助企业在原有基础上进一步实现规范化管理,比如企业的文档之间是否保持一致性、软件开发人员的管理是否严格、开发的软件是否经过严格测试等等。

    CMM 对企业的要求和帮助

    基于 CMM 模型的软件成熟度实践要求企业尽量采用更加规范的开发标准和方法,使用更加科学和精确的度量手段,选择更便于管理和使用的开发工具。因此,造成了整个工程的可重构性、可分解性和最优化,明确了整个项目中必要和不必要的工作,明确了整个项目的风险,以及各个阶段进行评估的指标与应急措施。

0
相关文章