软件能力成熟度模型:CMM五个级别介绍(精)
软件能力成熟度模型的五个等级
软件能力成熟度模型的五个等级软件能力成熟度模型的五个等级导语:在软件开发和管理领域,软件能力成熟度模型(Capability Maturity Model,简称CMM)是一个被广泛应用的评估和改进软件开发能力的框架。
CMM根据不同的组织在软件开发过程中的能力水平,将其分为五个等级,逐步提升组织的软件开发能力。
本文将详细介绍软件能力成熟度模型的五个等级,并对每个等级所代表的特点和优势进行分析。
一、初始级(Level 1 - Initial)初始级是软件能力成熟度模型中最低的等级。
在这个等级中,组织没有明确的软件开发过程,开发工作往往是以临时和非结构化的方式进行的。
在这种情况下,项目的成功往往依赖于个别的开发人员的经验和个人技能。
缺乏标准化的开发流程、文档化的要求和质量控制,容易导致开发过程中的混乱和错误。
二、重复级(Level 2 - Repeatable)重复级是软件能力成熟度模型中的第二个等级。
在这个等级中,组织开始意识到软件开发过程的重要性,并开始建立一些基本的规范、流程和工具来规范开发过程。
组织能够重复地执行一些已经被证明是成功的软件开发实践。
这些实践可以帮助组织在不同的项目中保持一定的一致性,提高软件质量和生产效率。
三、定义级(Level 3 - Defined)定义级是软件能力成熟度模型中的第三个等级。
在这个等级中,组织进一步明确了软件开发过程,并进行了规范化和文档化。
组织能够定义一套标准的开发流程和过程,并将其应用于所有的软件开发项目。
组织还会建立一些针对不同项目要求的指南和标准,以确保开发过程的一致性和高质量。
四、管理级(Level 4 - Managed)管理级是软件能力成熟度模型中的第四个等级。
在这个等级中,组织开始对软件开发过程进行量化和度量,以便对项目进行更加准确和全面的管理。
组织会使用一些度量指标来评估和监控软件开发过程的质量和效率,以及在开发过程中发现和解决问题的能力。
软件能力成熟度模型:CMM五个级别介绍
软件能力成熟度模型:CMM五个级别介绍CMM 为企业的软件过程能力提供了一个阶梯式的进化框架,阶梯共有五级。
第一级只是一个起点,任何准备按CMM 体系进化的企业都自然处于这个起点上,并通过它向第二级迈进。
除第一级外,每一级都设定了一组目标,如果达到了这组目标,则表明达到了这个成熟级别,可以向下一级别迈进。
从纯粹的个人行为发展到有计划有步骤的组织行为…第一级:初始级(Initial);第二级:可重复级(Repeatable);第三级:已定义级(Defined);第四级:受管理级(Managed);第五级:优化级(Optimizing)。
初始级初始级的软件过程是未加定义的随意过程,项目的执行是随意甚至是混乱的。
也许有些企业制定了一些软件工程规范,但若这些规范未能覆盖基本的关键过程要求,且执行没有政策、资源等方面的保证时,那么它仍然被视为初始级。
关注点:工作方式处于救火状态,不断的应对突如其来的危机;工作组:软件开发组、工程组;提高:需要建立项目过程管理,建立各种计划,开展QA 活动。
可重复级根据多年的经验和教训,人们总结出软件开发的首要问题不是技术问题而是管理问题。
因此,第二级的焦点集中在软件管理过程上。
一个可管理的过程则是一个可重复的过程,可重复的过程才能逐渐改进和成熟。
可重复级的管理过程包括了需求管理、项目管理、质量管理、配置管理和子合同管理五个方面;其中项目管理过程又分为计划过程和跟踪与监控过程。
通过实施这些过程,从管理角度可以看到一个按计划执行的且阶段可控的软件开发过程。
关注点:规则化引入需求管理、项目管理、质量管理、配置管理、子合同管理等;引入工作组:测试组、评估组、质量保证组、配置管理组、合同组、文档支持组、培训组;提高:SEPG、建立软件过程库和文档库已定义级在可重复级定义了管理的基本过程,而没有定义执行的步骤标准。
在第三级则要求制定企业范围的工程化标准,并将这些标准集成到企业软件开发标准过程中去。
cmmi能力成熟度模型 评分项目
cmmi能力成熟度模型评分项目CMMI(Capability Maturity Model Integration)能力成熟度模型是一种用于评估组织在软件开发和项目管理方面能力的框架。
该模型分为五个成熟度级别,每个级别都有具体的评分项目,这些评分项目旨在衡量组织在各方面的表现。
下面详细介绍了CMMI五个成熟度级别的评分项目:一、初始级(Initial)1. 项目计划与跟踪:组织能够制定简单的项目计划,但计划执行过程中往往出现偏差,需要项目经理经常干预。
2. 需求管理:组织能够收集和跟踪项目需求,但需求管理过程不规范,容易造成需求变更和项目延期。
3. 配置管理:组织能够进行简单的配置管理,但配置项的标识、版本控制和变更控制不够规范。
4. 质量管理:组织能够进行基本的代码审查和测试,但质量保证措施不够系统和规范。
5. 项目管理:组织能够进行基本的项目管理活动,如项目启动、规划、执行、监控和收尾,但项目管理过程不够规范和系统。
二、已管理级(Managed)1. 项目计划与跟踪:组织能够在项目早期制定详细的计划,并在整个项目过程中跟踪和控制进度。
2. 需求管理:组织能够建立规范的需求管理流程,收集和管理项目需求,有效减少需求变更和项目延期。
3. 配置管理:组织能够进行规范的配置管理,包括配置项的标识、版本控制和变更控制等。
4. 质量管理:组织能够建立规范的质量保证流程,进行全面的测试和质量保证活动,确保软件质量。
5. 项目管理:组织能够建立规范的项目管理流程,确保项目在整个生命周期内顺利进行。
三、定义级(Defined)1. 项目计划与跟踪:组织能够在整个项目生命周期内制定详细且具有前瞻性的计划,并通过项目管理工具持续监控和控制进度。
2. 需求管理:组织能够建立规范的需求管理流程,确保需求变更得到有效控制和管理。
3. 配置管理:组织能够建立规范的配置管理流程,包括配置项的标识、版本控制和变更控制等。
4. 质量管理:组织能够建立全面的质量管理体系,包括质量策划、质量控制和质量保证等。
cmm智能制造能力成熟标准
CMM智能制造能力成熟标准,即能力成熟度模型(Capability Maturity Model),是一种评估和管理智能制造企业能力的方法。
该模型将智能制造企业的能力成熟度分为五个级别,每个级别都代表了企业在实施智能制造过程中的不同阶段和水平。
具体来说,这五个级别分别是:
1. 规划级(流程化管理):企业开始引入智能制造的初步概念,并开始对业务流程进行规划和标准化。
2. 规范级(数字化改造):企业开始对核心业务和设备进行数字化改造,并尝试建立初步的网络化集
成。
3. 集成级(网络化集成):企业在数字化改造的基础上,实现了更广泛的网络化集成,开始对生产过程
进行全面的优化和管理。
4. 优化级(智能化生产):企业已经实现了智能化生产,开始对整个产业链进行协同优化,并采用新技
术、新方法来改进过程。
5. 引领级(产业链协同):企业已经成为智能制造的领军者,其智能化生产已经渗透到整个产业链中,
实现了全面的协同优化。
在每个级别中,企业需要满足一系列的标准和要求,包括管理制度化、标准化、文档化等方面,以及建立完善的培训制度和专家评审制度等。
这些标准和要求可以帮助企业识别自身的优势和不足,并为其改进和提升提供指导和支持。
总之,CMM智能制造能力成熟标准是一种评估和管理智能制造企业能力的重要工具,可以帮助企业识别自身的优势和不足,并为其改进和提升提供指导和支持。
CMM五级标准
CMM五级标准收藏导论:第一级:初始级在初始级,企业一般不具备稳定的软件开发与维护的环境。
常常在遇到问题的时候,就放弃原定的计划而只专注于编程与测试。
第二级:可重复级在这一级,建立了管理软件项目的政策以及为贯彻执行这些政策而定的措施。
基于过往的项目的经验来计划与管理新的项目。
第三级:定义级在这一级,有关软件工程与管理工程的一个特定的、面对整个企业的软件开发与维护的过程的文件将被制订出来。
同时,这些过程是集成到一个协调的整体。
这就称为企业的标准软件过程。
第四级:定量管理级在这一级,企业对产品与过程建立起定量的质量目标,同时在过程中加入规定得很清楚的连续的度量。
作为企业的度量方案,要对所有项目的重要的过程活动进行生产率和质量的度量。
软件产品因此具有可预期的高质量。
第五级:(不断)优化级在这个等级,整个企业将会把重点放在对过程进行不断的优化。
企业会采取主动去找出过程的弱点与长处,以达到预防缺陷的目标。
同时,分析有关过程的有效性的资料,作出对新技术的成本与收益的分析,以及提出对过程进行修改的建议。
CMM第一级:初始级◆ 特征(1)软件过程的特点是杂乱无章,有时甚至混乱,几乎没有定义过程的规则或步骤。
(2)过分的承诺,常作出良好的承诺:如“按照软件工程方式,有序的工程来工作”;或达到高目标的许诺。
但实际上却出现一系列问题。
(3)遇到危机就放弃原计划过程,反复编码和测试。
(4)成功完全依赖个人努力和杰出的专业人才,取决于超常的管理人员和杰出有效的软件开发开发人员。
具体的表现和成果都源于或者说是决定于个人的能力和他们先前的经验、知识以及他们的进取心和积极程度。
(5)能力只是个人的特性,而不是开发组织的特性。
依靠着个人的品质或承受着巨大的压力;或找窍门取得成果。
但此类人一旦离去,对组织的稳定作用也消失。
(6)软件过程是不可确定的和不可预见的。
软件成熟性程度处于第一级软件组织的软件过程在实际的工作过程中被经常的改变(过程是随意的)。
CMM五个等级
CMM五个等级:一级为初始级,二级为可重复级,三级为已定义级,四级为已管理级,五级为优化级软件项目管理的对象是软件工程项目。
它所涉及的范围覆盖了整个软件工程过程。
为使软件项目开发获得成功,关键问题是必须对软件项目的工作范围、可能风险、需要资源(人、硬件/软件)、要实现的任务、经历的里程碑、花费工作量(成本)、进度安排等做到心中有数。
这种管理在技术工作开始之前就应开始,在软件从概念到实现的过程中继续进行,当软件工程过程最后结束时才终止软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员(People)、产品(Product)、过程(Process)和项目(Project)进行分析和管理的活动。
软件项目管理的根本目的是为了让软件项目尤其是大型项目的整个软件生命周期(从分析、设计、编码到测试、维护全过程)都能在管理者的控制之下,以预定成本按期,按质的完成软件交付用户使用。
而研究软件项目管理为了从已有的成功或失败的案例中总结出能够指导今后开发的通用原则,方法,同时避免前人的失误。
1、产品立项报告2产品可行性分析报告 3、初步设计4、硬件详细设计5、软件详细设计基线的英文是baseline。
一个已经被正式评审和批准的规格或产品,它作为进一步开发的一个基础,并且必须通过正式的变更流程来变更。
基线是软件文档或源码(或其它产出物)的一个稳定版本,它是进一步开发的基础.所以,当基线形成后,项目负责SCM的人需要通知相关人员基线已经形成,并且哪儿可以找到这基线了的版本.这个过程可被认为内部的发布.至于对外的正式发布,更是应当从基线了的版本中发布.。
基线是项目储存库中每个工件版本在特定时期的一个“快照”。
它提供一个正式标准,随后的工作基于此标准,并且只有经过授权后才能变更这个标准。
建立一个初始基线后,以后每次对其进行的变更都将记录为一个差值,直到建成下一个基线。
在阶段性开发中第一次提出的软件配置项就构成基线配置项。
CMMI5是怎样的级别?
CMMI5是怎样的级别?什么是CMMI?CMMI的全称为Capability Maturity Model Integration,即能力成熟度模型集成。
是在CMM(Capability Maturity Model For Software,软件能力成熟度模型)的基础上发展而来的。
CMMI是由美国卡耐基梅隆大学软件工程研究所(Software Engineering Institute,SEI)组织全世界的软件过程改进和软件开发管理方面的专家历时四年而开发出来的,并在全世界推广实施的一种软件能力成熟度评估标准,主要用于指导软件开发过程的改进和进行软件开发能力的评估。
关于CMMI的五个级别CMMI共有5个级别,代表软件团队能力成熟度的5个等级,数字越大,成熟度越高,高成熟度等级表示有比较强的软件综合开发能力。
CMMI一级,初始级。
在初始级水平上,软件组织对项目的目标与要做的努力很清晰,项目的目标可以实现。
但是由于任务的完成带有很大的偶然性,软件组织无法保证在实施同类项目时仍然能够完成任务。
项目实施能否成功主要取决于实施人员。
CMMI二级,管理级。
在管理级水平上,所有第一级的要求都已经达到,另外,软件组织在项目实施上能够遵守既定的计划与流程,有资源准备,权责到人,对项目相关的实施人员进行了相应的培训,对整个流程进行监测与控制,并联合上级单位对项目与流程进行审查。
二级水平的软件组织对项目有一系列管理程序,避免了软件组织完成任务的随机性,保证了软件组织实施项目的成功率。
CMMl三级,定义级。
在定义级水平上,所有第二级的要求都已经达到,另外,软件组织能够根据自身的特殊情况及自己的标准流程,将这套管理体系与流程予以制度化。
这样,软件组织不仅能够在同类项目上成功,也可以在其他项目上成功。
科学管理成为软件组织的一种文化,成为软件组织的财富。
CMMI四级,量化管理级。
在量化管理级水平上,所有第三级的要求都已经达到,另外,软件组织的项目管理实现了数字化。
软件能力成熟度模型等级和过程
软件能力成熟度模型(CMM)是一个用于评估和改进软件开发能力的框架,它通过定义五个不同的成熟度等级来帮助组织了解他们软件开发过程的状态,并提供指导他们改进的路径。
这五个等级分别是初始级、重复级、定义级、管理级和优化级。
在本文中,我将从这五个等级出发,深入探讨软件能力成熟度模型等级和过程,以期帮助读者更全面地理解这一主题。
### 1. 初始级在软件能力成熟度模型中,初始级是指组织在软件开发过程中缺乏一致性和可预测性。
在这个阶段,软件开发过程通常是不受控制的,因为缺乏标准化的过程和程序。
这意味着在初始级的组织中,软件开发过程是混乱的,不可靠的,并且难以管理和预测。
### 2. 重复级在重复级,组织开始意识到需要对软件开发过程进行一定程度的标准化和文档化,以确保在软件开发过程中能够重复使用成功的实践。
在这个阶段,组织可能会创建一些基本的流程,并且对这些流程进行持续改进,以确保在软件开发过程中的可预测性和一致性。
### 3. 定义级在定义级,组织已经实现了对软件开发过程的标准化,并且能够对这些过程进行量化和测量。
这意味着组织可以更好地控制和管理软件开发过程,并且能够更好地预测成果和生产力。
在这个阶段,组织通常会将标准化的软件开发过程进行文档化,并且建立一些度量指标来监控和改进这些过程。
### 4. 管理级在管理级,组织不仅能够量化和测量软件开发过程,还能够根据这些度量指标来进行持续改进和优化。
这意味着组织已经具有较高的管理水平,能够监控和控制软件开发过程,并且能够在持续改进中实现更高的成果和生产力。
在这个阶段,组织通常会建立一个持续改进的文化,并且不断提高对软件开发过程的认识和理解。
### 5. 优化级在优化级,组织已经实现了对软件开发过程的最高理解和控制。
这意味着组织能够根据对软件开发过程的深刻理解来实现最佳的成果和生产力,并且能够持续改进和优化软件开发过程。
在这个阶段,组织不断寻求创新和改进,以保持其在软件开发领域的领先地位。
cmm的五个级别与特征
cmm的五个级别与特征
CMM(能力成熟度模型)的五个级别及其特征如下:
1.CMM一级,完成级。
在完成级水平上,企业对项目的目标与要做
的努力很清晰。
项目的目标得以实现。
一般来说,公司的初始阶段就是一级,所以一级不需要认证。
2.CMM二级,管理级。
在管理级水平上,企业在项目实施上能够遵
守既定的计划与流程,有资源准备,权责到人,对相关的项目实施人员有相应的培训,对整个流程有监测与控制,并与上级单位对项目与流程进行审查。
二级认证要求企业有一套简单的流程,基本规范的企业都可以达到。
3.CMM三级,定义级。
三级认证有一套完整的流程,所以对一搬企
业来说,三级是软件企业最好的选择。
4.CMM四级,量化管理级。
量化管理级分析对软件工程和产品质量
的详细度量数据,对软件过程和产品都有定量的理解与控制,管理有一个做出结论的客观依据。
5.CMM五级,优化级。
优化管理级的量化反馈和先进的新思想、新
技术促使过程持续不断改进。
CMM模型中每一级的特征如上所述。
值得注意的是,对于CMM级别的评估和认证,通常需要经过专门的认证机构进行评估和审核,并且需要满足相应的评估标准和要求。
CMM简介(软件能力成熟度模型)
关 键 过 程 域
不断改进的过程
过程更改管理 技术更新管理 缺陷预防 软件质量管理
优化级
可预测的过程
定量过程管理 同行评审 组间协调 软件产品工程 集成软件管理 培训大纲 组织过程定义 组织过程焦点
已管理级
已定义级
标准、一致的过程
有纪律的过程
软件配置管理 软件质量保证 软件子合同管理 软件项目跟踪与监督 软件项目计划 需求管理
IDEAL模型
修订组 织的方 法
推进
记录并分析 经验教训 定义过程 与度量 规划并执 行行动指 南
行动
改进的激 明确范围 励条件 获取支持 初始化
建立改进 基础结构 评估明确 当前实践 编制报告 诊断 确立方针 和优先级
计划、执行 和跟踪安装 建立过程行 动小组,规 划行动
以CMM为基础
建立
SEI:Software Engineering Institute
SEI:美国卡耐基梅隆大学的软件工程研究
院产品 SEI:为美国联邦政府评估软件供应商能力,于 1986年开始研究的模型,于1993 年推出CMM 1.1版。 CMM 1.1版:是目前世界上比较流行和通用的CMM 版本。 新研究:
CMMI ( Integration )
P-CMM ( People ) SACMM ( 软件获取CMM )
等级5的关键过程域
缺陷预防的目标是,明确产生缺陷的原因并
预防它们再次发生。 技术更新管理的目标是,确定新技术(如工 具、方法和过程),并有序地将这些技术引 入组织内。 过程更改管理的目标是,不断改进组织中所 使用的软件过程,从而提高软件质量和生产 率,缩短产品开发生命周期。
关键实践
CMMI的5个级别和25个过程域
CMMI的5个级别和25个过程域CMMI (Capability Maturity Model Integration)是一个结构化的过程改进方法,用于评估和提升组织的软件工程能力。
CMMI分为五个不同的成熟度级别,每个级别都有一组相关的过程域。
本文将详细介绍CMMI的五个级别和25个过程域。
1. 初始级别 (Level 1 - Initial)初始级别指的是一个组织在软件开发方面缺乏组织化和预测性的过程。
在这个级别上,软件开发过程通常是不可控制的,且无法重复使用。
这意味着项目结果无法预测和控制,导致成本和进度的不确定性。
2. 执行级别 (Level 2 - Managed)执行级别指的是一个组织开始建立和管理自己的软件开发过程。
在这个级别上,组织已经建立了一些基本的软件开发过程,并能够在不同的项目中重复使用这些过程。
然而,这些过程还没有得到完全的规范和标准化。
2.1 需求管理 (Requirements Management)需求管理是确保正确、一致和可追踪需求的过程。
它涉及定义、确认和维护需求,以确保项目能够满足用户的期望。
2.2 项目计划与监控 (Project Planning and Monitoring)项目计划与监控是制定和监控项目时间表、成本和资源的过程。
它确保项目能够按计划进行,并能够做出合适的调整以达到预期的目标。
2.3 供应商协商 (Supplier Agreement Management)供应商协商是与供应商建立和维护合作关系的过程。
它确保与供应商的交付和管理能够满足项目的需求。
2.4 产品质量保证 (Product Quality Assurance)产品质量保证是确保项目交付的产品符合质量标准和用户期望的过程。
它涉及质量计划、质量审查和质量度量等活动。
2.5 配置管理 (Configuration Management)配置管理是管理项目的配置项(包括软件、硬件和文档等)的过程。
软件能力成熟度模型CMM五个级别介绍
软件能力成熟度模型CMM五个级别介绍软件能力成熟度模型(Capability Maturity Model,CMM)是美国国防部软件工程研究中心(SEI)为评估软件开发组织的能力而开发的一种模型。
CMM定义了五个不同的成熟度级别,每个级别都与软件组织的不同能力水平相对应。
下面将详细介绍CMM的五个级别。
1. 初始级(Level 1:Initial)初始级是指软件开发组织没有一个可重复使用的过程,所有的工作都是以临时和不规范的方式进行的。
在这个级别,软件开发过程主要依赖个人技能和经验,项目进展不可预测且难以控制。
组织在这个级别往往面临着高风险和低质量的软件交付。
2. 已管理级(Level 2:Managed)已管理级是指软件开发组织建立了基本的项目管理过程。
在这个级别,组织开始将项目管理和过程管理与产品开发相结合。
组织可以使用计划和跟踪等项目管理工具来确保项目按计划进行,并能够确定开发过程中的风险并采取行动控制风险。
软件开发过程在一定程度上可重复,开发者可以采用已定义的过程来提高开发效率和质量。
3. 已定义级(Level 3:Defined)已定义级是指软件开发组织已经建立了基于已定义的开发过程的标准化开发方法。
在这个级别,组织已经明确制定了一套开发过程,并在项目中广泛应用和执行这些过程。
组织通过培训和文档来确保开发人员明确和理解这些过程。
这种标准化和可重复性使组织能够更加有效地管理项目,并提高软件质量和可交付性。
4. 已量化级(Level 4:Quantitatively Managed)已量化级是指软件开发组织通过收集和分析数据来定量管理开发过程和项目。
在这个级别,组织建立了度量和评估机制,通过采集和分析各种度量数据来监控和管理项目和过程。
组织可以根据这些数据做出准确的决策,进行持续的过程改进,并能够提前预测和控制项目的结果。
5. 优化级(Level 5:Optimizing)优化级是指软件开发组织持续追求卓越,通过不断优化和改进开发过程和项目管理,实现最高水平的质量和效率。
CMM(软件成熟度)
基本概念:软件过程(Software Process):过程即人们为实现某一既定目标所执行的一系列步骤(IEEE--STD--610)。
软件过程则可定义为企业设计,研制和维护软件产品及相关资料文档的全部生产活动和工程管理活动。
理解包括SEI在内的美国过程学派的一个核心概念就是--只要过程正确及构成过程的解决方法正确,产品就会正确。
软件过程能力(Software Process Capability):企业实施软件过程所能实现预期目标的程度。
它可用于预测企业的软件过程水平。
软件过程行为(Software Process Performance):企业在项目开发中遵循其软件过程所能得到的实际结果。
软件过程成熟度(Software Process Maturity):软件过程行为可被定义,预测和控制并被持续性提高的程度。
它主要用来表明不同项目所遵循的软件过程的一致性。
软件能力成熟度等级(Software Capability Maturity Ievels):企业的软件开发在由低到高成熟化演进过程中所普遍面临的具有一定成熟度标志特征的平台。
成熟与不成熟(Mature and Immature):不成熟的标志有--没有明确的软件过程体系可以依据;无法对生产进行预测;不严格执行生产过程;质量无法保证;无健全的过程控制及质量控制体系;项目开发没有准则可遵循;开发结果主要依据项目小组及个人的带有主观因素的能力发挥。
成熟的标志有--项目开发是依据企业早已明确的过程准则来实施;开发结果较少依赖个人能力和自然因素;项目由过程控制并可对整个生产作出预测;产品质量得到有效监控(借助客观定量化的数据);过去的开发项目中所获经验得以积累并可系统地用于现行和未来的项目之中。
配置管理(Configuration Management):包括以下管理行为:对某个配置项的功能和物理特性进行识别和编档;对这些特征的变动进行控制;对变动和事实进行记录、汇报;验证需求计划的实现。
CMMI将能力成熟度分为5个级别
CMMI将能力成熟度分为5个级别:初始级,已管理级,已定义级,量化管理级,优化级。
这5个成熟度等级为评价软件过程能力提供了一个有序的级别,如图5-10所示。
同时也为软件过程改进工作指明了方向,让人们分清轻重缓急,指导人们一步一步地改进过程能力而不是企图跳跃式地前进。
1初始化-->2.已管理级-->3.已定义级-->4.量化管理级-->5.优化级除了成熟度等级,CMMI还有一个重要的概念是过程域(Process Area)。
过程域指出了达到某个成熟度等级必须要解决的一族问题。
除了初始级以外,每个成熟度等级都有若干个过程域,如表5-1所示。
由于成熟度等级是循序渐进的,如果想达到某个成熟度等级,例如CMMI 3级,除了满足CMMI 3级本身11过程域之外,还要满足CMMI 2级的7个过程域,依此类推。
、过程管理:1. OPD :(Organizational Process Definition)组织级过程定义。
建立和维护有用的组织过程资产2. OPF:(Organizational Process Focus)组织级过程焦点。
在理解现有过程强项和弱项的基础上计划和实施组织过程改善3. OT :(Orga nizatio nal Trai ning)组织培训管理。
增加组织各级人员的技能和知识,使他们能有效地执行他们的任务。
二、项目管理:4. PP:( Project Plan)项目计划。
保证在正确的时间有正确的资源可用。
为每个人员分配任务。
协调人员。
根据实际情况,调整项目。
5. PMC: ( Project Monitoring and Control)项目监督与控制。
通过项目的跟踪与监控活动,及时反映项目的进度、费用、风险、规模、关键计算机资源及工作量等情况,通过对跟踪结果的分析,依据跟踪与监控策略采取有效的行动,使项目组能在既定的时间、费用、质量要求等情况下完成项目。
6. SAM:(Supplier Agreement Managemen)t 供应商协议管理。
cmmi五个成熟度级别
CMMI 等级的含义五个成熟度级别之间的比较如下:1,初始级特征:(1)软件过程的特点是杂乱无章,有时甚至混乱.几乎没有定义过程的规则或步骤.(2)过分的尽诺.常做出良好的承诺:如"按照软件工程方式,有序的工程过程来工作";或达到高目标的许诺.但实际上却出现一系列危机.(3)遇到危机就放弃原计划过程,反复编码和测试.(4)成功完全依赖个人努力和杰出的专业人才,取决于超常的管理人员和杰出有效的软件开发人员.具体的表现和成果都源于或者说是决定于个人的能力和他们先前的经验,知识以及他们的进取心和积极程度.(5)能力只是个人的特性,而不是开发组织的持性.依靠着个人的品质或承受着巨大压力,或找窍门取得成果.但此类人一旦离去,对组织的稳定作用也消失.(6)软件过程是不可确定的和不可预见的.软件成熟性程度处于第一级的软件组织的软件过程在实际的工作过程中被经常的改变(过程是随意的).这类组织也在开发产品,但其成果是不稳定的,不可预见的,不可重复的.也就是说,软件的计划,预算,功能和产品的质量都是不可确定和不可预见的.过程:(1)极少存在或使用稳定的过程.(2)所谓"过程",往往是"就这么干"而言. (3)各种条例,规章制度互不协调,甚至互相矛盾人员:(1)依赖个人努力和杰出人物.一旦优秀人物离去,项目就无法继续(2)人们的工作方式如同"救火".就是在开发过程中不断地出现危机,以及不断的"救火".技术: 引进新技术是极大风险度量: 不收集数据或分析数据改进方向:(1)建立项日管理过程.实施规范化管理.保障项目的承诺.(2)首要任务是进行需求管理,建立客户与软件项目之间的共同理解,使项目真正反映客户的要求.(3)建立各种软件项目计划.如软件开发计划,软件质量保证计划,软件配置管理计划,软件测试计划,风险管理计划及过程改进计划.(4)开展软件质量保证活动(SQA).2,可重复级特征(1)进行较为现实的求诺,可按以前在同类项目上的成功经验建立的必要过程准则来确保再一次的成功.(2)主要是逐个项目地建立基本过程管理条例来加强过程能力.(3)建立了基本的项目管理过程来跟踪成本,进度和功能.(4)管理工作主要跟踪软件经费支出,进度及功能.识别在承诺方面出现的问题.(5)采用基线(BASELINE)来标志进展,控制完整性.(6)定义了软件项目的标准,并相信它,遵循它.(7)通过于合同建立有效的供求关系.过程(1)软件开发和维护的过程是相对稳定的,但过程建立在项目一级.(2)有规则的软件过程是在一个有效的工程管理系统的控制之下,先前的成功经验可以被重复.(3)问题出现时.有能力识别及纠正.其承诺是可实现的.人员(1)项目的成功依赖于个人的能力以及管理层的支持.(2)理解管理的必要性及对管理的承诺.(3)注意人员的培训问题, 技术建立技术支持活动,并有稳定的计划. 度量每个项目建立资源计划.主要是关心成本,产品和进度.有相应的管理数据.改进方向(1)不再按项目制定软件过程,而是总结各种项目的成功经验,使之规则化,把具体经验归纳为全组织的标准软件过程.把改进组织的整体软件过程能力的软件过程活动,作为软件开发组织的责任.(2)确定全组织的标准软件过程,把软件工程及管理活动集成到一个稳固确定的软件过程中.从而可以跨项目改进软件过程效果,也可作为软件过程剪裁的基础.(3)建立软件工程过程小组(SEPG)长期承担评估与调控软件过程的任务,以适应未来软件项目的要求.(4)积累数据:建立组织的软件过程库及软件过程相关的文档库(5)加强培训.3,确定级特征:(1)无论管理方面或工程方面的软件过程都已文件化,标准化,并综合成软件开发组织的标准软件过程.(2)软件过程标准被应用到所有的工程中,用于编制和维护软件.有的项目也可根据实际情况,对软件开发组织的标准软件过程进行剪裁.(3)在从事一项工程时,产品的生产过程,花费,计划以及功能都是可以完全控制的,从而软件质量也可以控制.(4)软件工程过程组(SEPG)负责软件过程活动.(5)在全组织范围内安排培训计划.过程:(1)整个组织全面采用综合性的管理及工程过程来管理.软件工程和管理活动是稳定的和可重复的,具有连续性的.(2)软件过程起了预见及防范问题的作用,能使风险的影响最小化人员:(1)以项目组的方式进行工作.如同综合产品团队.(2)在整个组织内部的所有人对于所定义的软件过程的活动,任务有深入理解.大大加强了过程能力.(3)有计划地按人员的角色进行培训技术在定性基础上建立新的评估技术.度量:(1)在全过程中收集使用数据.(2)在全项目中系统性地共享数据改进方向(1)开始着手软件过程的定量分析,以达到定量地控制软件项目过程的效果.(2)通过软件的质量管理达到软件的质量目标.4,管理级特征:(1)制定了软件过程和产品质量的详细而具体的度量标准.软件过程和产品的质量都可以被理解和控制.(2)软件组织的能力是可预见的.原因是软件过程是被明确的度量标准所度量和操作.不言而喻.软件产品的质量就可以预见和得以控制.(3)组织的度量工程保证所有项目对生产率和质量进行度量,并作为重要的软件过程活功.(4)具有良好定义及一致的度量标服来指导软件过程,并作为评价软件过程及产品的定量基础.(5)在开发组织内已建立软件过程数据库,保存收集到的数据,可用于各项目的软件过程. 过程:(1)开始定量地认识软件过程.(2)软件过程的变化小.一般在可接受的范围内.(3)可以预见软件过程中和产品质量方面的一些趋势.一旦质量经度量后超出这些标准或是有所违反.可以采用一些方法去改正,以达到良好的日标.人员:每个项目中存在强烈的群体工作意识,因为每人都了解个人的作用与组织的关系,因此能够产生这种群体意识. 技术不断的在定量基础上评估新技术.度量:(1)在全组织内进行数据收集与确定.(2)度量标准化.(3)数据用于定量地理解软件过程及稳定软件过程.改进方向:(1)缺陷防范.不仅仅在发现了问题时能及时改进,而且应采取特定行动防止将来出现这类缺陷.(2)主动进行技术变动管理,标识,选择和评价新技术.使有效的新技术能在开发组织中施行,(3)进行过程变动管理.定义过程改进的目的,经常不断地进行过程改进.5,优化级特征:(1)整个组织特别关注软件过程改进的持续性,顶见及增强自身.防止缺陷及问题的发生.不断地提高他们的过程能力.(2)加强定量分析,通过来自过程的质量反馈和吸收新观念,新科技,使软件过程能不断地得到改进,(3)根据软件过程的效果,进行成本/利润分析,从成功的软件过程实践中吸取经验,加以总结.把最好的创新成绩迅速向全组织转移.对失败的案例,由软件过程小组近行分析以找出原因.(4)组织能找出过程的不足并预先改进.把失败的教训告知全体组织以防止重复以前的错误.(5)对软件过程的评价相对标准软件过程的改进,都在全组织内推广.过程:(1)不断地系统地改进软件过程(2)理解并消除产生问题的公共根源.在任何一个系统中都可找到:由于随机变化造成重复工作,进而导致时间浪费.为了防止浪费人力可能导致的系统变化.要消除"公共"的无效根源,防止浪费发生.尽管所有级别都存在这些问题,但这是第五级的焦点.人员:(1)整个组织都存在自觉的强烈的团队意识.(2)每个人都致力于过程改进.人们不再以达到里程碑的成就而满足,而要力求减少错误率. 技术基于定量的控制和管理,事先主动考虑新技术,追求新技术,利用新技术.可以实现软件开发中的方法和新技术的革新,以防止出现错误,不断提高产品的质量和生产率.度量:利用数据来评估,选择过程改进. 改进方向保持持续不断的软件过程改进.二,敏捷开发和高级别CMMI 关键字:高级别CMMI 敏捷开发我经常和别人一起讨论敏捷开发过程的知识,并且我们也会经常争论结合使用敏捷开发过程和CMMI 高级别的话题.他们两个是否能够结合使用?或者他们两个只是向相反的方向发展?带着这个疑问,下面我们一起来探讨. "这个问题可以说是老生常谈,但是我对第 5 级别中的那个基本差异有一个疑问,这个疑问会使人产生不安的情绪.CMMI1.2 强调了想在组织中控制结果的变更, 进而将其重心转移到了个人的身上.敏捷开发在意义上说不单单是为了让每个项目能在应对各种各样的环境中都拥有灵活的能力,并且可以让他们在这个环境中尽其所能表现的最好.我们并没有特别关注在所有项目中要规范行为以便可以预知结果是"可靠的". 但是,我并不清楚我现在尽力想说明的这种区别,是否确实是敏捷开发和CMMI 的基本概念中的一个基础的区别,还是只是组织如何解释和执行CMMI 第 5 级别的一个结果.当然,敏捷开发团队在过程模型和过程实践资产中拥有的信任似乎要比CMMI 团队中的要少――虽然在敏捷中没有方法可以规范这些事情即便他们是低成本的,但是没有假设说明这就是组织要走的路.事实上,敏捷开发支持者偏向于这样的想法, 在任何形式的可遇见的过程模型中快速地建立起逐渐减少的成果.是否这就是等同说敏捷开发支持者相信特殊原因会影响执行效果是如此的普遍,以至在组织中试图建立预见性的模型是无用的?" CMMI 第4 级别: QPM(量化项目管理):主要关注懂得过程行为变更的个别项目,他们认为这些变更影响着他们的成功和如何处理事情――或者至少影响着完成产品发展或者达成目标.组织单位(EPG)必须要监控成果. OPP(组织过程实践):主要关注集成模型,项目可以使用模型来规范他们想要达到成功的方面,比如说质量,进度表,预算,维护以及其他任何事情.诀窍就是项目在过程执行中以这些模型为基础,控制QPM 中的行为.比较典型的是,这些模型可能是基于相似的项目中的重复的结果不断建立起来的,虽然可能并没有这样的需求. 在个别项目级别中模型应该先被改进以便使用,所以在CMMI 模型中使用基于一个项目的历史数据(比如说,增量)或者20 个项目的历史数据是没有区别的,虽然这可能对使用者来说是有区别的. CMMI 第5 级别: CAR(原因分析与解决方法):主要关注引起问题的主要原因,过失,管理问题或者其他一切需要解决的问题.项目,EPG 或者其他任何人是否可以应用,是作为解决问题的方法.EPG 在OPP 中监控结果,或者得到别的经验.(敏捷开发是否在增量开始点或者结束点不建议进行类似的行为?我不清楚我所知道的术语是否正确) OID(组织创新与推展):完全非项目特点.关注基于个体,CAR,模型使用,外界因素等的组织改进.你是否会收集并且使用所有这些学到的经验?你进入企业后是否会寻求新的或者更好的做生意的方法(其中敏捷开发可能只是一个例子)?在组织中又该如何处理证明,分析(职业),和使用(结构请参照第 4 级别中的模型和过程控制)这些改进. 我个人认为CMMI 高级别和敏捷开发应该结合起来工作.敏捷可以帮助CMMI 高级别更容易实现短期的转变,并且它在处理事情的发展上起了很重要的作用.我的经验基本是从第5 级别得来的,有部分来自第4 级别.许多组织怀着"每个人都必须如此做"的想法而通过了第3 级别,但是他们却反对在第4,5 级别中有着同样的想法.就像我曾经提到的,敏捷开发是使用CMMI 第4,5 级别来改进如何发展产品的完美例子. CMMI 是Capability Maturity Model Integration(能力成熟度模型集成)的缩写, 是在CMM(Capability Maturity Model 能力成熟度模型)的基础上发展而来三,CMMI 实施现在很多企业因某种原因想做CMMI 了,大体做法1,决定实施CMMI 2,EPG 接受培训,理解CMMI 3,EPG 根据自己理解的CMMI 和实际情况开发一大堆漂漂亮亮的过程文档,流程图,表格,模板,检查单,作业指南. 4,大家边听着EPG 的解释(包括培训,答疑),边执行这些过程标准,然后审计(内,外) 将目前的最佳实践记录下来,写下来,文档化下来. 很多新的EPG 在做了一段时间后无奈的发现自己居然沦落成了一个过程标准解说员,甚至文档管理员.自己工作大部分时间是面对文档,或者督促别人写文档我到觉得EPG 最主要的工作应该深入到研发第一线,帮助研发人员解决研发过程中面临的最严重的实际问题(当然是解决方案要上升到过程高度,而不应是单个问题或个人),甚至哪怕是一些不严重但以你的项目经验知道该如何解决的问题上.总体说来就是掌握项目进展中的任何细微的技术难点要点,并主动记录下来. 为什么这么说呢?CMMI 实施的主要宗旨就是以每个项目为采集数据的源头,达到企业整体效益提升和资源重用.真正有价值的东西,是需要一线人员在实际工作中遇到问题,解决问题,并总结问题,不是一个一线工作的流水帐.就象一份研发人员的日报.写了上午做什么,下午做什么.这对企业的积累有什么用处呢?他工作过程中, 遇到什么问题,他是怎么解决的,走过什么弯路,实验过几种方法,失败了,失败的原因是什么,最后选择了什么方法,可能不是最好的,但完成了任务,达到了效率和资源分配的平衡.这些东西才可能是未来类似项目中,遇到类似问题时,可能有参考价值的.通常也是EPG 个人职业生涯的技术积累.只有公司里每个员工,把自己认为最有价值的积累贡献出来.才可能达到公司有价值的积累.而决不是形式上写的上午下午每个小时的流水帐. 明白了上面的说的CMMI 的目的,做为一个合格的EPG,就应该具备以下的素质: 1,明白什么是有价值的积累,先是对你个人,然后才是顺便帮公司做了积累. 2,深入一线,发现她们并忠实地记录她们.CMMI 里的SP,GP,只是帮助你,提醒你在哪个环节,哪些东西可能是有价值了.你去收集一下,别视而不见了.因为还有一个企业和你个人的角度不同,立场不同的问题.例如,REQM 里收集需求,对个人技术方面的积累虽然不多,但对企业是至关重要的,一次需求变更,没详细写清楚, 忘记了到客户那里去签字落实,可能就会给企业造成很大的损失.做为一个合格的EPG,是需要有这份责任和义务把每个环节都做到最好,这是职业道德所在.同时也是对自我延伸的一个好机会,学会一些和人的沟通,倾听,把专业的东西以平易的方式表达.这些也都算是EPG 额外的收获. 通常情况下,为了按时按量完成项目,一线的骨干,对写日报,周报,文档都很不屑.EPG 也很迁就,事后再补,这也不失为一个提高效率的好办法.但过去一个月半年了,我们正常人的记忆都能想象,很难记住细节.无非就是敷衍.这也在情理之中.你总不能让一个明天就要交东西的小组,今天晚上在通宵努力解决BUG 的同时, 还写什么报告,这也不尽人情.但作为EPG 不能只把眼光集中在这妇人之心上.要想的更远.为什么会把项目推到这么晚,BUG 还没解决完?难道要永远这样下去吗?项目中是有很多不可预测的因素,甚至是开发人员常说的"手气问题","人品问题".但这些是需要控制的,也是通过经验可以控制的,所谓艺高人胆大.艺的高低,就是经验的积累决定的. 那怎么解决这种两难的问题呢?逼着技术骨干写心水,人家没时间也的确压力很大.不写,公司又得不到有效积累,积累的都是垃圾流水.有个公司的办法和经验到可以借鉴一下: 公司内部搞了个BBS,把不同类型的工作分成不同的组,有纯技术的,JAVA 组, C++组等,也有PPT 组,甚至动画组,界面组.大家把自己平时的工作积累FTP 上去,甚至制作方法,遇到问题和解决方法的文档都丢上去,开始怎么想,用了多少套方案,最后选择了什么.自我感觉如何.把这些心路历程都写成文档.丢到阳光下, 大家评论.用点击率和"顶"的人数来说明谁写的是心水,谁在写垃圾.大家都是一个公司的,很容易实名.直接纳入考核机制中.做为一线人员,大家也有动力来写,自己的聪明才智有了展现的平台,虚荣心和荷包都得到了相应的满足.何乐而不为呢? EPG 适时的评估大家的成果,并把他们分到项目里.帮助项目总结,甚至在平时遇到问题时,直接帮助技术人员做必要记录.项目进度松时,再督促项目人员完善内容.以达到对个人和公司积累的最大化. EPG 应该明白学习和积累是个终身的过程,对公司如此,对个人也是如此.CMMI 是个辅助,辅助我们对公司做积累,也帮助我们个人做必要的积累.公司需要逐步走向更高的管理水平,发展平台. 四,CMMI 实施之核心关键字:CMMI,SCAMPI,过程改进,能力成熟度,EPG,PA,过程域在上一章节中,我们谈到了关于过程改进团队的组建方法及在组建过程中需要注意的问题,在本节中我们将继续探讨EPG 过程改进的另一个更为重要的一环——定义过程文档. 曾经有一位评估师开玩笑说,三级是写文档,四级是写文档的文档,五级是写文档的文档的文档.由此可见,文档贯穿于整个CMMI,在过程改进中起着举足轻重的作用.那么如何才能写出既符合CMMI 又立足于企业本身实际情况的文档呢?这就是本文将要探讨的问题——定义过程文档. 在定义过程文档时,首先,应该进行企业的习惯表述与CMMI 术语和语言间的映射.特别是组织结构中的一些术语,角色,组织内部之间关系以及过程活动的表述方式都需要映射到其组织的相应部分,以防止别人无法理解. 定义过程文档的一般步骤是: (1)先确定并描述产品的生命周期. 一般来说,产品生命周期可以划分为 6 个阶段,即产品概念阶段,产品定义阶段, 产品开发阶段, 产品测试阶段,用户验收阶段,产品维护阶段. (2)根据产品生命周期的各个阶段确定需要改进的过程域(PA)活动. "过程域"用于描述CMMI 标准定义的软件过程能力评估模型中的一种部件.在该模型中,"过程域"是最大的的构造块,每个"过程域"由一组目标构成,每个目标得到一组实践支持.模型中描述的过程是参考模板,用"过程域"来表示.不能与实际过程混淆."过程域"不是实际的过程,它是模型中的模板. (3)针对某一个PA 过程活动,完成PA 的数据流程图. (4)准备相应的模板,检查表或者方法附件定义过程文档.再在EPG 内部讨论修改,然后拿给评审人员阅读,最后是进行正式评审.进一步修订,再评审直到大家认可为止,再进入下一个PA 过程.(或者也可以评审通过后进行试点,试点成功再进入下有个PA 过程.) 根据自己多年的咨询经验,总结了在定义过程文档时一般容易出现的问题. 1,"本地化做得不够" 咨询顾问常常在项目进行中发现这样的问题:在定义某个PA 过程时,客户会过于依赖咨询公司提供的其他一些企业的过程文档,并将这些文档梢作调整成为其自己的过程文件.由于每个软件企业的情况是不一样,流程,规范,记录应该根据公司实际情况来制定,参照CMMI 框架,制定适合公司本身情况的"本地化"过程体系,这样的效果会更好. (2)总体把握,逐步细化在定义第一个PA 过程时,如果没有考虑它跟其它PA 之间的关系就直接参照CMMI 的此PA 的目标和实践完成了过程文件,可能发生的结果要么是无法通过评审, 要么就是通过了之后再返回进行修改.由于各PA 间关系密切,息息相关,因此在实际的定义过程中,先要从总体上把握住各PA 间关系,完成整个过程的数据流程图的基础上再进行逐步细分,否则即是"只见树木不见森林". (3)多交流,多总结由于在项目初期,EPG 小组对于CMMI 的理解不够透彻,大家也没什么经验,这就需要EPG 成员,QA,管理人员,开发人员之间多多交流,在定义过程文档时多讨论,集众人之智慧,随着过程定义的进展,EPG 小组对CMMI 的理解加深,就需要总结经验,避免将来在遇到类似问题的时候多走弯路.。
CMM规范文档
文件编号20100001 CMM规范描述(Capability Maturity Model for Software 软件能力成熟度模型)目录CMM产生背景 (1)主要问题 (1)主要作用 (1)CMM的基本概念 (2)软件过程 (2)软件过程能力 (2)软件过程性能 (2)软件过程成熟度 (2)成熟与不成熟 (3)CMM的五级成熟度 (4)基本前提 (4)基本原理 (5)基本内容 (5)五个成熟度级别 (5)初始级 (5)第一级:初始级 (6)第二级:可重复级 (6)第三级:定义级 (7)第四级:管理级 (8)第五级:优化级 (8)发展 (9)技术内容 (10)CMM的结构和基本内容 (10)第一级:初始级(The Initial Level) (12)第二级:可重复级(The Repeatable Level) (12)概述 (12)构成 (13)需求管理(Requirements Management) (13)目标 (14)承诺 (14)前提条件 (14)执行动作 (15)度量分析 (16)验证 (16)软件项目计划(Software Project Planning) (16)内容 (17)目标 (17)承诺 (17)前提条件: (18)执行动作 (19)度量分析 (23)验证 (23)软件项目的跟踪和监督(Software Project Tacking and Oversight) (24)目标 (25)行为的能力 (26)活动 (32)度量和分析 (33)验证实施 (33)软件子合同管理(Software Subcontract Management) (35)目的 (35)内容 (35)目标 (35)承诺 (36)前提条件 (36)执行动作 (36)度量分析 (37)验证 (37)软件质量保证(Software Quality Assurance) (38)目标 (38)承诺 (38)前提条件 (39)活动 (39)软件配臵管理(Software Configuration Management) (40)目的 (40)内容 (40)承诺 (41)能力 (41)活动 (42)度量分析 (44)验证 (44)第三级:已定义级(The Defined Level) (44)概述 (44)构成 (45)目标 (46)承诺 (46)前提条件 (46)执行动作 (46)度量分析 (47)验证 (47)机构过程定义(Organization Process Definition) (47)内容 (48)目标 (48)承诺 (48)前提条件 (48)执行动作 (49)度量分析 (49)培训计划(Training Program) (49)目的 (50)内容 (50)目标 (50)承诺 (50)前提条件 (50)执行动作 (51)度量分析 (51)验证 (51)集成软件管理(Integrated Software Management) (52)目的 (52)内容 (52)目标 (52)承诺 (52)前提条件 (52)执行动作 (53)度量分析 (54)验证 (54)软件产品工程(Software Product Engineering) (54)目的 (54)目标 (54)前提条件 (55)执行动作 (55)度量分析 (56)验证 (56)组间协调(Intergroup Coordination) (57)目的 (57)内容 (57)目标 (57)承诺 (57)前提条件 (57)执行动作 (58)度量分析 (58)验证 (59)同行评审(Peer Reviews) (59)目的 (59)内容 (59)目标 (59)承诺 (60)前提条件 (60)执行动作 (60)度量分析 (60)第四级:已管理级(The Managed Level) (61)概述 (61)构成 (61)定量过程管理(Quantitative Process Management) (61)目的 (62)内容 (62)目标 (62)承诺 (62)能力 (63)活动 (63)度量分析 (64)软件质量管理(Software Quality Management) (64)目的 (64)内容 (64)目标 (64)承诺 (65)能力 (65)活动 (65)度量分析 (65)验证 (65)第五级:The Optimizing Level (66)构成 (66)缺陷预防(Defect Prevention) (66)目标 (67)承诺 (67)能力 (67)活动 (68)度量和分析 (68)验证实施 (68)技术变更管理(Technology Change Management) (69)目标 (69)承诺 (70)能力 (70)活动 (70)度量和分析 (71)验证 (71)过程变更管理(Process Change Management) (71)目标 (72)执行约定 (72)高级管理者 (73)执行能力 (73)执行的活动 (75)测量和分析 (86)验证实施 (87)CMM产生背景主要问题在过去的二十年里,新的软件开发方法和技术的使用并未使软件生产率和生产质量得到有效的提高。
CMM软件成熟度标准
CMM软件成熟度标准CMM(软件能力成熟度模型:Capability Maturity Model For Software)是由美国卡内基梅隆大学的软件工程研究所(SEI:Software Engineering Institute)受美国国防部委托研究制定并在美国,随后在全世界推广实施的一种软件评估标准,主要用于软件开发过程和软件开发能力的评估和改进,共分为五级:第一级:初始级在初始级,企业一般不具备稳定的软件开发与维护的环境。
常常在遇到问题的时候,就放弃原定的计划而只专注于编程与测试。
第二级:可重复级在这一级,建立了管理软件项目的政策以及为贯彻执行这些政策而定的措施。
基于过往的项目的经验来计划与管理新的项目。
第三级:定义级在这一级,有关软件工程与管理工程的一个特定的、面对整个企业的软件开发与维护的过程的文件将被制订出来。
同时,这些过程是集成到一个协调的整体。
这就称为企业的标准软件过程。
第四级:定量管理级在这一级,企业对产品与过程建立起定量的质量目标,同时在过程中加入规定得很清楚的连续的度量。
作为企业的度量方案,要对所有项目的重要的过程活动进行生产率和质量的度量。
软件产品因此具有可预期的高质量。
第五级:(不断)优化级在这个等级,整个企业将会把重点放在对过程进行不断的优化。
企业会采取主动去找出过程的弱点与长处,以达到预防缺陷的目标。
同时,分析有关过程的有效性的资料,作出对新技术的成本与收益的分析,以及提出对过程进行修改的建议。
一、CMM的含义及作用CMM软件评估标准是从1930年开始的近代质量管理理论与实践基础上发展起来的。
1986年美国卡内基梅隆大学由联邦政府赞助成立了软件工程研究所(SEI),1991年SEI采访了100多家软件公司,开发出了CMM 1.0版本,1993年又推出了1.1版本。
CMM把软件开发过程的成熟度由低到高分为五级,即初始级、可重复级、已定义级、已管理级和优化级。
随着CMM等级的提高,逐步降低了软件开发风险,缩短了开发时间,降低了软件开发的人力物力成本,降低了灾难性的错误发生率,提高了质量。
CMM能力成熟度模型
• 其他类型的企业需要对CMM进行裁剪。 • 裁剪的一般模式:
– CMM为定义“软件企业标准过程OSSP”提供指导和 要求
– OSSP为软件企业的“项目定义过程DSP”提供基准 – DSP是设立“软件开发计划SDP”的前提。 – 如果尚没有OSSP,取代它的是:Organizational
过程裁剪和定义 • 软件产品工程(Software Product Engineering)-过
程执行 • 组间协调(Intergroup Coordination) • 对等审查(Peer Reviews)
五、CMM的五个级别
• Level 4 管理级
– 过程可度量,预测值与结果之间的偏差可控
五、CMM的五个级别
五、CMM的五个级别
• Level 5的3个KPA:动态优化
• 缺陷预防(Defect Prevention) • 技术改变管理(Technology Change
Management) • 过程改变管理(Process Change Management)
六、过程能力的提高和改进
六、过程能力的提高和改进
其它应用工具 (如度量工具 等)
八、质量保障平台
• 平台的使用
平台启动
SEPG
高级 主管
其他 成员
用户界面
其他 成员
标准过程定 义(文档&
角色)
启动项目 指定项目成员
定义过程裁剪( 文档&角色)
过程转换
任务表
新任务&例程添加
任务申请和操作
• 两种过程评测方法:
– CBA IPI:CMM Based Appraisal for Internal Process Improvement。企业内部过程诊断
简述cmm(能力成熟度模型)的五个等级
简述cmm(能力成熟度模型)的五个等级CMM(Capability Maturity Model),即能力成熟度模型,是一种评估组织软件工程能力成熟度的模型。
CMM通过定义一系列的实践和过程,帮助组织评估和改进软件开发过程,以追求更高的质量和效率。
CMM的五个等级分别是:初始级、可管理级、已定义级、定量管理级和优化级。
一、初始级(Initial)初始级是组织软件工程能力发展的最低级别,也是最初的阶段。
在初始级别,组织的软件过程是不可预测和不可控的。
软件项目缺乏稳定的工程管理和过程规范,仅仅依靠个别的英雄人物的努力。
初始级别的组织缺乏对软件过程的了解和控制,项目的成功往往依赖于个别人员的能力和经验。
这种情况下,软件开发过程会受到外部变化和内部因素的频繁干扰,容易出现延期和成本超支等问题。
二、可管理级(Managed)可管理级是对软件过程的第一步改进。
在可管理级别,组织开始关注项目的计划、资源分配和度量等管理活动。
组织开始建立一套可重复使用的软件过程,并对其进行监控和度量。
此阶段的工作重点是确保项目能够按照计划进行,并进行评估和收集过程改进的数据。
通过对项目管理过程的改进,组织可以更好地控制软件工程项目的进度、成本和质量。
三、已定义级(Defined)已定义级是对软件过程的更进一步改进。
在已定义级别,组织建立了一套描述软件过程的标准和规范。
这些标准和规范明确了软件开发过程的每个阶段,包括需求分析、设计、编码、测试等。
组织开始为软件过程的每个阶段指定明确的任务,制定相应的工作指南和模板,并确保每个成员都了解并遵守这些规范。
这样做可以提高软件开发的一致性和可预测性,减少项目风险和不确定性。
四、定量管理级(Quantitatively Managed)定量管理级是对软件过程的更进一步度量和分析。
在定量管理级别,组织开始收集和分析软件过程的度量数据,并利用这些数据来进行过程的改进。
组织建立了一套基于数据的质量管理系统,用来监控和控制软件开发过程的性能和质量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文档化,标准的一致的;
软件过程标准化文档化,质量可以得到控制;
工作组:SEPG、软件评估组。
提高:
对软件过程定量分析,加强质量管理。
已管理级
第四级的管理是量化的管理。所有过程需建立相应的度量方式,所有产品的质量(包括工作产品和提交给用户的最终产品需要有明确的度量指标。这些度量应是详尽的,且可用于理解和控制软件过程和产品。量化控制将使软件开发真正成为一种工业生产活动。
关注点:
工作方式处于救火状态,不断的应对突如其来的危机;
工作组:软件开发组、工程组;
提高:
需要建立项目过程管理,建立各种计划,开展QA活动。
可重复级
根据多年的经验和教训,人们总结出软件开发的首要问题不是技术问题而是管理问题。因此,第二级的焦点集中在软件管理过程上。一个可管理的过程则是一个可重复的过程,可重复的过程才能逐渐改进和成熟。可重复级的管理过程包括了需求管理、项目管理、质量管理、配置管理和子合同管理五个方面;其中项目管理过程又分为计划过程和跟踪与监控过程。
关注点:
持续改善;
工作组:缺陷防范活动协调组、技术改革管理活动组、软件过程改进组;
改进:
软件过程优化。
软件能力成熟度模型:CMM五个级别介绍
CMM为企业的软件过程能力提供了一个阶梯式的进化框架,阶梯共有五级。第一级只是一个起点,任何准备按MM体系进化的企业都自然处于这个起点上,并通过它向第二级迈进。除第一级外,每一级都设定了一组目标,如果达到了这组目标,则表明达到了这个成熟级别,可以向下一级别迈进。
从纯粹的个人行为发展到有计划有步骤的组织行为…
第一级:初始级(Initial;
第二级:可重复级(Repeatable;
第三级:已定义级(Defined;
第四级:受管理级(Managed;
第五级:优化级(Optimizing。
初始级
初始级的软件过程是未加定义的随意过程,项目的执行是随意甚至是混乱的。也许有些企业制定了一些软件工程规范,但若这些规范未能覆盖基本的关键过程要求,且执行没有政策、资源等方面的保证时,那么它仍然被视为初始级。
通过实施这些过程,从管理角度可以看到一个按计划执行的且阶段可控的软件开发过程。
关注点:
规则化
引入需求管理、项目管理、质量管理、配置管理、子合同管理等;
引入工作组:测试组、评估组、质量保证组、配置管理组、合同组、文档支持组、培训组;
提高:
SEPG、建立软件过程库和文档库
已定义级
在可重复级定义了管理的基本过程,而没有定义执行的步骤标准。在第三级则要求制定企业范围的工程化标准,并将这些标准集成到企业软件开发标准过程中去。所有开发的项目需根据这个标准过程,裁剪出与项目适宜的过程,并且按照过程执行。过程的裁剪不是随意的,在使用前必须经过企业有关人员的批准。
关注点:
量化,可预测的; (自此,软件开发变成一种工业生产活动。
软件过程具有精确的评测方法,量化的控制软件过程的产品和质量,可根据”意外情况”确定出错的原因;
工作组:定量过程管理组;
提高:
防止和规避缺陷的能力,技术革新的能力,过程改进。
优化级
优化级的目标是达到一个持续改善的境界。所谓持续改善是指可以根据过程执行的反馈信息来改善下一步的执行过程,即优化执行步骤。如果企业达到了第五级,就表明该企业能够根据实际的项目性质、技术等因素,不断调整软件生产过程以求达到最佳。