软件过程改进与管理文档格式.docx

上传人:b****4 文档编号:17888151 上传时间:2022-12-11 格式:DOCX 页数:14 大小:316.18KB
下载 相关 举报
软件过程改进与管理文档格式.docx_第1页
第1页 / 共14页
软件过程改进与管理文档格式.docx_第2页
第2页 / 共14页
软件过程改进与管理文档格式.docx_第3页
第3页 / 共14页
软件过程改进与管理文档格式.docx_第4页
第4页 / 共14页
软件过程改进与管理文档格式.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

软件过程改进与管理文档格式.docx

《软件过程改进与管理文档格式.docx》由会员分享,可在线阅读,更多相关《软件过程改进与管理文档格式.docx(14页珍藏版)》请在冰豆网上搜索。

软件过程改进与管理文档格式.docx

在软件领域,软件过程理念的领袖WattsHumphery领导并完成了软件过程改进领域的巨大成果CMM,他认为要解决软件危机,首要的是把软件活动看作可控的、可度量的和可改进的过程。

不关注和关注过程的组织有着明显不同的文化。

前一种组织里,人们期望活动都能产生出实在的“东西”,比较关注活动的短期效果,认为与过程相关的是一些低优先级的活动;

在后一种组织里,认为生产的“东西”只是过程的一个节点,只是全局的一部分,过程文档只被看作一个帮助过程执行的工具,而不是被看做最终的目标。

实际上,在以过程为核心的组织里,过程并不是一成不变的经典,它本身会通过反馈、评估等一系列活动不断取得改进。

当然并不是说不关注过程的组织没有过程,只是这些组织的过程可能并不一致、协调,每个人都有自己的过程;

过程可能是随机并且在无规则的改进着。

对于软件团队而言,具体例子就是成员采用不同的编译规和开发语言变可以变更任何程序而不考虑他人等。

当然这是当前盛行面向客户的小组协作所不期望的。

过程理念还在快速发展,2000年版的ISO9000的一大变化要求以过程为中心描述活动,而CMM的最新版本CMMI已超越软件的行业局限,成为可以适合多种行业的过程改进模型。

2.1.2软件过程定义

由于不同的人和不同的软件开发组织关注点不一样,因此可能会给软件过程下不一样的定义,这些定义往往会强调了过程的某个方面而忽略了其他方面。

美国卡耐基梅隆大学软件工程研究所(SEI)在CMM模型中给过程的定义是:

“过程就是指用于生产以与软件进化的一系列的活动、方法与实践。

”软件过程:

就是指将用户需求转化为可执行系统的的开发和演化过程中所进行的软件工程活动的全体,是用于生产软件产品的工具、方法和实践的集合。

这可以说是关于过程的经典的、全面的定义,它包含了过程的三个方面的特性(过程定义、过程活动、过程结果):

第一,过程应该被定义。

通常情况下,是指将过程所包含的活动与程序文档化(可以采用保存于纸介质上也可以采用电子文档的形式);

第二,执行过程的每一个人都要学习过程的知识。

即让每个过程执行者的头脑中都有对过程知识的深刻认识,且以此来驱动他们的行为活动;

第三,通过执行过程中的活动,获得最终预期的过程结果。

该过程定义的三个方面都很重要,它们之间的关系是相辅相成的;

第一,任何过程只有被大家学习、理解并且执行,才能解决实际问题。

如果一个过程只停留在定义阶段,那么这个过程只能永远停留在文本阶段。

第二,在过程进行了明确的定义之后,如果过程的参与者承受了关于过程的培训、学习了过程相关的知识,但是却在实践中没有遵循过程,那么该过程也是没有实际效果的过程。

反之,如果参与过程的组织成员都理解了过程的定义,承受了与过程相关的培训,而且在实际的工作中都能按照过程的要求去规自己的活动,那么该过程就是一个真正的、完整的、有效的过程。

2.2软件过程改进

2.2.1软件过程为什么要改进

提高软件过程能力的实践称为软件过程改进。

软件过程改进的根本目的是:

提高质量、提高生产率并且降低开发成本。

我们可以把软件组织的软件过程与人作比较,人在成长的过程中,存在不同的成熟状态。

同样,我们也可以把软件过程分为不成熟的过程、成熟的过程和制度化的过程。

不成熟的软件过程一般具有以下特点:

•过程未被严格的遵循和实施;

•特别依赖于英雄人物,人离开了过程就丢了;

•过程是临时拼凑而成的;

•过程和质量的可见度低;

•质量难于预测;

