正式技术复审(FTR,Formal Technical Review)是一种由软件开发人员进行的软件质量保证活动,其目的是:
(1) 在软件的任何一种表示形式中发现功能、逻辑或实现的错误;
(2) 验证经过复审的软件确实满足需求;
(3) 保证软件符合预定义的标准;
(4) 使软件按照一致的方式开发;
(5) 使项目更易于管理。
此外,FTR还起到了提高项目的连续性和培训后备人员的作用。FTR包括走查(Walkthrough)、审查(Inspection)、循环评审(Round-robin
Review)以及其他软件小组的技术评估。每次FTR都以会议形式进行,只有经过适当的计划、控制和参与,FTR才能获得成功。
评审会议
不论FTR是何种形式,每次评审会议应该遵守以下规定:
(1) 会议应该在3~5人之间进行;
(2) 会前应做好准备,但是每人准备时间应少于2小时;
(3) 会议时间不应超过2小时。
因此,FTR应该关注的是整个软件中的某个特定的较小部分。评审会议由评审负责人主持,所有评审人员和开发人员参加,其中有一个记录员负责记录评审过程中发现的所有重要问题。FTR会议从介绍日程开始,由开发人员进行简单介绍,然后开发人员将遍历其工作产品,进行解释,评审人员根据各自的准备提出问题。在发现问题或错误时,记录员逐一加以记录。评审结束时,所有参会人员必须作出决定:
(1) 工作产品可以不经修改而被接受;
(2) 由于严重错误而否决工作产品,改正错误后必须再次进行评审;
(3) 暂时接受工作产品,即发现必须改正的微小错误,但不再需要进一步评审。
作出决定后,所有FTR参会者需要签字,表明参加了此次评审会议并同意评审小组所做的决定。
评审指南
进行正式技术复审之前必须建立评审指南,分发给所有评审人员,并得到大家的认可,然后依照它进行评审。以下列出最基本的正式技术复审指南:
(1) 评审产品,而不是评审开发人员;
FTR涉及到别人和自我。如果进行得合适,FTR可以使所有参会人员体会到成就感,否则可能陷入一种审问的气氛之中。评审负责人应该引导评审会议,会议的气氛应该是轻松的和建设性的,不要试图贬低或羞辱别人。
(2) 制定日程,并且遵守日程;
各种类型的会议都有"放任自流"的缺点,FTR必须保证不要离题并按照计划进行。评审负责人应该维持会议程序,在讨论失去控制时应进行提醒。
(3) 限制争论和辩驳;
在评审人员提出问题时,未必所有人都认同该问题的严重性。不要花时间争论这一个问题,这时应该记录下这个问题,会后再进一步讨论。
(4) 对各个问题都发表见解,但是不要试图解决所有记录的问题;
评审不是问题解决会议,问题的解决应该放在评审会议之后进行,通常由开发人员自己或在别人的帮助下完成。
(5) 作书面笔记;
有时候将记录员在黑板上做笔记是一个好主意,这样其他参会人员可以推敲措辞,并确定问题的优先次序。
(6) 限制参会人数,并坚持事先准备;
两个人的脑袋比一个强,但14个脑袋未必强过4个。将评审人员的数量保持在最小的必需值上,并且所有的评审组成员都必须事先作好准备。
(7) 为每个可能要评审的工作产品建立一个检查表;
检查表能够帮助评审负责人组织会议,并帮助每个评审人员将注意力集中在重要问题上,应该对分析、设计、编码、甚至测试文档都建立检查表。
(8) 为FTR分配资源和时间;
为了让评审有效,应该将评审作为软件工程过程中的任务加以调度,而且要为由评审结果带来的修改分配时间。
(9) 对所有评审人员进行有意义的培训;
为了提高效率,所有评审人员都应该接受某种正式培训,培训要强调的不仅有与过程相关的问题,而且应该涉及评审的心理学因素。
(10) 评审以前所有的评审。
听取汇报对发现评审过程本身的问题十分有益,最早被评审的工作产品本身可能就会成为评审的指南。
|