如何提高同行评审的有效性

软件公司无论规模大小,都正式或者非正式地进行了同行评审。但并非每个公司都取得了预期的成果,很大一部分的原因在于很多公司只明白了同行评审的操作方式而对其背后的思想不甚了解,在日常的操作中也只是照猫画虎,有些时候只是形式主义,忽视了同行评审的要点。

那么如何才能提高同行评审的有效性,更有效的发挥它的效果呢,需要对它进行一些刨析。

同行评审的起源

同行评审,原是学术期刊的一种审查程序,该制度起源于1665年创刊的学术期刊“Philosophical Transactions”和 “Journal des Séavans”,考虑到期刊的工作人员有限,难以准确判断文章质量,所以借助同行专家分析稿件的学术水平与学术质量,来判别稿件的可接受性和其研究的真实性,为期刊是否发表该论文提供智力支持。

出版社主要以同行评审的方法来筛选稿件录取与否,在提供科研基金的单位,也是以同行评审的方式来决定研究奖助金是否授予。同行评审模式已有350多年的历史,也一直支撑着期刊出版业的蓬勃发展。从1972年,M.Fagen提出同行评审并在IBM推行后,如今被公认为最佳实践的同行评审已经在软件企业中广泛应用。

在CMMI1.3版本中同行评审是作为验证(VER)的一个特殊目标(SG)被定义出来的。CMMI2.0版本中,同行评审被从VER中剥离出来,成为一个单独的实践域,由此可见同行评审的重要性。

同行评审是在软件产品实现之前发现缺陷的最有效手段,其目的是为了在软件开发完成前,及早和高效地从软件工作产品中识别并消除缺陷。

同行评审不是通过测试这种动态的方式发现缺陷,而是通过生产者同行或主题专家阅读文档、代码来识别并解决工作产品的问题,是一种静态测试。同行评审发现缺陷的成本低、修改缺陷的效率高,在开发中更值得投入。

同行评审的对象

同行评审的对象不仅包括最终的软件产品,还包括在软件整个开发过程中生成的各种文档,包括:

概念阶段:产品需求规格说明书等。

计划阶段:系统方案、项目计划等。

开发阶段:详细设计、单元测试规程(方案)、集成测试规程(方案)、代码、数据库脚本等。

验证阶段:系统测试计划、设计、系统测试规程(方案)等。

对于需要评审的内容以及评审所需要的时间及在项目中的触发点,应该在整个项目的计划书或者其他计划书中有明确计划或者体现,预先列出对哪些阶段的哪些产物采取什么方法来评审,而不是随意的、临时的安排。

同行评审的类型

常规的同行评审包括:正式评审、技术审查和走查。"正式评审"是正式的,后两者是常用的非正式的同行评审方法。

同行评审的步骤

整体同行评审的大体流程如图所示:

开展同行评审,要明确评审的类型和范围,不同形式的同行评审的重要程度不同,目的、评审时间、准备、主持人、参与评审人员等不完全相同,应当严格遵循其流程、步骤和注意事项进行同行评审,以保证同行评审的有效性。

同行评审中“人”要素的考虑,识别参与的人员,应该避免单一的角色参与评审,例如:对需求文档的评审应该保证所有项目关系人的参与,其中客户代表和软件测试人员的参与是至关重要的。还要考虑参评人的态度、能力和时间。

往往同行评审时由5人以上的团体来完成的,在一定的时间内,发现尽量多的错误,是评判一个同行评审是否达到要求的评价指标。

那么这五人都是怎么分配角色的,五个角色分别是Moderator、Inspectors、Author、Reader、Recorder这五个角色,其中Inspectors可以由多人来扮演。                            

上面的图就是在整个PR过程中,五个角色分别的作用和出现时间,下面来说下五个角色的详细作用是什么:

1.Moderator 在PR过程中担任了主持人的角色,负责保证PR的顺利执行,并且保证是高效的;

2.Inspectors在PR过程中担任了评审员的角色,主要发现软件设计中的一些缺陷和漏洞之类的BUG;

