本页主题: CMM(软件能力成熟度模型 - Capability Maturity Model) 5级标准 打印 | 加为IE收藏 | 复制链接 | 收藏主题 | 上一主题 | 下一主题

Mike
群熵工程师
级别: 管理员


精华: 7
发帖: 951
威望: 714 点
金钱: 6601 RMB
贡献值: 0 点
好评度: 611 点
在线时间:1405(小时)
注册时间:2003-11-28
最后登录:2018-04-23

 CMM(软件能力成熟度模型 - Capability Maturity Model) 5级标准

导论:
第一级:初始级

在初始级,企业一般不具备稳定的软件开发与维护的环境。常常在遇到问题的时候,就放弃原定的计划而只专注于编程与测试。

第二级:可重复级

在这一级,建立了管理软件项目的政策以及为贯彻执行这些政策而定的措施。基于过往的项目的经验来计划与管理新的项目。

第三级:定义级

在这一级,有关软件工程与管理工程的一个特定的、面对整个企业的软件开发与维护的过程的文件将被制订出来。同时,这些过程是集成到一个协调的整体。这就称为企业的标准软件过程。

第四级:定量管理级

在这一级,企业对产品与过程建立起定量的质量目标,同时在过程中加入规定得很清楚的连续的度量。作为企业的度量方案,要对所有项目的重要的过程活动进行生产率和质量的度量。软件产品因此具有可预期的高质量。

第五级:(不断)优化级

在这个等级,整个企业将会把重点放在对过程进行不断的优化。企业会采取主动去找出过程的弱点与长处,以达到预防缺陷的目标。同时,分析有关过程的有效性的资料,作出对新技术的成本与收益的分析,以及提出对过程进行修改的建议。

CMM第一级:初始级

◆ 特征

(1)软件过程的特点是杂乱无章,有时甚至混乱,几乎没有定义过程的规则或步骤。

(2)过分的承诺,常作出良好的承诺:如“按照软件工程方式,有序的工程来工作”;或达到高目标的许诺。但实际上却出现一系列问题。

(3)遇到危机就放弃原计划过程,反复编码和测试。

(4)成功完全依赖个人努力和杰出的专业人才,取决于超常的管理人员和杰出有效的软件开发开发人员。具体的表现和成果都源于或者说是决定于个人的能力和他们先前的经验、知识以及他们的进取心和积极程度。

(5)能力只是个人的特性,而不是开发组织的特性。依靠着个人的品质或承受着巨大的压力;或找窍门取得成果。但此类人一旦离去,对组织的稳定作用也消失。

(6)软件过程是不可确定的和不可预见的。软件成熟性程度处于第一级软件组织的软件过程在实际的工作过程中被经常的改变(过程是随意的)。这类组织也在开发产品,但其成果是不稳定的,不可预见的,不可重复的。也就是说,软件的计划、预算、功能和产品的质量都是不可确定和不可预见的。

◆ 过程

(1)极少存在或使用稳定的过程

(2)所谓“过程”,往往是“就这么干”而言。

(3)各种条例,规章制度互不协调,甚至互相矛盾。

◆ 人员

(1)依赖个人努力和杰出人物。一旦优秀人物离去,项目就无法继续。

(2)人们的工作方式如同“救火”,就是在开发过程中不断地出现危机,以及不断的“救火”。

◆ 技术

引进新技术是极大风险。

◆ 度量

不收集数据或分析数据。

◆ 改进方向

(1)建立项目管理过程,实施规范化管理,保障项目的承诺。

(2)首要任务是进行需求管理,建立客户与软件项目之间的共同理解,使项目真正反映客户的要求。

(3)建立各种软件项目计划、如软件开发计划、软件质量保证计划、软件配置管理计划、软件测试计划、风险管理计划及过程改进计划。

(4)开展软件质量保证活动(SQA)。

CMM第二级:可重复级

◆ 特征

(1)进行较为现实的承诺,可按以前在同类项目上的成功经验建立的必要过程准则来确保再一次的成功。

(2)主要是逐个项目地建立基本过程管理条例来加强过程能力。

