技术评审(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所示。
编辑
技术评审的注意事项:
- 评审人员的职责是发现工作成果中的缺陷,并帮助开发人员给出消除缺陷的办法,而不是替开发人员消除缺陷。
- 技术评审应当“就是论事”,不要打击有失误的开发人员的工作积极性,更不准搞人身攻击(如挖苦、讽刺等)。
- 在会议评审期间要限制过多的争论,以免浪费他人的时间。
技术评审过程域产生的主要文档有:
- 整个项目的《技术评审计划》,模板见 [SPP-TEMP-TR-PLAN]。
- 《技术评审通知》,模板见 [SPP-TEMP-TR-NOTES]。
- 《技术评审报告》,模板见 [SPP-TEMP-TR-REPORT]。
- 常用的《技术评审检查表》见 [SPP-TEMP-TR-CHECKLIST]。
16.2 制定技术评审计划
16.2.1 目的
- 确定需要评审的工作成果、评审方式,预定评审时间、地点以及相关人员。
16.2.2 角色与职责
- 项目的技术负责人(或技术骨干)制定《技术评审计划》。
- 项目经理审批《技术评审计划》。
16.2.3 启动准则
16.2.4 输入
16.2.5 主要步骤
[Step1] 确定需要评审的工作成果
- 如果项目的时间充足,为了确保产品的质量,应当对产品的所有工作成果都进行技术评审。如果项目的时间不充足,为了节约时间,可以选择一些重要的工作成果对其进行技术评审。
[Step2] 确定技术评审方式
- 根据工作成果的重要性和复杂性确定技术评审方式。将重要性、复杂性各分“高、中、低”3个等级。重要性-复杂性组合与技术评审方式的对应关系见下表。
编辑
[Step3] 预定评审时间、地点以及相关人员
- 根据《项目计划》中的进度表,预定评审时间和地点。
- 根据工作成果的特征预定评审主持人和其他评审员。
[Step4] 审批计划
- 项目经理根据《项目计划》以及现实情况(如可以支配的人力资源),审批《技术评审计划》。
- 项目的技术负责人(或技术骨干)应根据项目经理的批示修正《技术评审计划》。
16.2.6 输出
16.2.7 结束准则
- 《技术评审计划》已经制定并被项目经理批准。
16.2.8 度量
- 技术负责人(或技术骨干)统计工作量和上述文档的规模,汇报给项目经理。
16.3 正式技术评审
16.3.1 目的
- 对工作成果进行正式技术评审,尽早地发现工作成果中的缺陷,并帮助开发人员及时消除缺陷。
16.3.2 角色与职责
- 作者:是指待评审的工作成果的开发者,可能是一个人也可能是个小组。在评审会议期间,作者答复评审小组的问题,并与评审小组共同查找缺陷、商讨缺陷解决方案。评审会议结束后,作者应当及时消除工作成果中的缺陷。
- 评审小组
- 评审主持人是应当具备比较高的技术水平和比较丰富的评审经验,能够控制评审会议的进程。评审主持人可以是项目内的技术骨干也可以是项目外的技术专家。评审主持人本身是一名评审员,评审结论必须有评审主持人的签字才能生效。
- 评审员主要来源于项目内和项目外的技术人员,必要时还应当邀请客户和质量保证人员担任评审员。工作成果的作者不能担任评审员。评审员的人选以及分工都由评审主持人来确定。评审员应当根据“检查表”认真地查找工作成果中的缺陷,并和作者共同商讨缺陷解决方案。
- 评审小组的总人数一般在3~7人之间。
- 记录员:由评审主持人指定一位评审员来担任记录员。记录员如实地将评审过程记录在指定的文档中。
16.3.3 启动准则
- 作者已经按照指定的格式(如模板)完成了工作成果,对工作成果进行了内部检查,消除了拼写、排版等初级错误。
- 根据《技术评审计划》,该工作成果进行正式技术评审的时间已到。
16.3.4 输入
- 待评审的工作成果。
- 与该工作成果评审相关的一些材料,如检查表。
16.3.5 主要步骤
正式技术评审的流程如图16-2所示。
编辑
[Step1] 准备评审
- 评审主持人首先确定评审会议的时间、地点、设备和参加会议的人员名单(包括评审员、记录员、作者、旁听者等),然后起草《技术评审通知》,并告知所有相关人员。
- 评审主持人把工作成果及相关材料、技术评审规程、检查表等发给评审员。
- 评审员阅读(了解)工作成果及相关材料。
[Step2] 举行评审会议
- [Step2.1] 主持人宣讲
- 主持人宣讲本次评审会议的议程、重点、原则、时间限制等。
- [Step2.2] 作者介绍工作成果
- 作者扼要地介绍工作成果。
- [Step2.3] 识别缺陷和答辩
- 评审员根据“检查表”认真查找工作成果的缺陷。
- 作者回答评审员的问题,双方要对每个缺陷达成共识(避免误解)。
- [Step2.4] 讨论缺陷解决方案
- 作者和评审员共同讨论缺陷的解决方案。
- 对于当场难以解决的问题,由主持人决定“是否有必要继续讨论”或者“另定时间再讨论”。
- [Step2.5] 会议结束决议
- 评审小组给出评审结论和意见,主持人签字后本次会议结束。评审结论有三种:
- 工作成果合格,“无需修改”或者“需要轻微修改但不必再审核”。
- 工作成果基本合格,需要作少量的修改,之后通过审核即可。
- 工作成果不合格,需要作比较大的修改,之后必须重新对其评审。
[Step3] 修正、跟踪与审核
- [Step3.1] 修正与跟踪
- 作者修正工作成果,消除已发现的缺陷。
- 评审主持人(或者指定审查员)跟踪每个缺陷的状态。
- [Step3.2] 提交审核
- 作者消除所有已发现的缺陷后,再将修正后的工作成果递交给评审主持人(或者指定审查员)审核。
- [Step3.2] 审核工作成果
- 评审主持人(或者指定审查员)审核修正后的工作成果。审核结论有两种:
- 修正后的工作成果合格。
- 修正后的工作成果仍然不合格,需重新修改,重复[Step3]。
16.3.6 输出
- 该工作成果的《技术评审报告》。
- 根据评审报告修正后的工作成果。
16.3.7 结束准则
- 工作成果中所有已识别的缺陷都已经被消除。
16.3.8 度量
- 评审主持人统计工作量和上述文档的规模,汇报给项目经理。
16.4 非正式技术评审
16.4.1 目的
- 对工作成果进行快速、灵活地评审,及早地识别和消除工作成果中存在的缺陷。
16.4.2 角色与职责
- 作者:是指待评审的工作成果的开发者,可能是一个人也可能是个小组。作者答复评审员的问题,并与评审员共同查找缺陷、商讨缺陷解决方案。评审结束后,作者应当及时消除工作成果中的缺陷。
- 评审员:由作者的同伴或者同行专家担任评审员,通常一两个人即可。评审员应当根据“检查表”认真地查找工作成果中的缺陷,并和作者共同商讨缺陷解决方案。由于参加非正规评审的人员比较少,由评审员兼做记录员即可。
16.4.3 启动准则
- 作者已经按照指定的格式(如模板)完成了工作成果,对工作成果进行了内部检查,消除了拼写、排版等初级错误。
- 根据《技术评审计划》,该工作成果进行非正式技术评审的时间已到。
16.4.4 输入
- 待评审的工作成果。
- 与该工作成果评审相关的一些材料,如检查表。
16.4.5 主要步骤
[Step1] 准备评审
- 评审员与作者共同确定评审的时间、地点、设备、人员等。起草并将《技术评审通知》发布给相关人员。
- 评审员阅读(了解)工作成果及相关材料、评审规程、检查表等。
[Step2] 评审
- [Step2.1] 介绍
- 评审员介绍本次评审的议程、重点、原则、时间限制等。
- 作者扼要地介绍工作成果。
- [Step2.2] 识别缺陷和问答
- 评审员根据“检查表”认真查找工作成果的缺陷。
- 作者回答评审员的问题,双方要对每个缺陷达成共识(避免误解)。
- [Step2.3] 讨论缺陷解决方案
- 作者和评审员共同讨论缺陷的解决方案。
- 对于当场难以解决的问题,由双方商定“是否有必要继续讨论”或者“另定时间再讨论”。
- [Step2.4] 给出评审结论
评审员给出评审结论和意见。评审结论有三种:
- 工作成果合格,“无需修改”或者“需要轻微修改但不必再审核”。
- 工作成果基本合格,需要作少量的修改,之后通过审核即可。
- 工作成果不合格,需要作比较大的修改,之后必须重新对其评审。
[Step3] 修正、跟踪与审核
- [Step3.1] 修正与跟踪
- 作者修正工作成果,消除已发现的缺陷。
- 审查员跟踪每个缺陷的状态。
- [Step3.2] 提交审核
作者消除所有已发现的缺陷后,再将修正后的工作成果递交给审查员审核。
- [Step3.2] 审核工作成果
审查员审核修正后的工作成果。审核结论有两种:
(1)修正后的工作成果合格。
(2)修正后的工作成果仍然不合格,需重新修改,重复[Step3]。
16.4.6 输出
- 该工作成果的《技术评审报告》。
- 根据评审报告修正后的工作成果。
16.4.7 结束准则
- 工作成果中所有已识别的缺陷都已经被消除。
16.4.8 度量
- 评审员统计工作量和上述文档的规模,汇报给项目经理。
16.5 实施建议
- 对于重要性和复杂性都很高的工作成果,建议先在项目内部进行“非正式技术评审”,然后再进行“正式技术评审”。
- 技术评审应当与质量保证有机地结合起来,请质量保证人员参加并监督正规技术评审是很好的方式。
- 技术评审应当与配置管理有机地结合起来,规定没有通过技术评审的工作成果不允许成为基准文件(Baselined)。
- 建议机构采用统一的缺陷跟踪工具,使得技术评审所发现的缺陷能被及时地消除,不被遗漏。
文章下方有交流学习区!一起学习进步!也可以前往官网,加入官方微信交流群
创作不易,如果觉得文章不错,可以点赞收藏评论
你的支持和鼓励是我创作的动力❗❗❗
官网:Doker 多克;官方旗舰店:首页-Doker 多克-淘宝网 全品优惠