• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

组织标准软件过程(OSSP)的剪裁方法研究

发布: 2008-3-26 13:06 | 作者: 李兴兵 | 来源: 不详 | 查看: 81次 | 进入软件测试论坛讨论

领测软件测试网 对于处于CMM3的组织来说,其主要关注的是如何在组织范围内进行过程定义、实施以及改进。组织标准软件过程(OSSP)的建立一般是CMM3组织必不可少的一项工作。然而,由于组织所面对的项目环境并不尽相同,因此只有组织标准软件过程是不够的,还必须根据特定项目环境,对组织标准软件过程进行剪裁,建立起相应的项目定义软件过程。本文主要讨论的就是如何对组织标准软件过程进行剪裁,来形成项目定义软件过程。集中讨论与OSSP剪裁相关的一些活动。在这里假定组织已经开发了一个基于剪裁后的过程需求集合、根据SW-CMM和其他一些商业需求而生成的OSSP。 组织标准软件过程(OSSP)中描述的是组织中所有项目的软件开发过程必须满足的一些需求。OSSP可以有很多种形式,也可以允许一定程度的替代选择以支持多个生命周期模型。OSSP的目的是在组织的各项目中建立起公共过程,支持过程的度量、持续性以及改进。与其相关的剪裁手册则是为了使组织认清具体项目的职责,并且在项目定义软件过程中反映出项目的一些特定需求的影响。
    根据所要支持的产品和生命周期范围的不同,OSSP从抽象描述到详细执行的特定形式和内容也会有很大的不同。一般来说,组织希望OSSP中能够包括不同抽象层次上的元素。在抽象描述的层次上,OSSP中描述所有项目都应该包含的一些软件过程的主要元素以及这些元素之间的相互关系。在详细执行的层次上,OSSP则可能包含或引用完整的执行描述。从另一方面来说,当一个组织不限制执行层次上的过程元素时,对这些元素的描述就必须应该包含在抽象层次的描述中。例如,组织可能要求所有的项目执行包括预期计划和打包发布、质量性能精度以及会谈时间等需求在内的正规编码检测,但并不规定项目执行中核对表的内容、具体的会谈角色等一些细节。
    1、针对OSSP的过程剪裁
    当一个组织已经接近或者超过了已定义级时,OSSP和剪裁手册可以用来开发每个项目中所使用的软件过程。在SW-CMM中,调整OSSP使之能够适用于项目的特定商业需要和技术需要的过程称为剪裁OSSP以建立项目定义软件过程。在这个过程中,开发一个组织范围内的剪裁手册是必不可少的手段。
    组织剪裁手册的开发和使用必须能够保证基于OSSP的一些公共实践的运用。手册必须考虑项目操作效率上的灵活性,但同时也应该保证最大程度地使用一些通用过程。对于单个的过程实践来说,其目标是要在调整实践属性以获取与项目的属性和目标相一致的执行的同时,尽可能维护该实践的执行。也就是说,在剪裁中可以尽力在程度上对实践进行改动,但是要尽力不减少实践的种类。例如,项目可以改变某项实践中收集的数据源,但是并不否定该实践对于收集数据的需要。
    通过剪裁OSSP建立项目定义软件过程非常类似于将SW-CMM剪裁成为OSSP的过程。剪裁中需要注意的一些重要方面也是一样的,包括:
    OSSP中所描述的组织结构和项目结构的相同点和不同点。
    客户关系和需求。
    项目在一般情况下所要求的正规化程度、频率、精度以及范围。
    项目的特定商业目标和需求。
    组织当前的过程能力和项目要求的过程能力。
    (1)项目结构
    OSSP中假定的组织结构和角色集合可能并不适用于该组织中的每一种环境或项目。例如,许多OSSP中都假定了一个完整的开发生命周期,但是许多小型的、维护性的项目并不能将所有这些角色都转换为自身的特定需求。组织的剪裁手册应该提供关于如何将这些角色转换为组织环境的有关指导。有些OSSP活动无疑要依赖于其他组织的协助或输入。在对OSSP进行剪裁的过程中,必须经常注意这一点:对于某个特定的项目来说,所需的协助或者输入能否得到及时的提供?
    (2)客户和终端用户关系和需求
    OSSP中假定的特定客户关系类型可能并不适用于组织中的所有项目(例如维护性的项目和用于内部开发和使用的软件)。OSSP需要被剪裁,以满足特定的客户和终端用户关系。此外,有些客户可能会提出与OSSP相矛盾的一些特殊需求。在开发项目的特定软件过程时必须考虑客户的需求。
    (3)剪裁程度
    与对SW-CMM的剪裁一样,在对OSSP的剪裁中,剪裁程度同样也是一种最常用的形式。对于每一个项目,可以定义或剪裁活动、 工作产品和过程产品的各种不同的属性。这些属性的详细描述如下:
    正规化程度——活动最基本方面的执行可以有不同的详细程度,不同的对正式规则、程序和标准的重视程度。例如,使用“可管理和可控的”(简单的版本和改动控制)这一程序被认为是非正规的,而在配置管理KPA中所描述的全面质量管理则被认为是非常正规的(具有改动控制小组、配置状态报告等)。
    频度——许多OSSP都会定义一些需要“周期性执行”或者“事件驱动”执行的活动。活动执行的频度需要根据组织和项目的需求进行重新解释。
    精度——过程定义中所需要的详细程度可能各有不同。OSSP中可能包含对某一些实践的详细过程定义进行描述,而对另一些实践则可能只是给出大概的描述。项目在必要的时候需要补充一些细节。根据过程产品的构成、与其他过程产品的一致性程度,项目包含的细节可能比建议的更详细,也可能会更简略。
    范围——考虑到组织的限制条件、商业环境等因素,执行某些活动可能是毫无意义的。这里最简单的例子就是子合同管理——如果一个项目根本就不需要使用子合同,则可以不考虑OSSP中对这方面所规定的一些程序。更好一点的例子是决定是否放弃SQA组织的独立评审,或者决定不度量在执行跟踪和监控活动中所花费的精力。在去掉整个过程域或者去掉大量的活动时,一定要综合考虑这样做可能带来的风险以及相应的费用/效益平衡。
    对于适合于项目环境但不适合OSSP中所指定程度的实践来说,可以在其执行程度上进行剪裁。这种剪裁方式认为,对某些项目环境来说,一个或多个方面的实践可能会要求不同程度的执行。对于这样的实践,组织可以开发一系列替代的执行实践,这些实践在上面所描述的各种属性方面各有不同。每一个组织都需要定义一系列对于其所服务的环境或项目有用和有意义的实践属性。
    (4)商业目标
    在针对某一个特定项目对OSSP进行剪裁时,必须考虑组织和项目的商业目标和需求。除了在OSSP所假定的商业目标(如低费用、高质量、好的执行计划以及持续改进的软件过程)之外,每一个项目都可能有一些对项目的特定过程产生影响的特定商业目标。例如,该项目是否要求采用某种新技术?客户是特别关心费用还是更关心项目进度?以及项目如何满足其自身的过程改进目标并帮助组织满足其全程过程改进目标?所有这些都会影响到OSSP在项目中的执行。
    (5)成熟度等级对剪裁的影响
    要想根据特定项目对OSSP进行剪裁,必须知道组织当前的过程能力以及项目要求的过程能力。较高级别的成熟度活动可能要依赖于组织基础结构的支持(例如培训和工具)。在完全配置这些基础结构之前OSSP就可以被更新,或者项目也可以在OSSP所定义的成熟度等级之上进行操作。在某些情况下,可能还会需要将组织中的某些项目运行在不同的成熟度等级之上。在这种情况下,组织就必须决定OSSP是否应该反映(大部分或全部项目都应该达到的)主要要求或者平均条件(大多数项目的当前状态)。所有这些因素都会影响到项目如何将OSSP剪裁成为特定的过程。
    2、剪裁中需要考虑的过程元素
    再次需要说明的是,将OSSP剪裁成为项目特定过程非常类似于剪裁SW-CMM而形成OSSP的过程。其中的过程元素与对SW-CMM的剪裁中是相同的,同样包括角色、进入标准、输入、活动、输出、工作产品、退出标准等因素。对此本人在《根据SW-CMM建立组织标准软件过程(OSSP)》一文中已经有所论述,这里不再重复说明。
    3、剪裁方法
    如前所述,对于剪裁OSSP形成项目特定过程的分析和思考非常类似于剪裁SW-CMM以形成OSSP的需求集合。但是,在将SW-CMM剪裁成为OSSP需求时,我们很大程度地依赖了各种核对表的使用。而在将OSSP剪裁成为项目特定过程时,则应该分析和剪裁OSSP的过程元素以适应项目的需要,这时我们可以换一种方式来获取所需要开发的分析需求。
    我们推荐使用(也是SW-CMM所推荐)的方法是获取组织中剪裁手册的可能变化范围。这可能会在某种程度上限制了项目的选择项,但是却大大减轻了执行分析的负担。比较简短的分析仍然只涉及三个过程元素——输出、活动和角色,但这还要依赖于项目的需求和项目定义软件过程所需要的详细级别。
    (1)开发OSSP剪裁手册
    为了使组织中多个类似的项目环境中实践的变化最小化,减少剪裁中所需的过程开发数量,我们推荐使用一种可控制的剪裁方式,使得剪裁可以通过OSSP的一系列剪裁手册来进行控制。
    在开发剪裁手册时,首先应该创建一个初始表,表中显示过程元素,每个元素中可被剪裁的属性、每种属性的范围以及选择某个特定范围时所应考虑的条件等。这种方法紧密结合了过程元素、剪裁程度以及剪裁条件等因素——所有这些在前面都已经有所描述。表的一个具体实例如表1所示。
    剪裁手册开发步骤如下:
    识别过程元素。不同的OSSP的结构可能要求不同的小组或元素。从可操作性考虑,在开始可以集中于输出、活动以及角色等元素,然后再根据需要慢慢扩展到其他元素。
    识别需要剪裁的每个元素的属性。属性就是关于过程元素的一些可描述的条款,一些最常用的属性已经在剪裁程度部分中有所描述。每个组织都需要开发对其业务环境和商业目标有意义的一系列属性。属性的作用就是使得实践中所用到元素的性质更加清晰。
    逐个检查每个过程元素。对于该元素的每一个属性,都需要决定其可能变化的范围(以及相应的替代集合)。例如,在声明某个代理(角色过程元素)完成某项任务的一个实践中,代理的范围就是一个属性。因此,“个人”、“小组”或者“多个部门”都可能是合适的代理。在此建议选择项目能够从中进行选择的值集合或者替代项。
    对于每一种替代项,确定在执行过程剪裁时之所以选择该替代项的主要原因。比如大小、复杂性风险或者环境等。
    表1:可剪裁的过程元素示例
