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

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

SW-CMM模型剪裁中需要注意的问题

发布: 2008-3-27 10:47 | 作者: 李兴兵 | 来源: 不详 | 查看: 25次 | 进入软件测试论坛讨论

领测软件测试网 由美国卡迈基-梅隆大学的系统工程研究所(SEI)发布的SW-CMM模型,给出了软件开发组织建立组织标准软件过程(OSSP)的一系列要求,而OSSP则是组织建立项目定义软件过程(DSP)的基础,DSP可以用来制定项目软件开发计划,指导软件开发。因此,对于一个致力于过程改进的开发组织来说,在软件开发项目中通过引入SW-CMM来建立OSSP是很有必要的。
     一、剪裁的必要性
    SW-CMM中所给出的关键实践只是指出了在开发大型政府软件项目中开发组织应该执行什么样的一般实践。因此,SW-CMM在对关键实践描述中,使用了在大型组织的组织结构和角色中(下面将其称之为环境)通用的一些术语。因此,对于一个一般的开发组织来说,在参照SW-CMM建立组织标准软件过程(OSSP)时,不能够简单照搬SW-CMM中的关键实践,而应该进行必要的剪裁。事实上,随着SW-CMM成功运用和推广,一些非政府项目的开发中也已经采用了SW-CMM模型,并且对其进行了很成功的扩展。例如,在1994年向SEI报告SW-CMM评估结果的组织中,有39%的组织是商业组织或者内部软件开发组织。
    SW-CMM在组织中的应用主要有两种:过程改进和能力评估。在用于过程改进中,软件能力成熟度模型(CMM)主要为软件开发组织提供指导,指出如何实现对开发和维护软件等过程的有效控制,CMM可以用来评定组织当前的过程成熟度,识别出组织中对软件质量和过程改进有影响的一些关键问题,从而能够帮助组织选择有效的过程改进策略。在过程能力评估中,SW-CMM的主要作用是向软件采购方提供一种评估软件组织成熟度的方法,使用软件的组织参照该模型可以获知委托某个组织开发一个软件项目中的风险,从而为选择合适的软件供应商提供依据。在这两种使用中,都要求软件开发组织(特别是从事大型项目开发的组织)将SW-CMM作为其建立OSSP的一整套过程需求。当然,OSSP的产生也可以使用其它一些需求规则,其中包括商业目标,ISO9000,客户需求等等。所有这些需求都需要集成到组织的过程改进程序中。在集成的过程中,对模型中需求的剪裁是一个必不可少的步骤。
    二、剪裁的定义及其在过程定义中的作用
    这里所说的剪裁,是指调整SW-CMM模型中对过程定义和详细说明的一般描述,以形成适用于组织特定环境的过程描述。例如,对SW-CMM中软件配置管理(SCM)关键过程域中的关键实践进行剪裁,是指调整其中某些实践的实现形式,或者直接去掉某些不适用的实践,使其可以应用于一个小项目,形成一个组织标准软件过程的过程需求。
    许多组织将IDEAL作为其过程改进程序的基本步骤。该模型指出组织的过程改进可以分为五个阶段:⑴初始化:为成功进行过程改进打下基础;⑵诊断:相对预期目标找出组织当前所处的位置;⑶建立计划:计划如何达到目标;⑷行动:按照计划展开行动;⑸学习和扩充:学习以往的过程改进经验,扩充在将来采用新技术的能力。在组织进行过程改进的过程中,这五个阶段需要多次重复进行,逐步改善组织的过程能力。在这个不断重复的过程中,SW-CMM的主要用在诊断阶段,用来评估和识别当前的组织实践。IDEAL模型显示,组织的过程改进是一个重复的过程(剪裁只是其中的一个方面)。因此,对模型的剪裁也不能够一次完成,而是一个需要重复多次的持续过程。从这一点来说,SW-CMM是组织进行过程定义和过程改进的起点。
    三、对SW-CMM进行剪裁时需要注意的问题
    在参照SW-CMM中的关键实践来确定组织的过程需求时,组织必须识别出SW-CMM中的术语所表达的环境与组织的实际环境之间的相似和不同。这样分析的结果有助于进行组织过程定义。一般来说,在剪裁中需要注意以下几个重要方面:
    1、 SW-CMM中所描述的组织结构与组织的实际结构之间的相似和不同。
    2、 假设的客户关系与实际的客户关系之间的相似和不同。
    3、 组织一般所要求的OSSP执行的正规化程度、频率、精度以及范围。
    4、 执行过程改进计划所要满足的特定商业目标和需求。
    5、 组织的当前过程能力。
   下面进一步分析在对SW-CMM进行剪裁时需要考虑的这些问题。
   1、组织结构
    SW-CMM模型中指出,组织的结构和角色集合可能以不同的方式影响所执行的关键实践。最明显的一点就是项目的规模。SW-CMM一般是假设由一个相当大的具有良好定义和分离功能角色的组织来开发和维护大型系统。这些角色可以包括软件质量保证小组,软件配置小组,培训小组。
    在SW-CMM中,小组定义为:
    "负责一系列任务和活动的部门、经理以及员工的集合。小组可以是具有兼职任务的某个个人,也可以是来自于不同部门的具有兼职任务的几个人,还可以是几个负有全职任务的人组成。"
    虽然SW-CMM已经这样详细定义了小组,但仍有许多小型组织不能够将SW-CMM所定义的角色映射或者剪裁到其当前的组织结构中。需要记住的关键一点是某个人可能负责某项任务或者活动,但他并不属于具有特定名称的某个组中,而只是负责该小组的某一项功能;还有一种情况,具有SW-CMM中某个特定名称的小组往往并不能完成SW-CMM所定义的每一项任务,根据组织的项目环境不同,小组的任务也会有变化。
    对一个大型小组而言,最明确的要求是形式和准确性,因为这样可以保证各小组间层次分明和角色界限分明,因此,涉及到小组的关键实践往往也就偏向于形式和准确性。但是在一些小型的组织中,往往会认为这些严格的形式和准确性要求是额外的负担,其实不然。例如,个人软件过程(PSP)的经验表明,即使是在处于个人级别的组织中,形式和纪律同样会大大提高产品质量,组织的生产率和任务进度。在此建议每个组织至少应该执行这样的一些最佳实践,以决定如何才能在其开发环境中实现最佳效果。
    由此可知,在具有与SW-CMM所描述的不同结构的组织中,关键实践必须被调整、映射或者关联到组织的实际结构中。
    2、客户和终端用户关系
    SW-CMM在关键实践中假设了与客户或者终端用户的某种特定类型的关系。合同环境假设有单一一个明显的用户来给出系统需求。并且进一步假设客户有时间、资金、知识背景以及主动的意愿参与对开发过程的评价。在多客户环境中,当终端用户不明确时,或者当客户只关心产品而不关心开发过程时,组织必须设法提供代理客户或者终端用户。
    在商业环境中,上面这些概念需要翻译成更有实际意义的描述。例如,指定系统需求的单用户合同,可以是指能够给出具有实际需求的产品质量或功能的市场分析。对于关键实践,不仅要阅读其字面意义,还要理解其内容。在做这样的分析中,可以参考一下实践所属的关键过程域的目标。
    3、剪裁程度
    在对SW-CMM剪裁中,最常用的做法就是在实践的执行程度上进行剪裁。剪裁程度是指剪裁的目的是要满足对细节的最少变化。在SW-CMM的剪裁中,剪裁内容包括可能需要在某些最小范围内改动的活动、工作产品以及过程产品。为了保证对所有这些剪裁内容的一致性,对各项内容进行剪裁的方式由各内容的特征而定。在SW-CMM剪裁中,活动、工作产品以及过程产品的各种特征可以针对每个组织分别定义。一些最通用的特征包括:
    a 、 正规化--某项活动的最主要方面的执行可以描述为各种不同程度的细节,或者执行中所达到的正规化规则或标准。例如,在配置管理中使用"受管的和受控的"这样一些标准被认为是不正规的,因为这样只是达到了只是对版本和变化的控制;而SW-CMM模型的配置管理过程域中所描述的全面配置管理则被认为是非常正规的,因为具有专门的改动控制小组,并且可以产生配置状态报告等。
    b 、 频率--SW-CMM中许多活动需要"周期性"或者"事件驱动"执行。每个活动执行的频率需要根据组织或者项目的特定需求做出解释。
    c 、 精度--过程定义中所需的详细程度是各不相同的。SW-CMM通常这样描述:"该文档一般包括……"。对于一个组织来说,根据其过程产品与其他产品的详细程度的一致性要求,可能会有更详细或者更简略的描述要求。
    d 、 范围--考虑到组织的条件、商业环境等因素,某些活动的执行可能是没有意义的。最简单的例子是子合同管理--如果一个组织从来不使用子合同,就可以不考虑这一关键过程域。更好的例子是放弃SQA组织的独立评价,或者不考虑测试在执行跟踪和监控活动中所付出的努力。但是要注意的是,当放弃大批的关键过程域或者活动时,需要综合考虑剪裁所带来的风险和相应的费用/利益平衡。
    4、商业目标
    当针对特定组织对SW-CMM进行剪裁时必须考虑该组织的商业目标和需求。关键实践的应用面很广,因而SW-CMM只是假设了以下的商业目标:降低费用,提高质量,更好的计划执行,以及持续改进的软件过程。所有这些问题都很重要,但对一个特定组织来说,其中总有一个或多个问题是相对来说更加重要一些的。
    5、成熟度等级对剪裁的影响
    要针对特定组织对SW-CMM进行剪裁,必须清楚该组织当前的过程能力。由于SW-CMM是由能够提高过程能力的成熟度等级所组成,因而组织对项目过程定义和改进的程度必须根据组织当前的过程成熟度来决定。
    例如,如果组织当前处于或者接近于可重复级,即成熟度等级2,则组织可以指明了每个项目必须执行的关键实践的种类,但不必指定执行实践的具体细节。具体的例子是,组织级的跟踪政策可能会要求项目组必须跟踪和报告相对于软件开发计划的开发进度,但不必限定该实践执行的精度或者报告的频率。这些可以留给项目组去决定。而如果组织是处于成熟度等级3,则必须对项目中所执行的关键实践的种类及其具体执行细节有详细的规定,并且形成组织级的标准过程以供项目组参考。
    也就是说,随着组织的不断成熟,该组织的剪裁需求和过程需求等问题也会随之改变。换句话说,随着组织在IDEAL循环中不断重复,需要持续分析新的过程需求,评估当前的过程,以及建立新的过程改进。因此,当一个组织在成熟度等级中梯次前进时,可以有规则地分析和剪裁其过程需求。这再一次说明剪裁不是一次性的,而是需要重复进行的分析活动,剪裁贯穿于过程改进的始终。

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

TAG: SW-CMM模型


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

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