CMM5(Capability Maturity Model For Software,软件能力成熟度模型)管理
什么是CMM?
日前,国务院发布的《鼓励软件产业和集成电路产业发展的若干政策》中第17条中表示,将对软件出口型企业CMM认证费用予以适当支持,那么CMM是什么呢?
CMM是能力成熟度模型(capabilityMaturityModel)的缩写,是一种用于评价软件承包能力并帮助其改善软件质量的方法,侧重于软件开发过程的管理及工程能力的提高与评估。CMM分为五个等级:一级为初始级,二级为可重复级,三级为已定义级,四级为已管理级,五级为优化级。
CMM是由美国卡内基梅隆大学软件工程研究所1987年研制成功的,是目前国际上最流行最实用的软件生产过程标准和软件企业成熟度等级认证标准。目前,我国已有软件企业通过了CMM标准认证。
CMM五级标准(中文)
第一级:初始级 Initial Level
在初始级,企业一般不具备稳定的软件开发与维护的环境。常常在遇到问题的时候,就放弃原定的计划而只专注于编程与测试。
第二级:可重复级Repeatable Level
在这一级,建立了管理软件项目的政策以及为贯彻执行这些政策而定的措施。基于过往的项目的经验来计划与管理新的项目。
第三级:定义级 Defined Level
在这一级,有关软件工程与管理工程的一个特定的、面对整个企业的软件开发与维护的过程的文件将被制订出来。同时,这些过程是集成到一个协调的整体。这就称为企业的标准软件过程。
第四级:管理级 Managed Level
在这一级,企业对产品与过程建立起定量的质量目标,同时在过程中加入规定得很清楚的连续的度量。作为企业的度量方案, 要对所有项目的重要的过程活动进行生产率和质量的度量。软件产品因此具有可预期的高质量。
第五级:优化级 Optimizing Level
在这个等级,整个企业将会把重点放在对过程进行不断的优化。企业会采取主动去找出过程的弱点与长处,以达到预防缺陷 的目标。同时,分析有关过程的有效性的资料,作出对新技术的 成本与收益的分析,以及提出对过程进行修改的建议。
CMM的用途
1.用于软件过程的改进(SPI Software Process Improvement)
帮助软件企业对其软件(制作)过程的改变(进)进行计划、(措施)制定以及实施。
2.用于软件过程评估(SPA Software Process Assessment):
在评估中,一组经过培训的软件专业人员确定出一个企业软件过程的状况,找出该企业所面对(存在)的与软件过程有关的、最迫切的所有问题;以及取得企业领导层对软件过程改进的支持。
3.软件能力评鉴(SCE Software Capability Evaluation):
在能力评鉴中,一组经过培训的专业人员鉴别出软件承包者的能力资格;或者是检查监察正用于(进行)软件制作的软件过程的状况。
评论:实施CMM是一条没有终点的路
在大多数软件企业看来,CMM只是一张通往海外的通行证,或是一张让客户放心购买软件期货产品的质量保证书。但实际上,开始实施CMM只是踏上不断优化自己、修正自己的一个起点;起点延伸处是一条没有终点的路;路上充满了引领企业“更上一层楼”的路标。
CMM软件工业化的大纲CMM(Capability Maturity Model For Software,软件能力成熟度模型)是美国卡内基梅隆大学软件工程研究所(CMU SEI)应美国联邦政府的要求开发的一种用于评价软件承包商能力并帮助其改善质量的方法。1991年,CMM1.0版本面世,1992年,他们又推出了CMM 1.1版本。CMM提供了一个评估软件开发过程的管理以及工程能力的标准,是目前国际上最流行、最实用的软件生产过程标准和软件企业成熟度认证标准。CMM标准共分为五个级别:初始级、可重复级、定义级、管理级和优化级,从低到高,标志着软件生产的计划度越来越高、生产周期越来越短、成本也越来越低。业内人士认为,“CMM既是软件企业走向国际市场的通行证,也是用来衡量类似期房的软件质量的保证书。” 除此之外,CMM还是一个软件生产工业化的产物与检验标准,是软件工程化的核心环节。“CMM为软件企业进入工业时代制定了一个大纲。”于是,一些以往就专注于提供软件工程开发解决方案的软件公司就以这个“大纲”为标准,帮助软件企业克服提升质量过程中的各种矛盾。