(3)建立了基本的项目管理过程来跟踪成本、进度和功能。

(4)管理工作主要跟踪软件经费支出、进度及功能。识别在承诺方面出现的问题。

(5)采用基线(BASELINE)来标志进展、控制完整性。

(6)定义了软件项目的标准,并相信它,遵循它。

(7)通过子合同建立有效的供求关系。

◆ 过程

(1)软件开发和维护的过程是相对稳定的,但过程建立在项目一级。

(2)有规则的软件过程是在一个有效的工程管理系统的控制之下,先前的成功经验可以被重复。

(3)问题出现时,有能力识别及纠正。承诺是可实现的。

◆ 人员

(1)项目的成功依赖于个人的能力以及管理层的支持。

(2)理解管理的必要性及对管理的承诺。

(3)注意人员的培训问题。

◆ 技术

建立技术支持活动,并有稳定的计划。

◆ 度量

每个项目建立资源计划。主要是关心成本、产品和进度。有相应的管理数据。

◆ 改进方向

(1)不再按项目制定软件过程,而是总结各种项目的成功经验,使之规则化,把具体经验归纳为全组织的标准软件过程。把改进组织的整体软件过程能力的软件过程活动,作为软件开发组织的责任。

(2)确定全组织的标准软件过程,把软件工程及管理活动集成到一个稳固确定的软件过程中。从而可以跨项目改进软件过程效果,也可作为软件过程剪裁的基础。

(3)建立软件工程过程小组(SEPG)长期承担评估与调整软件过程的任务,以适应未来软件项目的要求。

(4)积累数据,建立组织的软件过程库及软件过程相关的文档库。

(5)加强培训。

CMM第三级:确定级

◆ 特征

(1)无论管理方面或工程方面的软件过程都已文件化、标准化,并综合成软件开发组织的标准软件过程。

(2)软件过程标准被应用到所有的工程中,用于编制和维护软件。有的项目也可根据实际情况,对软件开发组织的标准软件过程进行剪裁。

(3)在从事一项工程时,产品的生产过程、花费、计划以及功能都是可以控制的,从而软件质量也可以控制。

(4)软件工程过程组(SEPG)负责软件活动。

(5)在全组织范围内安排培训计划。

◆ 过程

(1)整个组织全面采用综合性的管理及工程过程来管理。软件工程和管理活动是稳定的和可重复的,具有连续性的。

(2)软件过程起了预见及防范问题的作用,能使风险的影响最小化。

◆ 人员

(1)以项目组的方式进行工作。如同综合产品团队。

(2)在整个组织内部的所有人对于所定义的软件过程的活动、任务有深入了解,大大加强了过程能力。

(3)有计划地按人员的角色进行培训。

◆ 技术

在定性基础上建立新的评估技术。

◆ 度量

(1)在全过程中收集使用数据。

(2)在全项目中系统性地共享数据。

◆ 改进方向

(1)开始着手软件过程的定量分析,以达到定量地控制软件项目过程的效果。

(2)通过软件的质量管理达到软件的质量目标。

CMM第四级:管理级

◆特征

(1)制定了软件过程和产品质量的详细而具体的度量标准,软件过程和产品质量都可以被理解和控制。

(2)软件组织的能力是可预见的,原因是软件过程是被明确的度量标准所度量和操作。不言而喻,软件产品的质量就可以预见和得以控制。

(3)组织的度量工程保证所有项目对生产率和质量进行度量、并作为重要的软件过程活动。

(4)具有良好定义及一致的度量标准来指导软件过程,并作为评价软件过程及产品的定量基础。

(5)在开发组织内已建立软件过程数据库,保存收集到的数据,可用于各项目的软件过程。

◆过程

(1)开始定量地认识软件过程。

(2)软件过程的变化小,一般在可接受的范围内。

(3)可以预见软件过程中和产品质量方面的一些趋势。一旦质量经度量后超出这些标准或是有所违反,可以采用一些方法去改正,以达到良好的目标。

◆人员

每个项目中存在强烈的群体工作意识。因为每人都了解个人的作用与组织的关系,因此能够产生这种群体意识。