3.Author是评审软件的设计人;

4.Reader在PR中担任为大家解读该软件设计的角色;

5.Recorder在PR中担任记录,评价的此次PR工作的效率;

同行评审中“物”要素的考虑,考虑对哪些工作产品、工作产品的哪些部分进行评审。通过QA的产品审核,确保被评产品的完整性和符合性,减少低级问题,明确评审的目标,明确评审所关注的特定问题;分发被评审产品的相关资料,评审组成员在评审前必须要对这些资料进行查阅,并记录发现的问题,形成检查的一个列表;记录的数据,缺陷的跟踪关闭,评估数据的采集分析,评估过程的持续改进,通过组织数据分析来判断某次评估的充分性和有效性。

同行评审中“过程要素”的考虑,熟知评审流程,对于每个步骤该做哪些事情,有哪些要求准则(准入准则、评审准则、评审方法、准出条款等),参与评审的人员应该有统一的认可,有了共同的起点和目标,评审的效果才不会大打折扣。

同时,公司领导的重视和宣传培训也很重要。通过有效的宣传培训,让员工对同行评审的内涵和意义有一定的了解和认同,便会减少抵触情绪,这有助于公司内部同行评审体系建立和文化的形成。

同行评审应注意的要点

1、思想认同

同行评审在中国人眼里更多包含了“评价”的意味,目的是验证正确性,而实际上,同行评审的本意是Review,即复查的意思,目的在于找出问题。这一点必须成为所有组织、参加评审会人员应建立的共识。

作者本人也要持有开放心态,愿意分享自己的工作成果,并勇于承认自身的不足而加以改进。一个人不管能力多强,看问题的角度总会受到限制,写出来的程序和文档等也不会是十全十美的,要保证你做出的东西错误尽量少,就需要他人对其进行评审。

同时,不能因为项目进度很紧,导致为了赶进度取消了原来计划中的同行评审活动。对于软件产品来说,缺陷发现得越早,纠正缺陷所需成本就越少。因此,在软件的开发阶段,如果严格进行同行评审,那么后续流程中出现的错误就会很少,这也可以为公司节约纠错的成本。

2、方法恰当、语言委婉

统一了思想以后,接下来的重点就是“方法得当”!中国人通常不愿意接受“当面指出问题”这种沟通方式,更不要说“众目睽睽”之下被人指出问题。

评审人员要对事不对人,要懂得同行评审是为了发现产品的缺陷,而非人自身的问题。用语要得当,避免人身攻击,语气要轻松、委婉,用建议、协作的口吻进行对话,而不是评价者的语气,避免破坏评审会议气氛,给人冷板凳。同行评审的一个宗旨就是大家在一起学习,取长补短,共同提高。

3、优选人员

要开好评审会,“人”的要素很重要:要点在于合适,而非越多越好。同行评审的原文是“Peer Review”,Peer的意思就是同级,千万不要一开评审会就请高级领导。评审应保持尽量小的范围,对于评审内容所涉及的第一责任人,一定要请他们参加,一方面可以保证参与者对评审内容很熟悉,另一方面可以保证参与者关心同行评审。

4、内容合适

每次评审应选择合适范围的内容,不应求大求全,评审会议中不要讨论发现的问题如何解决。

评审组长应控制会议的效率、进度,将会议限制在2小时之内,以避免长时间讨论而偏离了审查会议的主题。

5、经验总结

公司要对同行评审的结果进行总结,并以文档的形式保存起来,方便后期查阅。很多软件产品出现的问题都是相似的。在着手开发新产品之前,如果能够了解前期类似产品中出现的问题,那么大家就可以少走很多弯路,工作效率和产品质量也在无形中得到了提高。

总结‍

同行评审是一项重要且有效的验证、确认和保证活动,执行有效的同行评审不仅可以帮助及早发现问题并消除工作产品中的缺陷,提高软件产品的质量,还可以通过对这些错误和缺陷的统计,来发现共同的缺陷类型及其修改的方法,最后尽可能避免此类缺陷在以后再次发生。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值