技术评审过程2008-2-18培训目标1.了解技术评审的大致过程(公司的要求)2.对于项目经理:了解如何制定技术评审计划;了解针对何种工作产品应该采用何种评审方式;了解如何组织同行评审、走查;了解如何组织代码复查;课程内容1.技术评审简介2.技术评审分类3.同行评审4.走查及代码复查5.表单模板及实例课程内容1.技术评审简介2.技术评审分类3.同行评审4.走查及代码复查5.表单模板及实例1.1什么是技术评审技术评审(TR),是指针对软件项目实施过程中产生的工作产品进行的旨在尽早发现可能存在的技术缺陷的一种验证活动。1.2为什么要技术评审?及时发现和排除缺陷,减少后期返工的费用帮助建立对产品的共同理解。1.3什么时候会进行技术评审?方案制定需求分析总体设计详细设计系统实现系统测试验收测试产品推广产品维护技术评审点技术评审点技术方案评审制定开发项目的《技术评审计划》技术评审点技术评审点技术评审点技术评审适用范围用户需求获取用户需求评审1.4技术评审效果缺陷排除率:(Infosys,2000)15%50%20%5%20%70%28%10%0%20%40%60%80%上限15%50%20%5%下限20%70%28%10%文档评审代码复查+单元测试集成测试+系统测试验收测试课程内容1.技术评审简介2.技术评审分类3.同行评审4.走查及代码复查5.表单模板及实例2.1技术评审分类技术评审(TR)的三种评审方式:软件中心分类方法同行评审(PeerReview)走查(Walkthrough)代码复查(CodeReview)业界有不同的分法,内容大致一致TR:FTR、ITRPR:Inspection、Walkthrough2.1技术评审方式同行评审(PR),又称同级评审(PeerReview),是技术评审的一种方式,是在软件项目实施过程中由工作产品生产者的同行遵循规定的规程对工作产品进行的旨在识别并排除缺陷的一种审查活动。同行评审的参加人员一般与工作产品作者处于同一级别、具有类似工作(技术)经验。走查(Walkthrough),通常指项目组内部正式或非正式的检查活动,以便尽早发现工作产品中可能存在的缺陷或不符合标准、规范的问题。在项目实施过程中,走查可灵活安排,分散、多批次进行。代码复查,在我公司主要指针对代码所进行的交叉检查,是验证的一种方式。2.2三种评审方式的共同点以发现缺陷为主要目的,不是为了解决问题;缺陷数据不会用于追究责任或考核;评审之前做好准备工作,尤其是正式评审;评审员帮助作者发现缺陷,但作者是工作产品质量的最终承担者。2.3三种评审方式的差异评审方式组织形式准备参与者输出是否需要评审结论?同行评审会议(正式)要求充分准备并输出个人准备问题单评审组长评审员记录员验证员作者评审报告是。有三种评审结论。走查会议或非正式形式(非正式)会前尽量充分准备组织者评审员作者走查记录单不需要。代码复查会议或非正式形式(非正式)会前尽量充分准备复查人员作者代码复查记录单不需要。2.4各评审项评审方式评审项评审方式用户需求说明书同行评审(需求管理部组织)技术方案建议书组内走查(项目成员)同行评审(总体部组织)需求分析文档组内走查(项目成员)同行评审(总体部组织)总体设计文档组内走查(项目成员)同行评审(总体部组织)详细设计文档同行评审(项目成员)源代码代码复查(项目成员)测试方案、案例组内走查(项目成员)2.5什么时候确定评审方式评审计划的制定方案制定需求分析总体设计详细设计系统实现系统测试验收测试产品推广产品维护技术评审点技术评审点技术方案评审制定开发项目的《技术评审计划》技术评审点技术评审点技术评审点技术评审适用范围用户需求获取用户需求评审2.6制定技术评审计划项目/产品经理:确定需要评审的工作产品及评审方式预定评审时间段以及相关的人员获得评审参加人员的确认输出《技术评审计划》(属于项目开发计划的一部分)2.6《技术评审计划》范例评审点大致时间评审项建议角色评审方式需求分析结束3月第1周需求分析文档项目成员组内走查需求分析结束3月第2周需求分析文档总体部、设计角色、测试人员、客户经理、QA总体部组织的同行评审总体设计结束4月第1周总体设计文档项目成员组内走查总体设计结束4月第2周总体设计文档总体部、需求角色、测试人员、QA总体部组织的同行评审详细设计结束5月第2周详细设计文档项目成员组内同行评审程序实现期间6月第4周源代码项目成员代码复查系统测试方案形成6月第4周测试方案、案例…组内走查课程内容1.技术评审简介2.技术评审分类3.同行评审4.走查及代码复查5.表单模板及实例什么工作产品进行同行评审?•什么是同行?同行有哪些?问题?同行包括工作产品作者的同类角色人员和该工作产品的上下游工作产品的作者等人员。例如,《功能分析说明书》的同行包括客户、客户代表、需求、设计、实现等人员。3.1什么是同行?项目组内外的工程技术人员项目经理业务师开发人员(分析、设计、实现)测试人员质量保证人员项目组A项目经理业务师开发人员(分析、设计、实现)测试人员质量保证人员项目组B其它技术专家总体部人员其它技术人员评审员3.2同行评审参加人员选择评审员应遵循如下原则:受待评审的工作产品影响的小组或个人;具备相关业务领域、相关系统或相关技术的知识或经验;评审人员的连续性(参加过前期评审的人员优先考虑);评审员总人数一般控制到3~7人。展示表3:工作产品的评审目的、评审方式及参加的人员(《技术评审过程文件》)3.3同行评审流程图评审准备评审实施评审后续工作•评审申请/发起•评审组长筹备评审会•评审员个人准备•评审预备会(可选)•召开评审会•评审是否通过•作者修改缺陷•验证员验证修改结果•工作产品入配置库评审会开始评审准备是否召开评审预备会?评审预备会(可选)评审员个人准备评审组长介绍评审会情况作者介绍工作产品识别缺陷和答疑适当讨论解决方案确定评审结论,会议结束§评审申请单§工作产品§支持材料§工作产品§支持材料§评审检查单个人准备问题单YESNO评审后续工作缺陷和问题记录评审报告结束评审申请是否召开评审会?YESNO同行评审基本流程图3.4同行评审入口准则&输入入口准则作者已经按照指定的格式(如模板)完成了工作产品,对工作产品进行了检查,排除了拼写、排版等初级错误。材料准备充分。输入待评审的工作产品。与该工作产品有关的支持性材料,如上游工作产品。3.5同行评审-1①评审申请/发起针对总体部组织的同行评审(如需求文档评审、总体设计评审),项目组向总体部提交《评审申请单》,并确保待评审的工作产品及上游工作产品已放入项目配置库。总体部根据评审申请在0.5个工作日内指定本次评审的评审组长。如果是项目组组织的同行评审(如技术方案建议书评审、详细设计评审),则由项目经理发起评审,确定评审组长。公司通过Notes评审系统来对评审进行管理;提交评审申请单记录评审过程等等。3.5同行评审-1①评审申请/发起(续)评审对象评审方式评审组长评审员用户需求说明书同行评审需求部指定业务师、架构师、技术方案制定人员、需求分析人员、相关人员。技术方案建议书同行评审总体部指定架构师、团队经理或有经验的技术人员、业务师、需求分析人员及其它相关人员。需求分析说明书功能分析说明书项目功能说明书总体部组织的同行评审总体部指定架构师、需求分析人员、业务师、技术方案制定人员、总体设计人员、测试人员、客户、质量保证人员。总体设计书总体部组织的同行评审总体部指定架构师、需求分析人员、总体设计人员、详细设计人员、测试人员、质量保证人员。详细设计书同行评审项目经理指定其他设计人员、总体设计人员、编码人员、QA人员或组外技术人员。3.5同行评审-2评审组长确定评审材料是否充分。确定评审参加的具体人员;与作者分析是否需要召开评审预备会;初步确定评审会(或评审预备会)的时间、地点;准备《评审检查单》(可参考公司模板);通知评审员、分发评审材料(包括:要评审的工作产品、上游工作产品、评审检查单)。评审材料至少提前5个工作日发给评审员。②评审组长筹备评审会3.5同行评审-3作者对工作产品进行简要介绍,说明与工作产品有关的重要信息;确保评审员熟悉了解要评审的工作产品,以确保评审会能达到预期的目标。③评审预备会(可选)3.5同行评审-4评审员:仔细阅读评审材料,完成《个人准备问题单》,会前提交给评审组长;评审组长:确定评审准备是否充分,并确定是否按计划召开评审会。召开评审会的条件是:关键人员(指评审组长、作者)能按计划参加评审会。每位评审者都从不同角度提出若干待确定的问题。④评审员个人准备3.5同行评审-5⑤召开评审会评审会评审组长介绍评审会情况作者讲解工作产品识别缺陷和答疑适当讨论解决方案确定评审结论,会议结束会议议程评审原则个人准备的情况时间限制(一般不超过3小时)记录缺陷(包括缺陷描述、缺陷严重等级:重要、次要、缺陷类型)适当讨论解决方案(一般每个问题不超过5分钟)评审通过,对缺陷的修改无需再验证评审通过,对缺陷的修改需再验证,确定验证员评审不通过3.5同行评审-5⑤召开评审会(续)评审不通过的准则发现1个严重缺陷,或5个以上的重要缺陷。或评审对象仍包含较多隐藏的缺陷3.5同行评审-5附表1:缺陷严重等级表编号缺陷严重等级描述1严重缺陷(Critical)是指不能执行正常工作功能或重要功能的,失去或严重失去实用性能的,会造成系统重大安全问题的,会严重影响系统性能的等缺陷。2重要缺陷(Major)是指系统的重要功能基本能实现,但一些次要功能的实现不完整且存在合理的更正办法;或者存在有严重降低产品性能的缺陷;给系统带来安全隐患的缺陷;对工作产品及后续工作产品有较大影响的缺陷。3次要缺陷(Minor)是指不影响产品基本功能的实现,对产品性能有轻微影响的缺陷,不会对后续工作产品产生较大影响。附表2:缺陷类型表3.5同行评审-6⑥评审后续工作若评审结论为:评审通过,对缺陷的修改无需再验证,则:评审组长完成《评审报告》,发送评审组全体成员,评审过程结束。若评审结论为:评审通过,对缺陷的修改需再验证,则:作者在会后修改缺陷;作者提交评审组长(或评审组长指定的评审员)审核。–审核通过,则评审组长完成《评审报告》,发送评审组全体成员,评审过程结束;–审核不通过,作者继续修改直至通过。若评审结论为:评审未通过,则:评审组长完成《评审报告》,发送评审组全体成员,本次评审过程结束;作者在会后修改工作产品,之后重新申请评审。其它工作:评审数据管理:评审组长将以下数据提交公司配置库,纳入项目资料管理:《评审报告》评审使用的检查单《个人准备问题单》质量保证人员对发现的质量问题进行跟踪,对评审过程进行审核。总体部每季度对评审的效率、有效性进行分析。3.5同行评审-73.6同行评审的注意事项注意事项要做好评审前准备工作!关键之所在!同行评审只是发现问题,不是问题解决会,在一个问题不宜纠缠过久评审小组成员不宜过多,4~6为佳对事不对人,不要对人进行评价评审发现问题等度量数据不能作为绩效考核的依据一次会议时间不宜超过两小时,如软件工作产品规模较大,可以分多次评审上一级的领导最好不要参与同行评审,如果必须参加也要遵循上述两条原则课程内容1.技术评审简介2.技术评审分类3.同行评审流程4.走查及代码复查5.表单模板及实例什么工作产品进行走查?4.1走查3.1目的帮助作者(个人或小组)快速、灵活地识别和纠正缺陷。3.2角色与职责角色职责组织者(项目/产品经理或测试负责人)策划要进行走查的工作产品对修正后的工作产品进行验证协调项目组内外的资源保证走查活动达到预期目标作者(个人或小组)准备待评审的工作产品,满足走查入口准则讲解工作产品、与评审员共同查找缺陷、改正缺陷编写《走查记录单》评审员帮助作者查找缺陷如有必要,协助作者商讨缺陷的解决方案4.2走查过程走查形式:可分散、也可集中,