爱打拖拉机 发表于 2004-5-17 22:16:54

教你组织软件开发过程中的评审会议【转】

  同行评审对于软件企业来说是很有效的一种方式,无论是国外还是国内企业越来越认识到了同行评审的重要性,但是在实施的过程中效果不是很理想,常常会出现走形式,使评审会议变成了讨论会议,对具体的问题争论不休,经常跑题,使评审的效果大大的降低。我在实施的过程中根据同行评审的要求,总结出来以下经验供大家参考,有兴趣的可以和我联系shangdonglin@163.net 。

  同行评审的目的是及早高效的发现并消除开发过程中出现的缺陷。很多公司也制定了相应的评审流程,项目开始的时候也做了评审计划,但是在具体的实践中把握不好一些细节的东西,这些主要的问题大多数发生在评审会议的组织上,而这些细小的环节才是评审是否成果的关键。只有评审会议比较完满了,其他修改Bug、消除缺陷都比较容易完成。我在这里主要讲一下评审会议的组织,至于评审计划、评审执行过程的数据采集、测量等环节不再详述。

  评审会议流程一般采取以下几个步骤:评审会议的准备、评审会议的召开、评审会议的跟踪三大环节。

  一、 评审会议的准备

  会议的发起人召集会议,发出评审通知(评审内容、会议时间、会议地点、参加人员等),并且将相关待评审的相关资料也发送给参加会议的评委;主要的目的有两个:第一、让参加会议的人员对会议的内容有一定的了解,在会议前做好准备,避免盲目的参加会议而浪费自己和其他人的时间;第二、如果该评委在会议时间有其他紧急的事情,可以及早反馈给会议召集人,必便召集人重新确定评委或者评审会议改期召开。

  二、 评审会议的召开

  一般情况下,确定一个会议主持人;其主要的职责是控制会议的进度、时间、协调会议中出现的偏差。

  对于待评审的工作产品由其生产者采用“走读”的形式进行讲解,在讲解的过程中回答评委提出的问题。

  会议记录人主要是记录会议中发现的所有问题,方便会后的修改完善。

  SQA人员参加会议主要的关注点在于对照SQA的检查表Checklist检查评审的流程是否符合规范。

  三、 评审会议的跟踪

  将记录的问题汇总到《评审记录表》,由项目组进行修改、完善;SQA监督所有问题是否封闭。

  附录:

  (1) 列举重要工作产品评审的重点:

  A 计划的评审

  主要是关注的核心在于估计是否准确;人员安排是否合理;以上两个方面如果合理,项目的进度就不会出很大的问题。

  B 需求的评审

  主要关注需求来源、需求的准确性、需求的完整性,避免产生二义性;最好让测试人员和客户参加,以便让各角色达成共识。

  C 总体设计的评审

  在总体设计评审中,最好将已经评审通过的需求文档从配置管理库中提出,对照总体设计是否和需求一致;另外,技术领域专家参加评审还要关注于设计的合理性、可实现性以及完整性。

  D 代码评审

  由项目组内进行代码审核,主要关注代码的格式、整体逻辑、变量的命名、程序注释等表面的属性;至于运行质量应当放在单元测试中解决。

  E 管理性的评审

  管理性的评审一般放在里程碑、项目结束后进行。准备的资料包括前期工作的总结,是否按照计划执行、出现的问题的数目、解决了多少、未解决的问题、是否对后期有影响等。

  (2) 评审中应当把握的几个原则:

  A 评审工作产品,而不是评审生产者

  评审涉及到别人和自我。如果进行的恰当,可以使所有参与者体会到温暖的成就感。如果不恰当,则可能陷入审问的气氛之中。应当温和的指出错误,会议的气氛应当是轻松和建设性的;不要试图贬低或者羞愧别人。主持人应当加以引导,以保证会议始终处于恰当的气氛和态度中,如果失去控制应立即休会。

  B 制定日程,并且遵守日程

  各中会议都有一个主要的缺点:放任自流。评审会议必须保证不要离题和按照计划进行。主持人要有维持会议的程序的责任,有人在转移话题的时候应当提醒。

  C 限制争论和辩驳

  评委提出问题时,未必所有人都能认同该问题的严重性或者能马上打成一直的意见。不要花费时间争论这一问题,应当记录在案,留会后讨论。

  D 对各个问题发表见解,但是不要试图解决所有记录的问题

  评审会议不是解决问题的会议。问题的解决由生产者自己或者其他人的帮助下完成。问题的解决方案应当在会后进行。

  E 作书面笔记

  有时候让记录员在黑板上作笔记是个好主意,在记录的时候,评委可以推敲措词,确定问题的优先次序。

  F 限制参与人数,并且坚持事先做准备

  俩个人的脑袋好过一个,但是14个脑袋未必就好过4个。将评审涉及的人员数量保证保持在最小的值上。所有参与会议的人员要事先作好准备。

  G 为每个可能要评审的工作产品建立一个检查表

  检查表能帮助评审主持人组织会议,并帮助每个与会人员将注意力集中在重要问题上。

  H 为评审分配资源和时间

  评审要占项目组的资源和时间。所以,评审会议一定要作为软件工作活动的任务加以调度。可以在综合计划中考虑进去。

  I 对所有的评审者进行有意义的培训

  为了提高效率,所有参与评审会议的人都应当接受正式的培训。

  J 会议时间的控制

  为了提高效率,每次评审会议只评审一个工作产品,并且时间最长不能超过2个小时。所以要求,在评审准备时候各位评委事先作好准备。

pride 发表于 2006-7-24 18:24:52

opion

搂住
你做的真好,那里有着多时间去整理阿

mengxb001 发表于 2006-7-27 16:04:53

好像意义不大啊

loug 发表于 2006-7-28 18:06:06

其实也不会花费多少时间啊,象评审准备,你认为这里花时间了,其他参与评审的人多少是和项目有关的或者是熟悉项目的,就算没有安排评审,了解这个项目的时候也是一样要花时间的,在这里只不过把相关人员了解和阅读项目的时间都归到了评审准备中而已。再就是要求大家认真阅读,并他不了解的地方记录下来。

其实真正说起来,评审的实施时一些问题更早的时候就暴露出来,节省了后面的因为错误而反复的时间

loug 发表于 2006-7-28 18:07:02

我认为还是有成效的
页: [1]
查看完整版本: 教你组织软件开发过程中的评审会议【转】