•功能和质量为了满足进度而妥协。

•成熟的软件过程具有以下特点:

•很好地进行了文档化;

••持续地进行改进;

•正规、严格地使用;

•良好的控制;

•对产品和过程进行了度量;

制度化的过程具有的特点:

•过程成为人们的做事方法,即使最初定义过程的人员离开也不会改变。

从以上的比较可以看出,成熟的过程对于开发出良好的产品显然是有利的,然而,软件组织的过程成熟如同人一样,并不是一生下来就是成熟的,因此需要对软件过程进行改进。

软件过程的改进并不是非正式的、随机的改进,不是只改进一次就够了,而是要持续不断地进行改进。

这是因为:

首先,人们对事物认识需要循序渐进,要经过理论和实践相互作用的循环上升的过程;

其次,过程是与人相关的,过程的成熟有赖于人的成熟,而人的成熟是缓慢的;

第三,在知识经济时代,企业所处的商业环境已经发生了根本性的变化。

顾客需求瞬息万变,技术创新不断加速,产品生命周期不断缩短,市场竞争日趋激烈。

2.2.2软件过程改进的基本思路

软件开发组织的软件过程能力,表达了软件开发组织的实力。

这种实力的提高,同样是需要一个逐渐提高的过程。

对于软件开发组织的管理人员,软件过程能力的提高同样是一个需求认真策划的复杂过程。

由前面的论述可知,软件过程能力是是指把企业从事软件开发和生产的过程本身透明化、规化和运行的强制化,描述了在遵循一个软件过程后能够得到的预期结果的界限围。

简单来说,就是指一个过程在的生产软件产品的能力。

该指标是对能力的一种衡量,用它可以预测一个组织在承接下一个软件项目时,所能期望得到的最可能的结果。

那么软件过程改进的基本思路就是首先形成一定的软件过程;

然后,对其不断进行调整、优化,使得过程能力不断提高。

目前流行的过程改进模型是IDEAL模型。

IDEAL模型以过程改进环的形式表示,如图2-2所示。

IDEAL模型将软件过程改进的过程分为五个阶段:

初始化、诊断、建立、行动、改进。

IDEAL取自五个单词的缩写。

通过该模型,我们可以清楚地看到软件过程改进的基本思路与主要流程。

准备阶段为IDEAL模型的起点,主要为软件过程改进提供准备,包括建立初始的过程改进组织结构和基础,制定战术计划和改进目标等。

诊断阶段为组织走上持续软件过程改进循环奠定基础。

此阶段的任务是根据企业远景目标和当前的软件过程能力,完善软件过程改进行动计划草案。

建立阶段为当前过程能力中存在的问题划分处理优先等级。

制定整体战略行动计划,用于指导软件过程改进的活动;

此阶段的任务是制定可度量的目标、定义度量标准、分配必要的资源。

行动阶段的任务是创建、指导、实施行动计划。

改进阶段的任务是通过实践、收集有用数据、完善度量和评价本次软件过程改进过程中使用的策略、方法和架构是否合理、完善。

为IDEAL模型的下一次循环奠定良好的基础。

2.3过程改进的方法

软件过程改进是软件过程管理不断改进和不断完善的过程。

它是一项综合并且需要持续开展的活动,它面对的既是软件开发的过程模型,同时也是针对每一个具体软件项目的过程实例。

20世纪90年代前后,软件界针对如何进行软件过程管理和改进,提出了各种方案与适用于软件企业的质量标准和过程改进模型。

其中,ISO9001,SPICE,CMM/CMMI使用广泛,具有一定代表性。

所以在这里,对这些标准和模型作简要介绍。

2.3.1ISO9001

ISO9000族标准是目前国际上影响最为深远的质量管理标准。

它是国际标准化组织(ISO)于1987年公布的,最初针对制造行业,但现在已经面向更为广阔的领域。

ISO9001是ISO9000族中一个重要的质量标准,是一个符合软件开发与维护的标准。

它于1994年由ISO公布,明确规定了质量体系的要求。

如果软件企业开发方能够达到这些要求,说明它具备了质量保证能力,从而在从产品设计到售后服务的所有阶段,可防止出现不适宜格的产品,使用户对产品满意。

ISO9001标准已有了新的版本ISO9001:

2000,在2000版本中,标准所重点关注的不是“产品质量”而是“过程质量”。

它强调以顾客满意为目的,以过程管理为导向,鼓励组织在建立、实施和改进质量管理体系与提高有效性时,采用过程方法,通过满足顾客要求,增强顾客满意度。

