7.2.5 度量方法与采集
很多人都认为当度量定义完成以后,度量数据的收集应该没有什么大碍。而事实恰恰相反。实际调查表明,在用GQM方法来进行过程改进的企业中,数据收集这一活动的成本是最高的,甚至超过其他改进活动成本的总和。难点到底在哪里呢?度量一定要避免的是“垃圾进,垃圾出”。如果定义得不准确,度量数据就没有意义,肯定得不到有意义的分析。
选择可应用的度量元,按需求阶段、设计阶段、实现阶段、测试阶段、整个生命周期选择度量元,填入《度量与分析计划》。
度量的具体操作活动开始于采集数据。为采集和保存数据而定义规程,需要贯穿软件过程中,而且应具有可操作性。这意味着要把适当的人员、工具以及事件放入过程中的适当位置,为随后的分析过程改进活动捕获采集和存储数据。如图7-6所示为日志采集界面示意图。
图7-6 日志采集界面示意图
要进行采集,需要指定如何为每个要求的度量采集和存储数据。比如:要明确地说明数据如何采集?从何处采集?以及何时采集?要指定采集有效数据的规程。为了分析数据,数据要按可访问的方式存储,并且要确定是否为可能的重新分析或文档目的而保存。通常要考虑的问题如下:
(1)是否已经确定了采集频率和在何处进行度量的过程点了?
(2)是否已经建立需要的时间线来将度量结果从采集点移到仓库、其他数据库或最终用户?
(3)谁负责获得数据?
(4)谁负责存储、检索数据和数据的安全性?
(5)必要的支持工具已经开发或获得了吗?
在适当和可行的地方,支持数据的自动采集,自动化的支持可以帮助采集更准确和完整的数据。自动化支持的例子包括:
(1)带时间戳的活动日志;
(2)静态或动态制品分析。
例如,据相关机构统计,经过度量后得到的软件行业数据如下:
对于开发生产率,印度是209LOC/人月,美国为270LOC/人月,欧洲为436LOC/人月,日本达到了469LOC/人月。
对于产品质量(以交付后一年内的缺陷密度表示),美国为0.400个缺陷/KLOC,印度为0.263个缺陷/KLOC,欧洲是0.225个缺陷/KLOC,日本达到了0.020个缺陷/KLOC。
在下面举两个实际工作的度量例子,请大家体会一下。