CMMI最佳实践之同行评审提升软件品质

发表于:2008-11-02 14:36

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:张瑾    来源:希赛网

#
CMMI

  软件企业提高产品质量的手段,已经不仅仅是通过软件测试人员(SQC)的努力,而是越来越多的按照“测试前行”的理念配合同行评审(Peer Review)来提高软件产品的质量。其目的是为了及早和高效地从软件工作产品中识别并消除缺陷。但很多企业都会遇到一个问题,大家觉得同行评审的效果没有达到预期的目的,有些时候只是一个形式主义。那么如何才能将同行评审这把利器发挥的更有效果,下面将和大家一起对其进行彻底的剖析。

  同行评审Peer Review的起源

  CMMI中同行评审是作为VER(VERIFICATION)验证的一个SG(特殊目标)被定义出来的。了解CMMI的朋友都会注意到CMMI中有VER验证和VAL确认两个PA,很多人都会有疑问,为什么同行评审Peer Review是属于VER而不是VAL呢?

  这可以从ISQTB对软件静态测试的定义来分析。静态测试是相对于动态测试而言的,静态测试是不动态执行程序代码而寻找程序中可能存在的错误或评估程序的过程。相对于动态测试而言,静态测试成本更低,效率更高。因为静态测试可以在软件开发生命周期的早期就发现缺陷和问题,从而减少返工的成本。

  所以同行评审是软件测试领域的一种技术手段,只是大家以前没有注意而已,所以CMMI才将其放在VER验证的下面。

  同行评审的类型

  按照被评审的对象进行划分,可以分为对代码的走查和对各种工作产品(Work Product)的评审。这里工作产品的意思是指在软件开发生命周期中所产生的各种对象,包括各种文档、组件等。

  代码走查依据的是每个公司颁布的编码规范等技术标准,可以通过事先制定好的检查表(CheckList)进行检查。

  从同行评审的形式上可以分为正式评审和非正式评审。非正式评审更加灵活、更加简单,但其过程不够严谨,适合对较小的工作产品进行检查。本文主要针对技术文档的正式评审过程进行讲解。

  同行评审的准备工作

  首先要识别参与的人员,应该避免单一角色的人员参与评审。例如:对需求文档的评审应该保证所有项目关系人的参与,其中客户代表和软件测试人员的参与是至关重要的;概要设计和详细设计文档的评审,开发人员的参与也十分关键。

  第二,评审工作是要被计划的。很多项目管理人员在制定项目计划时,往往只关注软件产品本身,而忽略了例如同行评审、周会等小的、周期性的事件和任务,这是WBS分解不完整的典型错误。项目经理应该认识到如果这些小的任务累加起来,所花费的工作量也是十分惊人的。

  第三,制定同行评审准入条款。为了避免在评审会上才发现待评审的工作产品是未完成的,因此,需要制定相关的检查条件,由作者或第三方对其进行事先检查。例如:需求文档中是否存在遗漏的功能,需求文档的格式是否符合要求,需求文档中的UseCase是否正确等等。一般会推荐项目经理来检查待评审的工作产品,因为大多数的评审会是由项目经理主持的。

  第四,明确同行评审的方法。因为在评审会上仁者见仁智者见智,为了避免无休止的争论,事先确定评审的方法就非常重要的。常用的方法有一票否决制,加权打分法。

  第五,制定同行评审的准出条款。也就是说什么样的工作产品是符合需求的,什么样的工作产品是可以得到与会人员的认可并通过本次同行评审的。例如:待评审的工作产品不能存在严重级别为1~3的缺陷;待评审的产品必须覆盖所有的业务功能等等。只有提前定义了准出的原则,那么在评审会上就不会发生无休止的争论。

  第六,对本次同行评审的方法、准入条款和准出条款进行评审。如果这些内容不能得到与会人员的广泛认可,那么与会人员就没有一个共同的起点和目标,评审效果将大打折扣。对于不同工作产品评审的方法、准入和准出的条款,一般在组织范围内会提前定义,项目组只要使用就好。

  第七,与会人员事先熟读文档。在公司范围内要逐渐营造一种氛围,评审工作也是和开发、设计、测试同等重要的。同行评审是一个集体活动,谁忽略了同行评审就等于浪费自己和大家的时间,是对集体的不尊重。另外,项目组要预留足够的时间给大家看文档,这也就是为什么同行评审是需要被提前计划的原因。

  第八,定义同行评审的准则。在评审会上做到有备而来,这一点也是同行评审的核心部分。既然是多人、多角色的参与评审,那么每个人的视角就会不同,如何提高评审的效率,就只能是所有人都使用相同的尺子进行检查,本次评审的准则就是尺子上的刻度。在组织范围内可以先对不同的工作产品制定通用的准则,但项目是具有独特性的,因此每个项目还要在此基础上添加个性化的内容。

  项目组可以制定一个评审准备表的模板,用于收集所有与会人员个人对本次评审所需要讨论和关注的地方,也就是本项目个性化的准则。项目经理可以采用Delphi法对其进行收集。对收集后的内容进行汇总,就形成本次同行评审的准则。这个准则同样需要得到所有与会人员的共同认可。

  第八,发通知给所有与会人员,确定开会的时间和地点,以及谁是本次同行评审的主持人,谁是本次会议的记录人。通常会比较推荐谁的工作产品谁记录的原则,因为开会的时间有限,记录的内容也都是简短精炼的,这样可以避免遗漏重要的信息。另外他人写的东西往往别人是看不懂的。

  第九,确定评审的度量指标。这些度量指标是为了最后衡量评审的效果和效率,一般可以在组织范围内制定,评审会的主持人按照要求进行收集即可。

  至此,同行评审的准备工作就完成了。虽然步骤十分多,但要做一次有效的、正式的同行评审,这些都是必须执行的。由此可见,高效的同行评审关键在于评审的准备工作是否到位。

41/41234>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • teaca
    2011-3-24 14:35:29

    读后觉得很有用,谢谢

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号