它还把94版的20个要素分别归类于管理职责、资源管理、产品实现与测量、分析和改进四大类,构成一种过程方法模式的结构,实现了以过程的连续性替代了20个要素的不连续,符合PDCA循环规则,且通过持续改进的环节使质量管理体系的水平达到螺旋式上升的效应,这使得任何采用标准的组织都能方便地理顺其质量管理体系,而无须花很大气力去识别质量活动与要素的对应关系。

ISO9000-3是软件企业实施ISO9001的指南,它从软件的角度对ISO90001的容进行具体解释。

ISO9001标准规定了20个质量体系要素,而ISO9000-3则对每一个要素进行逐一说明。

ISO9000-3表达了需方和供应方应如何进行有组织的质量保证活动,才能得到较为满意的软件:

规定了双方签订开发合同到设计、实现以至维护整个软件生存期中应当实施的质量保证活动,但并没有规定具体的质量管理和质量检验方法和步骤。

为使软件产品达到质量要求,ISO9000-3要求软件开发机构建立质量保证体系。

首先要求明确供需双方的职责,针对所有可能影响软件质量的各个因素都要采取有力措施,做出如何加强管理和控制的决定。

对与质量有关的人员规定其职责和职权,使之责任落实到人,产品质量真正得到控制。

2.3.2SPICE

20世纪90年代初,ISO/IEC第一联合技术委员会注意到软件过程改进和评估的重要性以与由于缺乏统一的国际标准给软件产业造成的困境,于1993年设立第十工作组,发起了制定ISO/IEC15504系列标准的前期工作。

项目名称是“软件过程改进和能力测定”,简称SPICE。

项目旨在协调制定一系列软件过程标准。

1998年出版了ISO/IECTR15504《信息技术软件过程评估》,它规定了软件过程评估的框架,供从事软件策划、检验、控制以与软件改进软件的获得、提供、开发、运行、进化与支持的组织所使用。

SPICE面向的评价对象也是软件企业,其目标是通过对企业的软件过程的评价达到两个目的:

其一,确定被评价企业的软件过程能力;

其二,对被评价的软件过程加以改进。

为了实现上述目的,人们要求该标准提供国际公用的过程评估模型,使大家能够通过过程评估进行过程改进和能力评定有共同的理解,并且便于使用和管理:

使基于互有差异但相容的具体过程评估模型和方法得到的评估结果在某种程度上可以比较。

ISO/IECTR15504标准包含9个组成部分,包括:

概念和介绍性指南、过程和过程能力的参考模型、实施评估、实施和指标指南、过程评估模型、评估员资格指南、用于过程改进指南、词汇

第三章软件过程改进模型分析

实施软件过程改进,第一步是要选择一个适宜的过程改进模型。

目前,较多采用的软件过程改进模型有CMM、ISO9000-3、ISO/IEC15504、SPICE以与CMMI等。

本次我们选定CMMI作为本次工作的指导模型,本章将简要介绍CMMI以与CMMI所涉与的度量分析。

3.1CMMI模型概述

3.1.1CMMI的发展概况

在20世纪70到80年代,软件工程的研究重点是需求分析、设计、编程、测试、维护等领域的方法技术和工具,我们称之为经典软件工程。

从20世纪90年代至今,人们逐渐意识到,由于软件组织管理软件过程的能力比较弱,常常导致项目处于混乱状态,使得新技术、新工具的优势难以表达,经典的软件工程已明显不够用。

因此,软件过程改进成为软件工程学科的一个主要研究方向。

软件过程技术为开发人员提供一个标准的无歧义的软件开发规,使得软件开发生产率得以提高。

CMMI模型是CMM模型的替代模型,1998年美国卡基-梅陇大学软件工程研究所(SEI)启动的CMMI计划,目的在于用一个统一的框架协调和集成SEI已经存在的各种模型。

CMMI模型目前已经成为业界主要的过程管理模型。

CMMI被看作是把各种CMM集成为一个系列的模型中,以更加系统和一致的框架来指导组织改善软件过程,提高产品和服务的开发、获取和维护能力,同时为企业评审自己的过程提供了可参照的行业基准。

2000年CMM演化成CMMI,CMM2.0成为CMMI1.0的主要组成部分。

3.1.2CMMI的基本容

CMMI是一套融合多学科的、可扩充的产品集合,其研制的初步动机是为了利用两个或者多个单一学科模型实现一个组织的集成化过程改进。

从长期考虑,CMMI产品开发群组建立了一个自动的、可扩充的框架,以便于以后将其他一些学科的过程改进模型也逐步添加到CMMI产品集中。

