2008年3月3日做同行评审的培训,讲解同行评审方法花费了3小时,练习时间为1小时,点评时间为45分钟。参加培训的人员为20人,19人参与了练习,划分成了3个小组练习。3个小组对同一个需求进行了同行评审,该需求为一个实际项目需求的一部分,仅有1页纸,但是质量比较差。
这3个小组的练习结果如下表所示:
|
第1组 |
第2组 |
第3组 |
被评审文档的规模(页) |
1 |
1 |
1 |
累计确认的bug数 |
13 |
17 |
4 |
工作量(分钟) |
225 |
480 |
95 |
效率(bug数/小时) |
3.47 |
2.13 |
2.53 |
个人评审的平均速率(页/小时) |
4 |
2 |
6 |
缺陷密度(bug数/页) |
13 |
17 |
4 |
个人评审阶段发现的bug数 |
10 |
12 |
2 |
会议中发现的bug数 |
3 |
5 |
2 |
个人评审阶段发现的bug数/会议中发现的bug数 |
3.33 |
2.40 |
1.00 |
参与评审的人数(包括作者、记录员与主持人) |
6 |
8 |
5 |
需求评审检查中的检查项个数 |
12 |
8 |
10 |
对上述的度量数据分析、点评如下:
(1) 第3组发现的BUG数及投入的工作量明显少于其他2个组,个人评审的速率最快,准备阶段发现的缺陷数与会议中发现的缺陷数比例比较小,说明该组对评审的投入不够、评审的质量不高。
(2) 第2组投入的工作量最大,参与的人数最多,评审的效率最低,没有很好的控制人员的个数,一般而言,应该控制在3-7人为宜。
(3) 第1组的效率最高,准备阶段发现的缺陷数与会议中发现的缺陷数比较比较大,说明该组的个人评审做的比较充分,效果比较好。
(4) 尽管第2组发现的缺陷最多,但是第2组比第组多发现4个缺陷,工作量却多花费了255分钟,相比而言,投入产品很不合适。
(5) 第1组和第2组的工作量的度量数据可能存在统计口径不一致的现场,否则在同样是花费了1小时的时间做练习,投入的工作量不会差别那么大,应为对度量元的准确定义进行约束。
(6) 个人评审的平均速率越快,发现的缺陷越少,个人评审的速率越慢,发现的缺陷越多。
(7) 同会议中发现的BUG数相比,个人评审阶段发现的BUG越多评审效率越高。
针对上述练习,各小组总结的经验教训归纳如下:
(1) 主持人与作者要首先对检查中的检查项达成一致的理解
(2) 在评审完毕后,要分析检查单中每个检查项的命中率,针对没有发现问题的检查项要进行分析,看是真没有问题还是在评审时漏考虑了。
(3) 在评审中专家对某个问题是否是一个问题存在争议,进行了激烈讨论,主持人应控制会议节奏,避免在一个问题上花费时间太多,降低效率。
(4) 记录员对问题的记录与评审员的想法不一致,花费了较长的时间进行了沟通。
(5) 有的小组没有对评审员细分角色,导致评审的效率偏低。
(6) 有的小组在评审时,采用了模拟用户使用场景的方法,效果很好。
(7) 需要实时采集度量数据,保证度量数据的准确性。