过程元素 过程元素示例 可能具有的可剪裁属性 可选的替代项 所需考虑的项目条件
角色 代理
提供商
客户
评审员
验证员
执行者 个人 项目大小:人数少于5人,时间少于6个月;
客户:内部客户或小型外部客户
小组 项目大小:5-15人,时间半年到一年;
客户:大型外部客户,政府代理
团队 项目大小:10-25人,时间一年至三年
客户:超大型项目
活动 设计
编码
测试
评审
通讯
频度

 
 
 
 
正规化程度
每周一次
每月一次
每季度一次
高标准的超大型项目
正式会议
备忘录
电子邮件
电话通知
大型或中型项目
大型、中型或小型项目
中型或小型项目
小项目
输入
输出
工作产品
核心模块 正规化程度 CCB可控文档
CM可控文档
日期/版本控制

文档 范围 正式标准
建议模板
工程纪录
报告 精确度 文档评审
正规评审
自评审
    我们建议灵活使用所提供的剪裁手册。例如,如果考虑项目规模,手册可能会指明对于小型、中型、大型以及超大型的项目分别选择替代项。在项目大小的范畴上可以出现一些交迭。因此,对于一个处于小型和中型之间的项目来说,项目经理可以将项目看成是“小型项目中的大项目”或者“中型项目中的小项目”。 上面的表格只是一个起点。该表格可以帮助开发一个一般手册并且指出了剪裁方法中的一些共性。然而,考虑到实用性,一个组织的剪裁手册还应该能够反映其OSSP的特殊性。剪裁手册需要指出对于特定程序、工作产品以及其他过程元素进行剪裁的细节。例如,某个组织中可能会有一些程序或工作产品是剪裁所不允许的,或者至少是不推荐的。(如对于配置控制小组的工作进行支配的手续。)这样的例子和其他一些约束条件都应该在剪裁手册中讲清楚。
    (2)开发项目特定过程
