评审的主持人和作者可以先将工作产品的内容进行分解,与WBS的分解方法相同,然后再将与会人员的反馈对应到每个分解出来的待评审的功能点,以此来判断检查项的覆盖率是否足够。例如表1所示:
表1- xxx概要设计文档评审覆盖率分析表
待评审的功能点 |
功能完整性 |
技术复杂度 |
可维护性 |
产品性能 |
功能点A1 |
X |
|
|
X |
功能点A2 |
X |
X |
|
|
功能点A3 |
X |
|
X |
|
功能点A4 |
X |
|
|
X |
功能点B1 |
|
X |
|
X |
功能点B2 |
X |
|
|
|
功能点B3 |
X |
|
X |
X |
…….. |
|
|
|
|
|
|
|
|
|
通过一个类似这样表格,主持人就会发现有那些地方大家还没有考虑到,没有考虑到的地方可以在评审会上集中讨论,或者在同行评审的准备阶段让与会人员还需要继续提出建议。
如果提高同行评审的效率
要提高同行评审的效率,首先就要知道以往评审的度量信息,通过对度量的数据进行分析,找到可以改进的关键点,这其实就是CMMI进行过程改进的方法。在之前已经提到同行评审准备阶段就需要明确收集相关度量的信息,本文将举些常用的例子给大家参考。
Ø 同行评审发现缺陷数量
有些时候与会人员为了应付评审,在填写评审准备表时只为了凑数量,而不注重质量,那么可以通过对本次评审发现问题的数量进行分类统计,如果某次评审发现的问题较少,那么有可能(只是有可能)是评审准备的工作没有做好。

Ø 同行评审ROI(投资回报率)
同行评审ROI是对评审效果的直接衡量。
投资回报率:在同行评审中就是所有与会人员花费在本次评审中的成本与本次评审所发现缺陷所具有的价值之间的比例。也就是每投入1块钱在同行评审上可以得到多少钱的回报。公式如下:
与会人员在本次评审所花费的时间UT=本次评审准备工作的时间+开会的时间+[ 如果会后某些人员还需要对缺陷进行跟进的时间 ]
与会人员在本次评审所花费的成本UA=该人员的单位小时成本 * UT
所有与会人员在本次评审总的花费PC(元)=UA1 + UA2 +UA3+……
公司可以通过一段时间的积累或讨论,按照不同工作产品、不同的严重程度来评估该缺陷如果没有被及时发现,那么其返工的成本为多少。例如:在对需求文档和设计文档进行评审时,发现同等级别严重程度的缺陷,其返工的成本是不同的,需求评审所发现的缺陷价值更高。
返工成本RC(元)=D1+D2+D3+……
同行评审ROI=返工成本RC / 所有与会人员在本次评审总的花费PC
在项目组内通过对同行评审ROI的度量可以看到每次评审的效果,如下图所示,详细设计的投资回报率是负数,但这并不能够确定本次评审的效果不好,也可能是该设计文档写的太完美了,造成与会人员发现不了问题。

Ø 同行评审抽样率
如表1所示,经过经工作产品的分解,统计该表格有多少检查项CI,有多少项是被覆盖的CC。
同行评审抽样率=被覆盖的检查项CC / 总检查项CI * 100%
如下图所示,本项目的覆盖率都达到70%以上,符合公司的要求。

这只是举了几个关于同行评审度量的例子,关于度量的理论,以及如何所制定的各种度量指标不是本文所要关注的内容。项目管理人员只需要通过度量分析的结果,关注有异常发生的点,并使用多个度量指标对其进行综合分析,找到问题的根源,才能发现在同行评审中存在的问题。
至此,整个软件同行评审的流程、方法和技巧都介绍完了。希望广大软件从业人员可以了解同行评审的重要性,以及如何才能将评审会开好并达到预期的目的。如需了解更多软件工程的知识,也可以访问我的个人网站www.zhang-jin.net与我进行交流。 |