总的来说,以便于以后将其他一些学科的过程改进模型也逐步添加到CMMI产品集中。

总的来说,CMMI集成达到了两个目的:

一是提炼出了学科之间的一些公共过程域,另一方面就是减少了过程域的总数量。

CMMI模型系列

现在业界使用的CMMI最新模型是2002年发布的1.1版本系列,它们是CMMI-SE/SW/IPPD/SS、CMMI=SE/SW/IPPD、CMMI-SE/SW、CMMI-SW.由于CMMI是可扩充的产品集合,因此今后可能还会有新的学科模型出现。

这也正好说明了CMMI模型生命力的强大。

CMMI-SW是软件工程能力模型集成,该模型中对于软件开发过程中需求的建立、项目计划的制定和实施,以与对软件的测试等过程都有详尽的描。

CMMI-SE/SW,是系统工程和软件工程能力模型集成,该模型中对于四通八达工程和软件开发过程中需求的建立、项目计划的制定和实施,以与对软件的测试等过程都有详尽的描述。

CMMI-SE/SW/IPPD是系统工程,软件工程,集成化产品和过程开发能力模型的集成,该模型为在项目开发中需要使用交叉学科群组,需要解决对项目群组的使用、计划和组织,需要解决学科或组之间的沟通以与与集成化产品和过程开发能力模型相关的集成,该模型为在项目开发中需要使用交叉学科群组,需要解决对项目群组的使用、计划和组织,需要解决学科或组之间的沟通以与与集成化产品和过程开发相关的一些问题提供了解决方案模型。

CMMI-SE/SW/IPPD/SS是系统工程,软件工程,集成化产品和过程开发,供应商管理能力模型集成,该模型中对于供应商的选择和监督,集成化供应商管理以与供应商定量管理等方面给出了详尽描述。

在上述4个CMMI模型中,它们之间是有关系的。

CMMI-SE/SW是CMMI-SW的扩充,CMMI-SE/SW/IPPD的扩充。

CMMI模型的过程域

CMMI模型中,最基本的概念是“过程域”。

与以前的一些过程改进模型一样,CMMI模型也只是选择对过程改进最重要的一些题目,并将其编组到“域”中。

在CMMI中,CMMI-SW共有22个过程域,CMMI-SE/SW共有22个过程域,CMMI-SE/SW/IPPD共有24个过程域,CMMI-SE/SW/SS共有25个过程域。

CMMI-SW和CMMI-SE/SW的过程域数量和名称均相同,仅在某些过程域中所提供信息材料有所不同。

CMMI-SE/SW/IPPD比CMMI-SE/SW增加了2个过程域,并扩充了CMMI-SE/SW的一个过程域,所以CMMI-SE/SW/IPPD共有24个过程域。

CMMI-SE/SW/IPPD/SS比CMMI-SE/SW/IPPD增加了一个过程域,所以CMMI-SE/SW/IPPD/SS共有25个过程域。

3.2CMMI的表示方法

CMMI是以过程域PA为纲,以特定目标SG、特定实践SP、共性目标GG、共性实践GP为目,分阶段式模型和连续式模型两种方式来定义的。

在CMMI模型中,软件能力成熟度模型(SW-CMM)是“阶段式”模型,系统工程能力模型(SE-CMM)是连续式模型,而集成化产品开发(IPD-CMM)是“混合”模型,组合了连续式表示和阶段式表示的特点。

3.2.1CMMI的阶段式表示

1、模型部件结构

在阶段式表示中,过程域的组织方式是成熟度等级,其中每个过程域包含共性目标和特定目标,以与共性实践和特定实践。

成熟度等级提供了组织围改进过程的阶段性实现“路标”,总共包含5个成熟度等级,分别是初始级、已管理级、已定义级、定量管理和优化级。

图3-1描述了CMMI阶段式模型的部结构。

2、成熟度等级

本表示法集中于组织可以用于改进过程的最正确实践。

在开始使用CMMI模型来改进过程之前,你必须首先把自己的过程映射到相应的CMMI过程域。

通过跟踪与CMMI模型的对应关系,这种映射使得你可以控制组织的过程改进。

但是,不要求每个CMMI过程域都逐一映射到组织过程。

成熟度等级提供了在特定学科或者学科集合中预测组织未来性能的手段,是使组织成为成熟组织定义良好的改进路径。

阶段式成熟的每个等级都是相互依赖的,上层包含下层的目标和实践。