在项目层次上,剪裁的执行通过根据项目需求从推荐集中选择相应的选项来执行。其中的选择机制就是人为进行判断。
    项目剪裁的起点是OSSP。使用剪裁手册中的指导规则为项目选择合适的选项。所选项用来修正OSSP形成项目特定过程。项目特定过程可以通过多种方法获得。许多组织都有包含在OSSP中的核对表。核对表中一般都留有空间用来记录所选择的剪裁。还有一些组织允许项目编辑过程模板,并以这种方式创建项目特定过程。不管组织采用哪一种机制,我们都建议在多个项目中保持剪裁机制的一致性。并且,在剪裁中还应该要求SEPG或者SQA的参与。
    4、软件开发计划
    项目的软件开发计划是项目管理中的一个关键元素。包含在软件开发计划中的进度表代表了在某个软件产品集合的开发中对项目定义软件过程一个应用。
    项目定义软件过程中包含在项目中所使用的OSSP的剪裁版本。该版本可能与同一组织中的其他项目定义软件过程类似或者完全一致。所要开发的特定软件配置和开发进度表并不是项目定义软件过程的一部分。它们来源于项目的特定业务和技术需求,并且与项目定义软件过程一起组成了项目软件开发计划的主要部分。
    在组织开发合理有效的软件开发计划,并将该计划应用于项目的管理和控制的过程中,剪裁是一个关键元素。从某种程度上说,对OSSP进行剪裁的最终目的就是要根据项目的特定环境,建立起项目定义软件过程,并进一步开发出合理有效的软件开发计划。因此,比较完善的软件开发计划可以看作在项目范围内对OSSP进行剪裁的最终结果。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: 组织标准


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网