CMM阅读笔记

上一篇 / 下一篇  2007-12-06 22:00:04 / 个人分类:读书笔记

一.软件成熟度模型

1.      过程成熟度框架:建立有效的软件工程和管理实践过程基础设施。

1.1不成熟和成熟软件组织的比较

1.2构成过程成熟度基础的基本概念

软件过程:人们用以开发和维护软件及其相关产品的(例如,项目计划,设计文档,代码,测试用例,用户手册等等)的一组活动,方法,实践和变换。

软件过程能力:通过遵循软件过程能够实现预期结果的程度。

软件过程成熟度:一个特定过程被明确地定义,管理,测量,控制,并且有效的程度。成熟度意味着能力上的增长潜力,并且表明一个组织软件过程的丰富性和遍及组织的项目中运用它时的一致性。

1.3能力成熟度模型概述

2.软件过程成熟度的五个等级

1)初始级:软件过程的特点是无秩序的,偶尔甚至是混乱的。几乎没有什么过程是经过定义的,成功依赖于个人的努力。

2)可重复级:已建立基本的项目管理过程去追踪成本,进度和功能性,必要地过程纪律已经到位,使具有类似应用的项目,能重复以前的成功。

3)已定义级:管理活动和工程活动两方面的软件均已文档化,标准化,并集成到组织的标准软件过程。去不项目均采用供开发和维护软件用的组织标准软件过程的一个经批准的剪裁版本。

4)已管理级:已采集详细的有关软件过程和产品质量的度量。无论是软件过程还是产品均得到了定量了解和控制。

5)优化级:利用来自过程和来自新思想,新技术的先导性试验的定量反馈信息,使持续过程改进成为可能。

2.1成熟度等级的行为特征

2.1.1等级1-初始级

等级1组织的过程能力是不可预测的,因为随着工作进展软件过程经常被改变或修定。进度,预算,功能性和产品质量一般是不可预测的,性能依赖于个人能力,且随着个人固有的技能,知识和动机的不同而变化。

2.1.2等级2-可重复级

等级2组织的过程能力可概括为有纪律的,因为软件项目的规划和跟踪是稳定的,能重复以前的成功。由于遵循基于以前项目性能所制定的切实可行的计划,项目过程处在项目管理系统的有效控制之下。

2.1.3等级3-已定义级

等级3组织的软件过程能力可概括为标准的和一致的,因为无论软件工程活动还是管理活动,过程都是稳定的和可重复的。在所建立的产品线内,成本,进度和功能性均受控制,对软件质量也进行跟踪。这种过程能力建立在整个组织范围内对已定义过程中的活动,角色和职责的共同理解之上。

2.1.4等级4-已管理级

等级4组织的软件过程能力可概括为可预测的,因为过程是已测量的并在可测的范围内运行。该等级的过程能力使得组织能在定量限制的范围内预测过程和产品质量方面的趋势。当超过限制范围时,采取措施予以纠正。产品质量具有可预测的高质量。

2.1.5等级5-优化级

等级5组织的软件过程能力可特征化为不断改进,因为这些组织为扩大其过程能力的范围进行着不懈的努力,因而不断改善其项目的过程性能。既通过在现有过程中增量式前进的办法,也通过采用新技术,新方法的革新办法,使改进不断出现。

2.2理解成熟等级

2.2.1理解初始级

等级1组织的成功依赖于组织中人员的能力和杰出的努力。

2.2.2理解可重复级和已定义级

2.2.3理解已管理级和优化级

朱兰三部曲:(Juran Trilogy):

质量策划的目的是向运作人员,即软件生产者提供生产能满足顾客需求的产品的方法。操作人员生产出产品,但由于质量缺陷不得不做某些返工。这种浪费是经常性的,执行质量控制是为了防止事情恶化。过程中的零星尖峰,代表消防活动,经常性的浪费提供了改进的机会,抓住这个机会进行工作就叫质量改进。

2.3软件过程的可视性

等级1的软件过程是一种无组织的整体-一个黑盒。

等级2,构造软件的过程可看作为一个接一个的黑盒子,随着活动在盒子间流动,在各过渡点上具有管理的可视性。

等级3,盒子的内部结构(即项目定义软件过程中的作业)是可视的。

等级4,已定义的软件过程被配备度量,并得到定量的控制。

等级5,为了提高生产率和质量,以受控的方式对构造软件的新的和已改进的方法进行不断的试验。

2.4过程能力和性能预测

2.5跨越成熟度等级

3.CMM的可操作定义

3.1成熟度等级的内部结构

每个成熟等级由几个关键过程区域组成,每个关键过程区域又按五个称为共同特点的部分加以组织。共同特点规定关键实践,当这些关键实践均得到实施时,就能实现关键过程区域的目标。

3.2成熟度等级

一个成熟度等级是一个妥善定义的,朝着实现成熟软件过程目标的进化途中的平台。

3.3关键过程区域

