Q1: 如何提高同行评审的质量与效率
1. 同行评审的种类和对象
同行评审活动的关注点应该是工作产品中的缺陷,而不应该是工作产品的作者或者生产者,管理者也不应使用同行评审的结果去评价个人的行为。
同行评审的分类有很多种,自从IBM的Fagan发明了同行评审之后,软件行业提出了很多同行评审模型,比较著名的有IEEE 1028评审、微软的技术评审、Gill Graham审查、Van Emden审查、Yourdon结构化走查等。
1.1 同行评审的种类
本书中按照CMMI模型的提法,将同行评审分为3类。
(1)正式评审(Inspection),通常是由经过同行评审培训的项目经理或PPQA主持,规模在3~7人之间为宜,一般在完成了一个工作产品后对其进行的评审。正式评审的目的在于定位并除去工作产品中的缺陷。
(2)技术审查(Technical Reviews),或称内部评审,通常由技术负责人或项目经理召集,三人以上参加。技术审查一般是在工作产品的中期进行或完成了某部分独立的工作产品时进行,也可在书写草案遇到问题时就其中专门的一两项问题讨论和审查。也可以是检查工作产品与规程、模板、计划、标准的符合性或者变更是否被正确地执行。技术审查的目的在于通过对开发人员的工作产品的技术审查,提出改进意见。
(3)走查(Walkthrough),又叫代码走查或代码走读,审查的范围根据需求的优先级通常由管理人员来确定,主要是静态质量分析和编程规则检查。通常是小型讨论会,一般是在工作产品形成的早期进行,作者有一定的想法时,希望从中获得一些帮助或补充一些想法。当然也可以在编制工作产品的任何阶段进行,两三个人参加,由作者主持,主要是评估和提高工作产品的质量或教育参加者。
其中,"正式评审"是正式的,"技术审查"和"走查"是常用的非正式同行评审方法。
1.2 同行评审的对象
同行评审的对象包括所有软件开发的中间和最终工作产品,例如包括:
(1)产品需求规格说明书;
(2)用户界面规范及设计;
(3)架构设计、概要设计、详细设计及模型;
(4)源代码;
(5)测试计划、设计、用例及步骤;
(6)项目计划,包括开发计划、配置管理计划和质量保证计划等。
所有这些会涉及的评审内容,应该在编制的项目计划或者小的开发计划中体现,不应该也不能是临时性的安排。
2. 同行评审过程
根据同行评审的重要程度,正式评审、技术审查和走查三种形式的流程和成果物的使用力度不尽相同,但其主要的步骤和内容大体一致,参见如图4-2所示的同行评审流程图。