16.1 介绍 ................................................................................................................................ 2 16.2 制定技术评审计划 ......................................................................................................... 3 16.2.1 目的 .......................................................................................................................... 3 16.2.2 角色与职责 .............................................................................................................. 3 16.2.3 启动准则 .................................................................................................................. 3 16.2.4 输入 .......................................................................................................................... 4 16.2.5 主要步骤 .................................................................................................................. 4
[Step1] 确定需要评审的工作成果 ......................................................................... 4 [Step2] 确定技术评审方式 ..................................................................................... 4 [Step3] 预定评审时间、地点以及相关人员 .......................................................... 4 [Step4] 审批计划 .................................................................................................... 4
16.2.6 输出 .......................................................................................................................... 5 16.2.7 结束准则 .................................................................................................................. 5 16.2.8 度量 .......................................................................................................................... 5 16.3 正式技术评审 ................................................................................................................. 5 16.3.1 目的 .......................................................................................................................... 5 16.3.2 角色与职责 .............................................................................................................. 5 16.3.3 启动准则 .................................................................................................................. 6 16.3.4 输入 .......................................................................................................................... 6 16.3.5 主要步骤 .................................................................................................................. 6
[Step1] 准备评审 .................................................................................................... 6 [Step2] 举行评审会议 ............................................................................................. 7 [Step3] 修正、跟踪与审核 ..................................................................................... 7
16.3.6 输出 .......................................................................................................................... 8 16.3.7 结束准则 .................................................................................................................. 8 16.3.8 度量 .......................................................................................................................... 8 16.4 非正式技术评审 ............................................................................................................. 8 16.4.1 目的 .......................................................................................................................... 8 16.4.2 角色与职责 .............................................................................................................. 8 16.4.3 启动准则 .................................................................................................................. 8 16.4.4 输入 .......................................................................................................................... 9 16.4.5 主要步骤 .................................................................................................................. 9
[Step1] 准备评审 .................................................................................................... 9 [Step2] 评审 ............................................................................................................ 9 [Step3] 修正、跟踪与审核 ..................................................................................... 9
0
16.4.6 输出 ........................................................................................................................ 10 16.4.7 结束准则 ................................................................................................................ 10 16.4.8 度量 ........................................................................................................................ 10 16.5 实施建议 ....................................................................................................................... 10
1
第
16章 技术评审
技术评审(Technical Review, TR)的目的是尽早地发现工作成果中的缺陷,并帮助开发人员及时消除缺陷,从而有效地提高产品的质量。
技术评审过程域是SPP模型的重要组成部分。本规范阐述了技术评审过程域的三个主要规程:
制定技术评审计划 [SPP-PROC-TR-PLANNING] 正式技术评审 [SPP-PROC-TR-FTR] 非正式技术评审[SPP-PROC-TR-ITR]
上述每个规程的“目标”、“角色与职责”、“启动准则”、“输入”、“主要步骤”、“输出”、“完成准则”和“度量”均已定义。
本规范适用于国内IT企业的软件研发项目。建议用户根据自身情况(如商业目标、研发实力等)适当地修改本规范,然后推广使用。
16.1 介绍
技术评审最初是由IBM公司为了提高软件质量和提高程序员生产率而倡导的。技术评审方法已经被业界广泛采用并收到了很好的效果,它被普遍认为是软件开发的最佳实践之一。
技术评审能够在任何开发阶段执行,它可以比测试更早地发现并消除工作成果中的缺陷。技术评审的主要好处有:
通过消除工作成果的缺陷而提高产品的质量。 越早消除缺陷就越能降低开发成本。
开发人员能够及时地得到同行专家的帮助和指导,无疑会加深对工作成果的理
解,更好地预防缺陷,一定程度上提高了开发生产率。
可见技术评审有助于“提高质量、提高生产率、降低成本”,符合软件过程改进的根本目的。
技术评审有两种基本类型:
正规技术评审(FTR)。FTR比较严格,需要举行评审会议,参加评审会议的人
员比较多。
非正规技术评审(ITR)。ITR的形式比较灵活,通常在同伴之间开展,不必举
行评审会议,评审人员比较少。
理论上讲,为了确保产品的质量,产品的所有工作成果都应当接受技术评审。现实中,为了节约时间,允许人们有选择地对工作成果进行技术评审。技术评审方式也视工作成果的重要性和复杂性而定。
技术评审过程域有三个主要规程:“制定技术评审计划”、“正规技术评审”和“非正规技术评审”,如图16-1所示。
2
正规技术评审 制定技术评审计划 非正规技术评审 图1 技术评审过程域示意图
技术评审的注意事项:
评审人员的职责是发现工作成果中的缺陷,并帮助开发人员给出消除缺陷的办
法,而不是替开发人员消除缺陷。
技术评审应当“就是论事”,不要打击有失误的开发人员的工作积极性,更不准
搞人身攻击(如挖苦、讽刺等)。
在会议评审期间要限制过多的争论,以免浪费他人的时间。 技术评审过程域产生的主要文档有:
整个项目的《技术评审计划》,模板见 [xx-PLAN]。 《技术评审通知》,模板见 [xx-NOTES]。 《技术评审报告》,模板见 [xx-REPORT]。 常用的《技术评审检查表》见 [xx-CHECKLIST]。
16.2 制定技术评审计划
16.2.1 目的
确定需要评审的工作成果、评审方式,预定评审时间、地点以及相关人员。
16.2.2 角色与职责
项目的技术负责人(或技术骨干)制定《技术评审计划》。 项目经理审批《技术评审计划》。
16.2.3 启动准则
《项目计划》已经制定。
3
16.2.4 输入
《项目计划》
16.2.5 主要步骤
[Step1] 确定需要评审的工作成果
如果项目的时间充足,为了确保产品的质量,应当对产品的所有工作成果都进行技
术评审。如果项目的时间不充足,为了节约时间,可以选择一些重要的工作成果对其进行技术评审。 [Step2] 确定技术评审方式
根据工作成果的重要性和复杂性确定技术评审方式。将重要性、复杂性各分“高、
中、低”3个等级。重要性-复杂性组合与技术评审方式的对应关系见下表。
重要性-复杂性组合 高高 高中 高低 中中 中低 低低 技术评审方式(FTR, ITR) FTR FTR FTR 或者ITR均可 FTR 或者ITR均可 ITR ITR 表2 重要性-复杂性组合与技术评审方式的对应关系
[Step3] 预定评审时间、地点以及相关人员
根据《项目计划》中的进度表,预定评审时间和地点。 根据工作成果的特征预定评审主持人和其他评审员。 [Step4] 审批计划
项目经理根据《项目计划》以及现实情况(如可以支配的人力资源),审批《技术评
审计划》。
项目的技术负责人(或技术骨干)应根据项目经理的批示修正《技术评审计划》。
4
16.2.6 输出
《技术评审计划》
16.2.7 结束准则
《技术评审计划》已经制定并被项目经理批准。
16.2.8 度量
技术负责人(或技术骨干)统计工作量和上述文档的规模,汇报给项目经理。
16.3 正式技术评审
16.3.1 目的
对工作成果进行正式技术评审,尽早地发现工作成果中的缺陷,并帮助开发人员及
时消除缺陷。
16.3.2 角色与职责
作者:是指待评审的工作成果的开发者,可能是一个人也可能是个小组。在评审会
议期间,作者答复评审小组的问题,并与评审小组共同查找缺陷、商讨缺陷解决方案。评审会议结束后,作者应当及时消除工作成果中的缺陷。 评审小组
评审主持人是应当具备比较高的技术水平和比较丰富的评审经验,能够控制评
审会议的进程。评审主持人可以是项目内的技术骨干也可以是项目外的技术专家。评审主持人本身是一名评审员,评审结论必须有评审主持人的签字才能生效。
评审员主要来源于项目内和项目外的技术人员,必要时还应当邀请客户和质量
保证人员担任评审员。工作成果的作者不能担任评审员。评审员的人选以及分工都由评审主持人来确定。评审员应当根据“检查表”认真地查找工作成果中的缺陷,并和作者共同商讨缺陷解决方案。 评审小组的总人数一般在3~7人之间。
记录员:由评审主持人指定一位评审员来担任记录员。记录员如实地将评审过程记
录在指定的文档中。
5
16.3.3 启动准则
作者已经按照指定的格式(如模板)完成了工作成果,对工作成果进行了内部检查,
消除了拼写、排版等初级错误。
根据《技术评审计划》,该工作成果进行正式技术评审的时间已到。
16.3.4 输入
待评审的工作成果。
与该工作成果评审相关的一些材料,如检查表。
16.3.5 主要步骤
Step2. 举行评审会议 2.1主持人宣讲 Step3.修正跟踪审核 2.2作者介绍工作成果 3.1修正与跟踪 正式技术评审的流程如图16-2所示。
Step1. 准备评审 2.3识别缺陷和答辩 3.2递交审核 2.4讨论缺陷解决方案 3.3审核工作成果 2.5会议结束决议 图16-2 正式技术评审的流程图
[Step1] 准备评审
评审主持人首先确定评审会议的时间、地点、设备和参加会议的人员名单(包括评
审员、记录员、作者、旁听者等),然后起草《技术评审通知》,并告知所有相关人员。
评审主持人把工作成果及相关材料、技术评审规程、检查表等发给评审员。
6
评审员阅读(了解)工作成果及相关材料。 [Step2] 举行评审会议 [Step2.1] 主持人宣讲
主持人宣讲本次评审会议的议程、重点、原则、时间限制等。 [Step2.2] 作者介绍工作成果
作者扼要地介绍工作成果。 [Step2.3] 识别缺陷和答辩
评审员根据“检查表”认真查找工作成果的缺陷。
作者回答评审员的问题,双方要对每个缺陷达成共识(避免误解)。 [Step2.4] 讨论缺陷解决方案
作者和评审员共同讨论缺陷的解决方案。
对于当场难以解决的问题,由主持人决定“是否有必要继续讨论”或者“另定
时间再讨论”。
[Step2.5] 会议结束决议
评审小组给出评审结论和意见,主持人签字后本次会议结束。评审结论有三种: (1) 工作成果合格,“无需修改”或者“需要轻微修改但不必再审核”。 (2) 工作成果基本合格,需要作少量的修改,之后通过审核即可。 (3) 工作成果不合格,需要作比较大的修改,之后必须重新对其评审。 [Step3] 修正、跟踪与审核 [Step3.1] 修正与跟踪
作者修正工作成果,消除已发现的缺陷。
评审主持人(或者指定审查员)跟踪每个缺陷的状态。 [Step3.2] 提交审核
作者消除所有已发现的缺陷后,再将修正后的工作成果递交给评审主持人(或
者指定审查员)审核。
[Step3.2] 审核工作成果
评审主持人(或者指定审查员)审核修正后的工作成果。审核结论有两种: (1) 修正后的工作成果合格。
(2) 修正后的工作成果仍然不合格,需重新修改,重复[Step3]。
7
16.3.6 输出
该工作成果的《技术评审报告》。 根据评审报告修正后的工作成果。
16.3.7 结束准则
工作成果中所有已识别的缺陷都已经被消除。
16.3.8 度量
评审主持人统计工作量和上述文档的规模,汇报给项目经理。
16.4 非正式技术评审
16.4.1 目的
对工作成果进行快速、灵活地评审,及早地识别和消除工作成果中存在的缺陷。
16.4.2 角色与职责
作者:是指待评审的工作成果的开发者,可能是一个人也可能是个小组。作者答复
评审员的问题,并与评审员共同查找缺陷、商讨缺陷解决方案。评审结束后,作者应当及时消除工作成果中的缺陷。
评审员:由作者的同伴或者同行专家担任评审员,通常一两个人即可。评审员应当
根据“检查表”认真地查找工作成果中的缺陷,并和作者共同商讨缺陷解决方案。由于参加非正规评审的人员比较少,由评审员兼做记录员即可。
16.4.3 启动准则
作者已经按照指定的格式(如模板)完成了工作成果,对工作成果进行了内部检查,
消除了拼写、排版等初级错误。
根据《技术评审计划》,该工作成果进行非正式技术评审的时间已到。
8
16.4.4 输入
待评审的工作成果。
与该工作成果评审相关的一些材料,如检查表。
16.4.5 主要步骤
[Step1] 准备评审
评审员与作者共同确定评审的时间、地点、设备、人员等。起草并将《技术评审通
知》发布给相关人员。
评审员阅读(了解)工作成果及相关材料、评审规程、检查表等。 [Step2] 评审 [Step2.1] 介绍
评审员介绍本次评审的议程、重点、原则、时间限制等。 作者扼要地介绍工作成果。 [Step2.2] 识别缺陷和问答
评审员根据“检查表”认真查找工作成果的缺陷。
作者回答评审员的问题,双方要对每个缺陷达成共识(避免误解)。 [Step2.3] 讨论缺陷解决方案
作者和评审员共同讨论缺陷的解决方案。
对于当场难以解决的问题,由双方商定“是否有必要继续讨论”或者“另定时
间再讨论”。
[Step2.4] 给出评审结论
评审员给出评审结论和意见。评审结论有三种:
(1) 工作成果合格,“无需修改”或者“需要轻微修改但不必再审核”。 (2) 工作成果基本合格,需要作少量的修改,之后通过审核即可。 (3) 工作成果不合格,需要作比较大的修改,之后必须重新对其评审。 [Step3] 修正、跟踪与审核 [Step3.1] 修正与跟踪
作者修正工作成果,消除已发现的缺陷。
9
审查员跟踪每个缺陷的状态。 [Step3.2] 提交审核
作者消除所有已发现的缺陷后,再将修正后的工作成果递交给审查员审核。 [Step3.2] 审核工作成果
审查员审核修正后的工作成果。审核结论有两种: (1)修正后的工作成果合格。
(2)修正后的工作成果仍然不合格,需重新修改,重复[Step3]。
16.4.6 输出
该工作成果的《技术评审报告》。 根据评审报告修正后的工作成果。
16.4.7 结束准则
工作成果中所有已识别的缺陷都已经被消除。
16.4.8 度量
评审员统计工作量和上述文档的规模,汇报给项目经理。
16.5 实施建议
对于重要性和复杂性都很高的工作成果,建议先在项目内部进行“非正式技术评审”,
然后再进行“正式技术评审”。
技术评审应当与质量保证有机地结合起来,请质量保证人员参加并监督正规技术评
审是很好的方式。
技术评审应当与配置管理有机地结合起来,规定没有通过技术评审的工作成果不允
许成为基准文件(Baselined)。
建议机构采用统一的缺陷跟踪工具,使得技术评审所发现的缺陷能被及时地消除,
不被遗漏。
10
因篇幅问题不能全部显示,请点此查看更多更全内容