每个等级是连续的,不存在隔阂,进行连续过程改进的组织不能跨级进行,也就是说,不能不经过成熟度等级2直接跳到成熟度等级3,这样就给组织进行过程化改进提供了“路标”。

图3-2是阶段式成熟度等级的结构图。

3、成熟度等级和过程域

下表3-1是每个成熟度等级所包含的过程域。

等级

焦点

过程域

5优化级

持续过程改进

组织改革与实施

因果分析和解决方案

4定量管理级

定量管理

组织过程性能

项目定量管理

3已定义级

过程标准化

需求开发

技术解决方案

产品集成

验证

确认

组织过程焦点

组织过程定义

组织培训

集成化项目管理

(SS)

集成化供应商管理

风险管理

决策分析和解决方案

(IPPD)

集成化组织环境

集成化群组

2已管理级

基本项目管理

需求管理

项目计划

项目监督和控制

供应商合同管理

度量和分析

过程和产品质量管理

配置管理

1初始级

在阶段式表示中,过程域和成熟度等级存在唯一的对应关系,也就是说,成熟读等级包含固定数量和名称的过程域,而过程域只属于特定成熟度等级,而同一个过程域不能在多个成熟度等级中重复出现。

3.2.2CMMI的连续式表示

连续式表示使用6个能力等级、能力剖面、目标等级和等价等级作为模型部件的组织原则。

连续式表示根据亲和关系对过程域进行分组,并指定每个过程域中过程改进的能力等级。

能力剖面确定过程的路径,说明每个过程域的改进变化。

等价等级可以把过程域的能力等级与阶段式表示的成熟度联系起来。

图2.3描述了CMMI连续式模型的部结构。

由图可以了解到,特定目标组织特定实践,共性目标组织共性实践。

每个特定实践和共性实践对应一个能力等级。

特定目标和特定目标实践应用于单个过程域。

2、能力等级

能力等级有6个,编号从0到5,分别是完成级、已执行级、已管理级、已定义级、定量管理级和优化级。

能力等级由能够改进组织过程的过程域的相关特定实践和共性实践组成。

能力等级用适用于一个过程域的特定目标和共性目标的实现程度来度量。

图3-4是CMMI连续式表示的能力等级(CL)的顺序图。

3、过程域能力剖面

在连续式表示中,能力等级剖面是过程域与其对于能力等级的列表。

该剖面是组织根据过程与跟踪其能力等级的方式。

当与能力等级结合,且该剖面表示每个过程域的组织成就时,过程域能力剖面是成绩剖面。

同样,当该剖面代表组织的过程改进目标时,过程域能力剖面是目标剖面。

当目标与剖面比较时,成绩剖面使你不仅可以跟踪组织的过程改进进度,而且可以验证组织的管理成绩。

过程能力剖面可以表示成两维的点集,其中两维分别是过程维和能力维,如图3-5所示。

其中过程维描述了组织实施了哪些过程域。

能力维描述了实施某过程的程度。

(称作能力等级)。

第四章总结

全世界软件需求的飞速发展使得软件开发活动急剧增长。

为了在日益激烈的竞争中处于有利位置,软件组织都在努力提高软件产品的质量和开发效率。

提高质量和效率最行之有效的方法是不断改进组织的过程能力。

于是,软件过程改进相应地成为人们关注的焦点。

本文从了解国外研究动态出发,查阅了大量相关方面的文献资料,结合现有研究成果,并在充分考虑了国软件企业的实际情况的基础上,提出了一种基于CMMI的软件过程改进实施模型。

该实施模型由前期准备阶段和过程改进循环两部分组成。

在前期准备阶段,强调高层管理者的支持、强调建立支持软件过程改进的组织机构和技术架构、强调教育和培训以与思想观念的转变。

在过程改进循环中强调以当前软件企业的实际情况为基础进行过程改进,强调循序渐进、小步快进、持续改进,强调部评估的作用,强调先试点后推广。

CMMI是目前国际上最流行、最实用的软件过程改进标准,它的目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发高质量的软件。

本文通过介绍CMMI的基本容以与CMMI的表示方法以与CMMI过程的实践分析,作者认为中国的软件企业实施基于CMMI的过程改进能够有效地提高软件过程能力,改善软件质量水平。

参考文献

[1]邢敏.中小软件企业基于CMMI的软件过程改进研究[D].西北工业大学,2007.

[2]朱卫平.基于CMMI的国中小型软件企业软件过程改进研究[D].中南大学,2006.

[3]罗军.基于CMMI软件过程改进度量模型研究与应用[D].工业大学,2014.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 韩语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1