2017-03-10 09:31
概述
CMM是Capability Maturity Model for Software的简称,是对组织软件过程能力的描述。
CMM起初是在美国国防部管理大型而又复杂的开发项目过成中形成的,后来逐步得到了公众和私营业主的认可而作为一种提高软件开发过程和软件质量的一种有用的框架模型被大家所接受。1984年美国国防部为降低采购风险,委托卡耐基—梅隆大学软件工程研究院(SEI)制定了软件过程改进、评估模型,也称为SEI SW-CMM。该模型于1991年正式推出,迅速得到广大软件企业及其顾客的认可。从1987年SEI推出SW-CMM框架开始,1991年推出 CMM 1.0 版,1993年推出CMM 1.1 版,2000年推出CMMI-SE/SW 1.0版。1986年,CMM首先于卡耐基 梅隆大学的软件工程学会SEI(Software Engineering Institute)和MITRE组织联合提出。
我国于2001年4月发布了《SJ/T 11234-2001 软件过程能力评估模型》和《SJ/T 11235-2001 软件能力成熟度模型》两个标准。我国政府一直重视软件产业的规范和发展,国务院于2000年6月颁发的“18号文件”第五章第十七条明确提出鼓励软件出口型企业通过ISO9000系列质量保证体系认证和CMM认证,其认证费用通过中央外贸发展基金适当予以支持。目前各省市、高新区、软件园都有对通过CMM的企业给予资金奖励的制度。
CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化,使企业能够更好的实现商业目标。它侧重于软件过程开发的管理及软件工程能力的改进与评估,因此CMM被用作评价软件承包商能力并帮助组织改善软件过程质量,是目前国际上最流行、最实用的一种软件生产过程标准,成为当今企业从事规模软件生产不可缺少的一项内容。
CMM的目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。企业实施CMM模型并评估可为企业带来如下好处:指导软件组织提高软件开发管理能力;降低软件承包商和采购者的风险;评估软件承包商的软件开发管理能力;帮助软件企业识别开发和维护软件的有效过程和关键实践;帮助软件企业识别为达到CMM更高成熟等级所必须的关键实践;增加软件企业的国际竞争能力。
CMM将软件开发过程和软件质量的成熟程度分成以下5个等级:提出了由第一级(低级)向第五级(高级)逐级发展的模式。模型的等级从低到高,可以预计企业的开发风险越来越低,开发能力越来越高。模型的每个等级由不同的过程方面(Process Area)构成,而每个过程方面又由各种目标构成,每个目标由各种特定惯例和通用惯例支持。
CMM的具体级别划分如下:
第一级:初始级(The Initial Level):
初始级的软件机构缺乏对软件过程的有效管理,其软件项目的成功来源于个人英雄主义而非机构行为,因此它不是可重复的。
第二级:可重复级(The Repeatable Level)
第二级软件机构的主要特点是:项目计划和跟踪的稳定性,项目过程的可控性和以往成功的可重复性。更具体的说:
本级的关键过程领域(KPA)包括:
第三级:已定义级(The Defined Level)
第三级的主要特征在于软件过程已被提升成标准化过程,从而更加具有稳定性、可重复性和可控性。处于第三级的企业具有如下一些特征:
第三级主要处理以下的KPA:
第四级:已管理级(The Managed Level)
第四级的软件机构中软件过程和软件产品都有定量的目标,并被定量地管理,因而其软件过程能力是可预测的,其生产的软件产品是高质量的。具体地说,第四季的机构具有如下特征:
本级的关键过程领域包括:
第五级:The Optimizing Level
概括来说,第五级的主要特点是技术和过程改进被作为常规的业务活动加以计划和管理。处于第五级的企业具有如下一些特征:
改进的途径在于已有过程的增量改进和使用新技术和新方法的革新构成 :
纵观整个CMM,软件企业提高自身成熟度的历程是一个从无序到有序,从特殊到一般,从定性到定量,最后不断自我完善的过程。
CMM与绩效提高
从提高绩效的角度分析,企业实施CMM后将受益匪浅。
企业实施CMM,可从如下几个步骤进行:
1、提高思想认识,了解必要性和迫切性;
2、确定合理的目标;
3、进行CMM培训和咨询工作;
4、成立工作组;
5、制定和完善软件过程;
6、内部评审;
7、初期评估;
8、正式评估;
9、根据评估的结果改进软件过程。
CMM为了评价当前的水平,找出问题所在,指导如何改进和了解软件承包商的软件能力。目前针对CMM开发出许多的评估方法,其中公认评估方法有两个:一是用于内部过程改进的CMM评估称为CBA-IPI;二是用于选择和监控分承包方的CMM评估,称为SCE方法。这两种方法基于不同的目的,但评估的结果应一致。评估包括三个阶段:准备阶段、现场阶段和报告阶段。
可以预言:组织对软件开发过程及其有效性的控制在上述五个等级的规范和要求下肯定能得到提高。