◆技术

不断的在定量基础上评估新技术。

◆度量

(1)在全组织内进行数据收集与确定。

(2)度量标准化。

(3)数据用于定量地理解软件过程及稳定软件过程。

◆改进方向

(1)缺陷防范,不仅仅在发现了问题时能及时改进,而且应采取特定行动防止将来出现这类缺陷。

(2)主动进行技术变动管理、标识、选择和评价新技术,使有效的新技术能在开发组织中施行。

(3)进行过程变动管理,定义过程改进的目的,经常不断地进行过程改进。

CMM第五级:优化级

◆ 特征

(1)整个组织特别关注软件过程改进的持续性、预见及增强自身,防止缺陷及问题的发生,不断地提高他们的过程处理能力。

(2)加强定量分析,通过来自过程的质量反馈和吸收新观念,新科技,使软件过程能不断地得到改进。

(3)根据软件过程的效果,进行成本/利润分析,从成功的软件过程中吸取经验,加以总结。把最好的创新成绩迅速向全组织转移,对失败的案例,由软件过程小组进行分析以找出原因。

(4)组织能找出过程的不足并预先改进,把失败的教训告知全体组织以防止重复以前的错误。

(5)对软件过程的评价和对标准软件过程的改进,都在全组织内推广。

◆ 过程

(1)不断地系统地改进软件过程。

(2)理解并消除产生问题的公共根源,在任何一个系统中都可找到:由于随机变化造成重复工作、进而导致时间浪费。为了防止浪费人力可能导致的系统变化。要消除“公共”的无效率根源,防止浪费发生。尽管所有级别都存在这些问题,但这是第五级的焦点。

◆ 人员

(1)整个组织都存在自觉的强烈的团队意识。

(2)每个人都致力过程改进,人们不再以达到里程碑的成就而满足,而要力求减少错误率。

◆ 技术

基于定量的控制和管理,事先主动考虑新技术、追求新技术。可以实现软件开发中的方法和新技术的革新、以防止出现错误,不断提高产品的质量和生产率。

◆ 度量

利用数据来评估,选择过程改进。

◆ 改进方向

保持持续不断的软件过程改进。

CMM总结:五层结构图

我们看到,在第五级上,技术和过程的改进像普通商业活动一样有计划、有管理地进行。由于组织不断的致力于改进过程的能力,所以软件开发组织的能力可持续改进。这种改进不仅表现在对存在的软件过程逐步改进,不表现在采用新技术和新方法方面的革新。

画一个图吧:(CMM的五层结构图)

-----------------

/优化级/

/(5)/

-----------------



|不断改进的过程

|

-----------------

/可管理级/

/(4)/

-----------------



|能预见的过程

|

-----------------

/确定级/

/(3)/

-----------------



|标准一致的过程

|

-----------------

/可重复级/

/(2)/

-----------------



|有纪律的过程

|

-----------------

/初始级/

/(1)/

-----------------
顶端 Posted: 07-12-27 12:35 | [楼 主]
Mike
群熵工程师
级别: 管理员


精华: 7
发帖: 951
威望: 714 点
金钱: 6601 RMB
贡献值: 0 点
好评度: 611 点
在线时间:1405(小时)
注册时间:2003-11-28
最后登录:2018-04-23

 

