返回首页

中心简介

CMM咨询评估 资质认证 软件评测 硬件评测 工程监理

双软认定

培训服务

 

公告栏

著作权登记  


摩托罗拉:CMM实施效果显著

    对从事软件开发的企业或组织来说,面临的主要问题是:客户要求软件系统实现的功能越来越多,系统越来越庞大和复杂,相应地,参与开发项目的工程师人数也越来越多,在这种情况下,如何保证项目能按期完成?如何有效地减少错误数目,提供高品质的软件?如何缩短软件的开发周期,降低软件的开发成本?如何预防软件开发过程中可能出现的风险?这些问题已经成为制约软件企业快速发展的严重障碍。为了解决这些问题,摩托罗拉公司早在1981年便开始关注产品的品质和全客户满意服务等问题,并在1982年成立了摩托罗拉公司质量委员会,专门负责质量体系的评审。SEI CMM模型刚一推出,摩托罗拉便与SEI开展了密切的合作,在公司内部推广CMM。 

    项目背景 

    摩托罗拉电信运营方案部亚太区应用研发中心(以下简称“应用研发中心”)成立于1994年10月,其使命是成为摩托罗拉公司开发和提供先进的无线网络系统方案的技术中心。 
应用研发中心成立后,高层领导一直非常重视软件开发过程的定义和运用,并开展了一系列工作: 

    ● 1996年 
    始着手了解和熟悉摩托罗拉电信运营方案部的软件开发过程定义。 
    ● 1997年 
    成立了专职的过程与品质团队,专门负责协调软件开发过程的定义和监督过程的实施; 
    开始定义应用研发中心的软件开发过程; 
    开发了培训管理工具。 
    ● 1998年 
    建立起一套应用研发中心的标准软件过程; 
    投资建立起Rational公司的ClearCase环境; 
    邀请摩托罗拉资深软件工程专家Dean Fritz先生来中心实施了CMM的初步评审。 
    ● 1999年 
    开发了同级复审数据管理、测试管理等工具; 
    集成了Rational公司的ClearQuest和ClearCase环境; 
    年底,一举通过评审,获得了中国第一个正式的SEI CMM4级认证; 
    ● 2000年 
    建立起了一套完整的软件开发过程定义; 
    开发了项目信息管理和TimeSheet管理工具; 
    集成了所有的管理工具,建立了统一的SEMIS软件工程管理信息系统; 
    得SEI CMM的顶级认证——SEI CMM5级认证。 

    问题与难点 

    应用研发中心从着手实施SEI CMM到2000年获得CMM5级认证只经过了短短5年的时间,但在这5年中,我们遇到了无数的问题和困难,归纳起来主要有以下三方面的问题: 

    1. 起步难 

    “万事开头难”,对应用研发中心来说,实施SEI CMM的起步尤其艰难。在1995年,中国还很少有人听说过CMM,对CMM有较深理解的人更是难以寻觅,因此应用研发中心不得不自力更生,抽出大量的人力去收集资料、进行研究,然后开发出自己的软件开发过程定义。 

    2.缺乏软件工程知识 

    应用研发中心的工程师绝大多数来自国内的企业、研究所和大学,普遍缺乏软件工程知识。例如,很多工程师都习惯于先编写代码,然后再补写设计文档。让他们改变原有的习惯,遵循定义的过程来开发软件,无论是对软件质量保证工程师还是对软件开发工程师来说,都是一个巨大的挑战。 

    3. 项目压力大 

    有些项目的开发计划很紧,使得大部分工程师都肩负着很繁重的开发任务,而在新的过程定义实施时,需要他们抽出紧张的时间来了解、掌握和遵循过程定义,或需要他们参与开发过程的定义,这些任务有时会让他们觉得是一种额外的负担,不愿遵循或参与。 

    实施经验 

    1.领导的高度重视 

    在应用研发中心,从总监到项目经理的各级领导都非常重视软件开发过程的定义和运用。实施SEI CMM需要投入大量的人力、物力,在高层领导的支持下,我们成立了由10名过程定义工程师和质量保证工程师组成的专职过程与品质团队,此外还有20%的软件工程师兼职参与软件开发过程的定义和运用。我们还投入资源开发了软件工程管理信息系统来辅助软件开发过程的实施,投资建立了ClearQuest和ClearCase软件配置管理环境。 

    2.工具的使用 

    软件过程的运用需要收集和分析大量的数据,如项目管理状况、软件评审结果、错误收集、分类和统计等,完全依靠手工来完成这些工作是难以想像的。因此,充分利用工具来减轻手工劳动强度,将有利于软件开发过程的运用与推广。 
应用研发中心自行开发的大型管理信息系统SEMIS集成了项目管理 、软件评审、错误分类和统计、培训管理、质量保证等多项功能,实现了软件开发过程中各类数据的实时收集、处理和分析,从而为整个组织进行基于数据的科学决策和管理提供了强有力的工具。 

    3.有效的培训 

    让每个工程师都理解SEI CMM的基本原理、清楚地知道应用研发中心定义的软件开发过程,是保障软件过程能被正确贯彻的基础。要做到这一点,必须实施有效的培训。 
应用研发中心一直重视培训工作,现在已经开发出了一套完整的软件过程培训课程,并培养了一批合格的讲师。每一个新加入应用研发中心的软件工程师都必须参加这套软件过程课程培训。这样,既能保证100%的员工都接受培训,又能保证培训能够有的放矢,并降低了培训成本。 

    实施成果 

    CMM的实施过程使应用研发中心的软件开发过程得到了不断的发展和完善,同时也使应用研发中心本身获得了高速的发展。从1995年到2000年,应用研发中心的规模几乎每年都翻了一番。更重要的是,实施SEI CMM后,应用研发中心在软件开发效率、质量等方面取得了明显的效果,下面的具体数据说明了这些主要成果。 

    1.生产率(Productivity) 

    生产率用来衡量一个企业或组织的生产效率,等于总源代码数量与投入项目的总人月数之比。1998年,应用研发中心参考其他类似组织的数据,定下了0.625KAELOC/Staff Month的目标,但实际只达到了0.50。经过两年软件过程的推广和运用,2000年的生产率达到0.96KAELOC/Staff Month,比1998年提高了近一倍(图1)。 


图1 生产率提高水平

    2.差错率 

    差错率用In Process Faults表示,是衡量软件品质的标准之一,定义为每一单位源代码中所包含的错误数量。In Process Faults值越低,表示软件的质量越高。图2显示了应用研发中心实施CMM之后,In Process Faults值的变化情况。


图2 软件差错率降低情况

    3.发现引入错误能力 

    发现引入错误能力用Phase Containment Effectiveness表示,其作用是衡量每个软件开发阶段发现引入错误的能力。例如,如果在设计阶段总共引入了100个错误,但在设计阶段就发现和修改了其中的70个错误,那么发现引入错误的能力就为0.70。图3显示了应用研发中心发现引入错误能力的提高情况。


图3 发现引入错误能力改进

    4.软件开发成本 

    Cost of Poor Quality是衡量软件开发成本的指标之一,它等于修复软件开发过程中的错误而花费的人月数与投入项目的总人月数之比。Cost of Poor Quality的值降低,意味着软件开发成本的降低。应用研发中心的Cost of Poor Quality值已经从1999年的4.9%降低到2000年的1.1%(图4)。


图4 软件开发成本变化情况

返回

 

建议使用IE4.0及以上版本浏览器(分辨率:800*600)进行浏览
辽宁省信息安全与软件测评认证中心版权所有  ©2001—2004

辽ICP备05009151号  

  与我联系