您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 第12章-软件能力成熟度模型
软件能力成熟度模型CMM12第十二章高等教育出版社高等教育电子音像出版社12.1CMM概述软件能力成熟度模型CMM(CapabilityMaturityModel)是由美国卡内基-梅隆大学软件工程研究所(CMU/SEI)推出的评估软件能力与成熟度的一套标准,该标准基于众多软件专家的实践经验。从1986年开始,开发软件过程成熟度框架。1991年8月SEI将软件过程成熟度框架进化为软件能力成熟度模型(CapabilityMaturityModelForSoftware,简称SW-CMM1.0版)。目前,CMM已经发展到CMMI(CapabilityMaturityModelIntegration),能力成熟度模型集成阶段。12.1CMM概述CMM侧重于软件开发过程的管理及工程能力的提高与评估,是国际上流行的软件生产过程标准和软件企业成熟度等级认证标准,它更代表了一种管理哲学在软件企业中的应用。CMM认证已经成为世界公认的软件产品进入国际市场的通行证。CMM的主要用于:1.软件过程评估SPA(SoftwareProcessAssessment)2.软件过程改进SPI(SoftwareProcessImprovement)3.软件能力评价SCE(SoftwareCapabilityEvaluation)12.1.1CMM的基本概念1.什么是软件过程一个软件过程是指人们开发和维护软件及其相关产品所采取的一系列活动。方法与规范设备和管理经过培训的开发人员过程12.1.1CMM的基本概念2.什么是软件能力成熟度?由于特定项目的属性和环境限制,项目的实际性能并不能充分反映组织的软件过程能力,但成熟的软件过程可弱化和预见不可控制的过程因素(如客户需求变化或技术变革等)。一个组织的软件过程能力为组织提供了预测软件项目开发的数据基础,提供了全面的软件质量保证。软件过程成熟度是指一个软件过程被明确定义、管理、度量和控制的有效程度。成熟意味着软件过程能力持续改善的过程,成熟度代表软件过程能力改善的潜力。12.1.2软件过程的成熟度等级CMM将软件过程的成熟度分为5个级别(MaturityLevels),如图所示,5个等级分别是:初始级可重复级已定义级已管理级优化级1.初始级(Initial)2.可重复级(Repeatable)3.已定义级(Defined)4.已管理级(Managed)5.优化级(Optimizing)成熟度等级单击鼠标左键查看相应内容初始级可重复级已定义级已管理级优化级初始级(Initial)在初始级,企业一般不具备稳定的软件开发与维护环境。项目成功与否在很大程度上取决于是否有杰出的项目经理和经验丰富的开发团队。此时,项目经常超出预算和不能按期完成,组织的软件过程能力不可预测。初始级初始级回调用初始级可重复级已定义级已管理级优化级可重复级(Repeatable):在可重复级,组织建立了管理软件项目的方针以及为贯彻执行这些方针的措施。组织基于在类似项目上的经验对新项目进行策划和管理。组织的软件过程能力可描述为有纪律的,并且项目过程处于项目管理系统的有效控制之下。可重复级可重复级回调用初始级可重复级已定义级已管理级优化级已定义级(Defined):在已定义级,组织形成了管理软件开发和维护活动的组织标准软件过程,包括软件工程过程和软件管理过程。项目依据标准定义自己的软件过程进行管理和控制。组织的软件过程能力可描述为标准的和一致的,过程是稳定的和可重复的,并且高度可视。已定义级回调用初始级可重复级已定义级已管理级优化级已管理级(Managed)组织对软件产品和过程都设置定量的质量目标。项目通过把过程性能的变化限制在可接受的范围内,实现对产品和过程的控制。组织的软件过程能力可描述为可预测的,软件产品具有可预测的高质量。已管理级已管理级回调用初始级可重复级已定义级已管理级优化级优化级(Optimizing)在优化级,组织通过预防缺陷、技术创新和更改过程等多种方式,不断提高项目的过程性能以持续改善组织软件过程能力。组织的软件过程能力可描述为持续改善的。优化级优化级回调用下表描述了SW-CMM不同成熟度等级过程的可视性和过程能力。等级成熟度可视性过程能力1初始级有限的可视性一般达不到进度和成本的目标2可重复级里程碑上具有管理可视性由于基于过去的性能,项目开发计划比较现实可行3已定义级项目定义软件过程的活动具有可视性基于已定义的软件过程,组织持续地改善过程能力4已管理级定量地控制软件过程基于对过程和产品的度量,组织持续地改善过程能力5优化级不断地改善软件过程组织持续地改善过程能力可视性与过程能力的比较12.2CMM的内部结构CMM的每个等级都被分解为3个层次加以定义:即关键过程域、公共特性和关键实践。每个等级由几个关键过程域组成,这几个关键过程域共同形成一种软件过程能力。每个关键过程域按4个关键实践类加以组织;并且都有一些特定的目标,通过相应的关键实践类来实现。除了初始级外,每一成熟度等级都是以完全相同的内部结构构成。12.2.1关键过程区域除初始级外,每一成熟度等级又由若干个关键过程区域(KeyProcessAreas)构成。关键过程域指出为了达到某个成熟度等级所要解决的问题。要达到一个成熟度等级,必须实现该等级上的全部关键过程区域。要实现一个关键过程区域,就必须达到该关键过程区域的所有目标。在CMM中一共有18个关键过程域,分布在2~5个级别中。SW-CMM的关键过程区域过程分类成熟度等级管理过程组织过程工程过程5.优化级技术改革管理过程更改管理缺陷预防4.已管理级定量过程管理软件质量管理3.已定义级集成软件管理组间协调组织过程焦点组织过程定义培训大纲软件产品工程同行评审2.可重复级需求管理软件项目策划软件项目跟踪与监督软件子合同管理软件质量保证软件配置管理1.初始级无序过程12.2.1关键过程区域关键过程区域是由一组相关的活动(实践)组成,如图描述。初始级需求管理软件项目计划软件项目跟踪与监督软件子合同管理软件质量保证软件配置管理可重复级软件机构过程关注点软件机构过程定义培训计划整体化软件管理软件产品工程组间合作同行评审已定义级定量过程管理软件质量管理已管理级过程变更管理预防故障技术变更管理优化级关键过程域可重复级关键过程域集中关注从非软件工程化向软件工程化转变初期必须做好的事情。其中包括它的6个关键过程域。已定义级中的关键过程域既涉及项目,又涉及组织,这是因为组织建立了对所有项目都有效的软件工程过程和管理过程的规范化基础设施。已管理级中的关键过程域的主要任务是为软件过程和软件产品建立一种可以理解的定量的方式。优化级的关键过程域,主要涉及的内容是软件组织和项目中如何实现持续不断的过程改进。12.2.2关键实践关键实践是指在基础设施以及其他前提条件均满足的情况下对关键过程域的规范实施起重要作用的活动。每个关键过程域包含的关键实践涉及5个共同特征:⑴执行约定(CommitmenttoPerform)⑵执行能力(AbilitytoPerform)⑶实施活动(ActivesPerformed)⑷度量和分析(MeasurementandAnalysis)⑸验证实施(VerifyingImplementation)12.3软件能力成熟度模型集成(CMMI)CMMI(CapabilityMaturityModelIntegration)是软件工程模型、系统工程模型、集成化产品和过程开发模型以及集成供应商管理模型等多个模型的集合。这是一套包括多个学科、可扩充的模型系列。CMMI由卡内基·梅隆大学2001年9月推出,其涉及面更广,专业领域覆盖软件工程、系统工程、集成产品开发和系统采购。它的运用不仅降低了项目的成本,而且提高了项目的质量与按期完成率。12.4软件企业如何实施CMM软件是促进我国电子信息产业发展的关键技术。而要发展我国的软件产业,在战略上,必须将软件产业作为我国高新技术产业的龙头和国民经济发展的新增长点,在策略上,必须走软件过程管理专业化的道路。软件企业实施CMM或通过CMM评估所必须经历的步骤。提高思想认识进行CMM培训和咨询工作确定合理的目标成立工作组制定和完善软件过程内部评审正式评估根据评估结果改进软件过程CMM步骤单击处查看相关内容在中国这样的一个大国,软件销售额还不到世界市场的0.5%。我国软件企业除少数几家在500人以上外,多数是在50人以下的民营、集体和个体的软件公司。以开发技术和规范化程序来衡量,总体上仍是相当落后的,大多数企业仍为手工作坊式制作,产品缺乏市场竞争力。因此,软件过程管理已成为发展我们软件产业的一个关键性问题。实施CMM对软件企业的发展起着至关重要的作用,CMM过程本身就是对软件企业发展历程的一个完整而准确的描述,企业通过实施CMM,可以更好地规范软件生产和管理流程,使企业组织规范化。而且,只有在国际市场取得成功的产品和企业才具有长久的竞争力和生命力,1.提高思想认识回调用根据CMM模型的要求,一个项目的开发一定要有章可循,而且要做到有章必循,这两点都离不开培训。培训工作需要投入很大的人力、物力和财力,只有企业的管理人员和软件开发人员对CMM真正了解和认识了,自觉地按CMM的方法去进行工作,才能真正实施CMM,培训的内容需要精心地准备,主要有两个方面,第一,对所有员工包括经理在内的最基本的软件工程和CMM培训知识;第二,对各个工作组的有关人员提供专业领域知识等方面的培训;此外,在每次开发过程中,还要对普通人员进行软件过程方面的培训。2.进行CMM培训和咨询工作回调用CMM模型划分为5个级别,共计18个关键过程域,52个目标,300多个关键实践。每一个CMM等级的评估周期(从准备到完成)约需12~30个月。无论一个软件企业的软件过程处于什么样的水平,都可以在CMM框架的5个级别中找到自己的位置。因此,要实施CMM,首先应该对本企业的现状有一个准确的评估,然后再结合企业的实际情况选择CMM的切入点,确定总体目标。这个目标包括在多长时间之内,需要投入多少人力、物力和财力,要达到哪一级。由于软件过程的建立和改进是一个渐进的、分轻重缓急的、逐步完善的过程。所以,在总体目标已经确定的前提下,还要制订近期目标和长期目标。3.确定合理的目标回调用在CMM的实施过程中,工作组的成立是一个关键步骤。有几个必不可少的重要的组织包括:软件工程过程组、软件工程组、系统工程组、系统测试组、需求管理组、软件项目计划组、软件项目跟踪与监督、软件配置管理组、软件质量保证组、培训组。例如:软件工程过程组由专家组成,统领CMM实施活动,协调全组织软件过程的开发和改进活动,制定、维护和跟踪与软件过程开发和改进活动有关的计划,定义用于过程的标准和模板,负责对全体人员培训有关软件过程及其相关的活动。软件工程组负责一个项目的软件开发和维护活动(即需求分析、设计、编码和测试)系统工程组负责规定系统需求;将系统需求分配给硬件、软件和其他成分;规定硬件、软件和其他成分的界面;以及监控这些成分的设计和开发以保证它们符合其规格说明。4.成立工作组回调用CMM模型强调软件过程的改进,如果企业还没有一个文档形式的软件过程,则首要任务是对当前的工作流程进行分析、整理及文档化,从而制定出一个具有本企业风格的软件过程,并用该文档化的过程指导软件项目的开发。如果已经具备了软件过程,则要对这个过程做内部评估,对照CMM的要求,找出问题,然后对这个过程进行补充修改。在具体实施的过程中,可以选择有一定代表性和完善性的项目组或项目进行试点,跟踪、监督改进后的软件过程的实施情况,执行改进活动的状态。5.制定和完善软件过程回调用CMM每一级别的评估都由美国卡内基·梅隆大学的软件工程研究所(CMU/SEI)授权的主任评估师领导一个评审小组进行。目前,全世界一共只有三百多个主任评估师大部分在美国,而我国大陆还没有一个主任评估师。CMM评估中要聘请外籍主任评估师费用较高。据估计,要通过一个级别的CMM评估,费用是通过ISO9000认证的十多倍。因此,建议软件企业在进行正式评估之前,先进行内
本文标题:第12章-软件能力成熟度模型
链接地址:https://www.777doc.com/doc-6757451 .html