每个成熟度等级被分解成几个关键过程区域,指明为了改进软件过程组织应关注的区域。关键过程区域识别出为了达到基本个成熟度等级所必须着手解决的问题。

等级2关键过程区域:

1) 需求管理的目的是在顾客和软件项目之间建立对顾客需求的共同理解,顾客需求将由软件项目处理。

2) 软件项目策划的目的是制定进行软件工程和管理软件项目的合理的计划。

3) 软件项目的跟踪和监督的目的是建立适当的对实际进展的可视性,使管理者在软件项目性能显著偏离软件计划时能采取有效的措施。

4) 软件子合同管理的目的是选择合格的软件子承包商,并有效的管理它们。

5) 软件质量保证的目的是给管理者提供对于软件项目正采用的过程和正在构造的产品的恰当可视性。

6) 软件配置管理的目的是在项目的整个软件生存周期中建立和维护软件产品的完整性。

等级3的关键过程区域

1) 组织过程焦点的目的是规定组织在改进其整体软件过程能力的软件过程活动方面的职责。

2) 组织过程定义的目的是开发和保持一组便于使用的软件过程财富,它们能改进横跨项目的过程性能,并且为组织能获得积累性的,长期得益奠定基础。

3) 培训大纲的目的是培育个人的技能和知识,使得他们能有效地和效率高地执行其任务。

4) 集成软件管理的目的是将软件工程活动和管理活动集成为一个协调的,已定义的软件过程,该过程是剪裁组织的标准软件过程和组织过程定义中所描述的相关的过程财富而得到的。

5) 软件产品工程的目的是一致地招待一个妥善定义的工程过程,为了能有效地和效率高地生产正确的,一致的软件产品,该工程过程集成全部软件工程活动。

6) 组间协调的目的是为软件工程组织积极参与其它工程组工作制定的一种办法,使得项目更能有效地和效率高地满足顾客的需求。

7) 同行评审的目的是及早和高校的除去软件工作产品中的缺陷。法根式审查(fagan-style审查),结构化走查,或者一些其它的学院式的评审办法。

等级4的关键过程区域:

1) 定量过程管理的目的是定量的控制;软件项目的过程性能。

2) 软件质量管理的目的是建立对项目软件产品质量的定量了解和实现特定的质量目标。

等级5的关键过程区域:

1) 缺陷预防的目的是鉴别缺陷的原因并防止它们再次出现。

2) 技术改革管理的目的是识别出能获利的新技术(即工具,方法和过程),并以有序的方法将它引进到组织中去。

3) 过程更改管理的目的是出于改进软件质量,提高生产率和缩短产品开发周期的目的持续不断的改进组织中所采用的软件工程。

3.4共同特点

关键过程区域按共同特点加以组织。共同特点是表明一个关键过程区域的实施和规范化是否有效,可重复且持久的一些属性。

1) 执行约定:执行约定描述组织保证过程得以建立和持续起作用所必须采取的行动。一般包括制定组织的方针和规定高级管理者的支持。

2) 执行能力:执行能力描述为了能实施软件工程,项目或组织中必须存在的先决条件。一般包括资源,组织结构和培训。

3) 执行的活动:执行的活动描述为实现一个关键过程区域所必须的角色和规程。包括制定计划和规程,进行工作,跟踪它,并在需要时采取纠正措施。

4) 测量和分析:测量和分析描述对过程进行测量和对测量结果进行分析的需要。

5) 验证和实施:验证和实施描述那些能保证遵照已建立的过程进行活动的措施。

3.5关键实践

关键实践描述对关键过程区域的有效实施和规范化贡献最大的基础设施和活动。

4.运用CMM

软件过程评估:用于确定一个组织的当前软件过程的状态,确定组织所面临的具有高优先级的与软件过程有关的问题,和获得组织对软件过程改进的支持。

软件能力评价:用户识别合格的能完成软件工作的承包商或者监控现有软件工作中所运用的软件过程状态。

4.1软件过程评估和软件能力评价方法

软件过程评估和软件能力评价的共同步骤

群组的选择-从CMM中取样,成熟度提问单-响应分析-现场访问,会谈和文档的评审-基于CMM的调查发现-KPA(关键过程区域)剖面

4.2软件过程评估和软件能力评价之间的差异

1)评估和评价的范文可能变化

2)软件过程评估和软件能力评价在动机,目的,输出结果的所有权不同。

软件过程评估是在开放,合作的环境中的,评估的成功取决于管理者和专业人员两方面对改进组织的支持。评估目的是在于暴露问题和帮助经理和工程师改进他们的组织。

软件能力评价在更为面向审计的环境中进行。评价的目的于金钱密切相关,因为评价群组的推荐将帮助挑选承包商或设置奖金。

4.3CMM在过程改进方面的其它用法


TAG: 读书笔记

 

评分:0

我来说两句

我的栏目

日历

« 2024-04-25  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 37848
  • 日志数: 56
  • 建立时间: 2007-09-12
  • 更新时间: 2009-03-12

RSS订阅

Open Toolbar