详细设计评审指南

来源:互联网 发布:windows 子进程 监控 编辑:程序博客网 时间:2024/05/22 06:06
1.   概述
一次正式的会议。在会议上向用户、客户或其他相关各方介绍一个或一组工作产品,以征求对方的意见和批准。评审的最终目的是得到评审员的批准。
2.   流程图
2.1   主流程
                    评审会
    准备评审----》发现缺陷---》作出决定---》会议结束


2.2   准备评审

    作者:             提出评审申请
    小组负责人:计划评审、发评审通知
    作者:             提交评审资料
    协调员:         分发评审资料
    评审员:         构思问题

2.3   发现缺陷
    协调员:主持会议
    读者:     阅读资料
    评审员:提出问题、讨论问题、确定缺陷
    记录员:记录缺陷

2.4   作出决定
    评审员:作出评审决定、确定跟踪人或下次评审时间
    记录员:记录评审决定

3.   详细说明
3.1   计划
作者要确定评审的重点和范围,编制待评审工作产品的检查点。针对项目所处的不同阶段,所关注的重点和范围可能不一样,检查点也就不同。
确定了评审范围之后,便可以确定评审者及担任的角色、议程和进行评审所需的信息。选择评审者时,应该在软件构架专业知识和领域专业知识之间建立平衡。一般情况下,评审者主要是本项目/本部门人员,评审者中要有该工作产品的使用者,如果有必要,请求其他项目/部门的人员做评审者。评审者必须是对待评审工作产品是否通过评审具有批准权的人员。
评审者的角色分:
协调员:协调员确保评审按议程进行,并以当前的主题为重点。协调员应该确保对枝节问题的讨论不会使评审脱离正轨,而且所有评审员都以平等的身份参加讨论。
评审员:评审员提出问题。一定要侧重于提出问题,而不要耗费大量精力讨论如何解决问题。注重结果,而不是方法。
读者:阅读待评审工作产品,这个角色通常可由作者承担。
作者:解释工作产品和理解工作产品所需的所有背景信息。
记录员:记录所讨论的内容和要采取的行动。
        评审者的数目应该控制在三~七个人。如果评审员的数量太多,实际上会因为会议时间过长、参与更困难,以及在评审过程中增加了枝节问题和讨论,而降低评审的质量。如果评审者少于三个,则会因为减少了问题的多样性而增加片面性的风险。所有评审者都充当评审员角色。
评审员应该在要评审的领域拥有丰富经验;对于用例,评审员应该理解问题领域;对于软件构架,评审员还需要具备软件设计技术的知识。缺乏经验的评审员可以通过参与评审了解有关构架的内容,但他们对评审的帮助很小,同时他们的参与还可能会分散评审力量。
选择符合以下条件的评审员:  
    具有相当的背景来理解所介绍的材料。
    所评审产品或工作产品的质量与之有利害关系。
协调者与作者确定评审会议的时间并通知评审者。在资料分发和评审会议之间应该有足够的时间让评审者做准备工作。
3.2   准备
        评审之前,作者应该收集要评审的工作产品、检查点和所有背景材料,并分发给评审者。预先分发足够的评审材料,让评审者有时间准备评审,可以显著提高评审结果的质量。准备评审还会大大提高评审的效率和有效性。
评审者应该在评审之前研究文档、构思问题、确定要讨论的问题,并记录到《缺陷记录》。在评审员正常工作量的情况下,几个工作日通常是准备评审所需的最少时间。
评审者如果对检查点有疑义,应在评审前与作者沟通并解决。若作者修改了检查点,则要及时把修改后的检查点分发给评审者。
3.3   评审
3.3.1   理解评审流程
一般来说,评审流程是一个重复进行的循环过程:  
    评审员提出问题  
    讨论问题,同时对问题进行了确认  
    确定缺陷(确定需要解决的地方)  
    记录员记录问题
    直到没有确定的问题时再继续下一步  
如果大家在评审前已经仔细阅读了相关资料,则评审会议上可以不通篇阅读待评审工作产品,而是由评审者提出、读者有选择地阅读部分内容。
为了使这个过程有效进行,每个人都必须理解评审的目标是提高评审工作产品的质量。应该以发现问题的挑剔眼光来评审工作产品。这种做法可能很困难,所以所有评审员都必须经常提醒自己将重点放在确定问题上。我们都强烈地感觉到工作是属于自己的;通常,我们很难接受批评,甚至是建设性的批评。因为这样,我们必须更加努力地工作,以便将注意力集中在评审目标上:使工作产品的质量更好。
3.3.2   使评审保持简短
        简短而侧重于明确目标的评审是最有效的。因为很难长期保持重点,而且评审员还有其他的工作要做,应该将评审时间限制在两小时之内。如果要进行时间较长的评审,可以将其拆分为几个规模较小、更有重点的评审。如果评审员能保持重点,就会获得更好的结果。
这种作法的关键是制定非常确定的议程和清楚明确的目标。分发评审材料后,应该向大家传达这些目标,而且评审会议开始时,协调员应该强调这些目标。之后,在会议进行期间,协调员还必须经常地(有时是强迫性的)强调这些目标。
3.3.3   确定问题,而不要解决问题
        评审会议无法实现预期结果的一个主要原因是,会议很容易变成关于应该如何解决问题的讨论。解决问题通常需要调查和仔细思考;评审的形式对于这种讨论来说不是一个有效的方法。确定了问题之后,确定该缺陷是否必须得到解决,之后将调查和解决的任务分配给某个人。评审会议应该只注重确定问题。
如果问题需要一组人作进一步的讨论,就另外召开一次单独的会议重点讨论该主题。通常,这种会议需要一些调查和准备工作,而且需要一些具备适当工作技能的人员参加。评审应该将重点放在确定其他问题上。协调员经常需要施加相当大的影响,来确保评审会议侧重于这个方向。
3.3.4   作出决定
        评审者讨论决定是否通过评审,决定有:通过,有条件通过,部分通过,不通过。对于有条件通过,要注明条件及跟踪人;对于部分通过,要说明通过的部分,决定未通过部分的下次评审时间;对于不通过,要决定下次评审时间。
3.4   对评审结果采取行动
如果不对评审结果采取行动,那么评审就没有什么价值。评审结束时:  
    确定问题列表的优先顺序。  
    创建缺陷,以追踪问题及其解决办法。  
    如果需要进行其他调查,将调查问题(而不是解决问题)的任务分配给一个小团队。  
    对于可以在当前迭代中解决的问题,指派一个人或一个团队解决该问题。  

    将未解决问题的列表留给未来的迭代计划工作。 


原文地址:http://topic.csdn.net/t/20060523/17/4773277.html