SW-CMM(软件生产能力成熟度模型)为软件企业的过程能力提供了一个阶梯式的进化框架,它基于过去所有软件工程成果的过程改善的框架,吸取了以往软件工程的经验教训。它指明了一个成熟的软件组织在软件开发方面需要管理的那些主要工作、这些工作之间的关系、以及以怎样的先后次序,一步一步的做好这些工作使软件组织走向成熟。是目前国际上最流行也是最实用的软件生产过程标准,理解CMM需要注意以下几点:

  1.他仅指明该做什么,而没有指明如何做,他不是方法论,但我们在学习CMM时,可以从中学到分析问题的方法。

  2.他仅指明该做的关键内容,他仅描述软件过程的本质属性,而并非面面俱到。抓问题的主要方面的思想贯穿在整个CMM模型中。

  3.软件过程是指软件工程过程、软件管理过程和软件组织的过程三者的有机结合。软件工程过程是我们理解的常规的软件的需求分析、设计、编码、测试等过程;软件管理过程是指为使软件工程过程顺利进行而进行的管理活动的集合。上述两个过程是以软件工程组为主的活动。软件组织的过程是企业级的对软件的组织活动,是以企业为主的活动。

  4.他是从软件过程的角度考虑问题,而并非关注软件软件开发工具。这与框架软件生存周期无关,也与所采用的开发技术无关。

  5.CMM为改善整个企业的软件过程提供了指南,而并非针对某个具体项目。SW-CMM并不能保证在这个过程框架下,产品开发百分之百的成功。产品的成功是多种因素的组合,例如市场等因素。

  6.CMM1.1是针对大型软件企业(500人以上)的,对小型的软件企业(50人以下)需要裁减。

  7.SW-CMM认为过程的不断改进基于许多小的、进化的步骤而不是革命性的创新。

  8.基于CMM的过程改善投资力度大、周期长,而技术投资则可能在短期内有较快回报。单独依靠技术改进可能在短期内有较快回报,但最终可能一无所获。

  对于软件过程中的工作,在CMM中分为叁个层次进行理解:过程、活动、任务。
顶端 Posted: 07-12-27 12:40 | 1 楼
Mike
群熵工程师
级别: 管理员


精华: 7
发帖: 951
威望: 714 点
金钱: 6601 RMB
贡献值: 0 点
好评度: 611 点
在线时间:1405(小时)
注册时间:2003-11-28
最后登录:2018-04-23

 

从效果而言,在上述不同阶段,软件开发生产的成熟程度给软件企业带来了完全不同的效果。第一阶段到第五个阶段,软件开发生产的计划精度越来越高,每单位工程的生产周期越来越短,每单位工程的成本越来越低。 

关键过程域(KPA)

  除第一级外,SW-CMM的每一级是按完全相同的结构成的。每一级包含了实现这一级目标的若干关键过程域(KPA),每个KPA进一步包含若干关键实施活动(KP),无论哪个KPA,它们的实施活动都统一按五个公共属性进行组织,即每一个KPA都包含五类KP。

1.目标 每一个KPA都确定了一组目标,若这组目标在每一个项目都能实现,则说明企业满足了该KPA的要求。若满足了一个级别的所有KPA要求,则表明达到了这个级别所要求的能力。

2.实施保证 实施保证是企业为了建立和实施相应KPA所必须采取的活动,这些活动主要包括制定企业范围的政策和高层管理的责任。

3.实施能力 实施能力是企业实施KPA的前提条件。企业必须采取措施,在满足了这些条件后,才有可能执行KPA的执行活动。实施能力一般包括资源保证、人员培训等内容。

4.执行活动  执行过程描述了执行KPA所需求的必要角色和步骤。在五个公共属性中,执行活动是唯一项目执行相关的属性,其余四个属性则涉及企业CMM能力基础设施的建立。执行活动一般包括计划、执行的任务、任务执行的跟踪等。

5.度量分析  度量分析描述了过程的度量和度量分析要求。典型的度量和度量分析的要求是确定执行活动的状态和执行活动的有效性。

6.实施验证  实施验证是验证执行活动是否与建立的过程一致。实施验证涉及到管理的评审和审计以及质量保证活动。

  在实施CMM时,可以根据企业软件过程存在问题的不同程度确定实现KPA的次序,然后按所确定次序逐步建立、实施相应过程。在执行某一个KPA时,对其目标组也可采用逐步满足的方式。过程进化和逐步走向成熟是CMM体系的宗旨。
顶端 Posted: 07-12-27 12:41 | 2 楼
帖子浏览记录 版块浏览记录
群熵信息 - 技术讨论区 » 信息化与局域网建设

Total 0.015182(s) query 5, Time now is:08-21 16:19, Gzip enabled
Powered by PHPWind v6.3.2 Certificate Code © 2003-08 PHPWind.com Corporation

上海服务器租用 杭州世导双线服务器托管 云主机 VPS