软件度量的规则体系  软件测试

  索林根的软件度量指南:十大方针

  软件度量专家索林根(Van Solingen)在《聚焦产品的软件过程改善》(Product Focused Software Process Improvement)中详细阐述了软件度量项目工程(Measurement program engineering),提出软件度量的十大方针,如下所示。

  1. 准备让软件开发者参与软件度量项目;

  2. 开始软件度量工程前了解软件产品的质量目标、过程模型和学习目的;

  3. 软件度量项目工程为目标导向,确保具备有限但相关的度量设定;

  4. 指定期望值(假设);

  5. 由具有实际度量经验的人员按照规则对度量数据作出分析和解释;

  6.将度量数据的分析和解释聚焦于:详细而精确的过程行为、全局过程、或者产品质量目标,但是决非聚焦于个人绩效;

  7. 执行专门资源(人员)来支持度量项目工程的开发团队;

  8. 评价实际产品质量和目标产品质量的差距;

  9. 评价过程行为的影响(产品质量方面);

  10. 将特定情景中过程行为的知识存储到经验数据库中。

  高尔发的关键成功因素:九大要素

  品质与生产力管理集团(Q/P Management Group)总裁斯科特?高尔发(Scott Goldfarb)在《建立有效的度量体系》(Establishing a Measurement Program)中认为,建立并实施有效软件度量体系的关键成功因素包括如下:

  1. 确定度量目标和计划;

  2. 获得高层管理者的支持;

  3. 拥有专属资源;

  4. 面向员工的培训、教育和营销推广;

  5. 日常工作中的度量一体化;

  6. 聚焦于项目团队的结果;

  7. 度量不要针对个人;

  8. 有效定义数据以及实情报告制度;

  9. 推动度量自动化。

  软件工程研究所的软件度量规则:二十八条规则

  美国卡内基?梅隆大学软件工程研究所在《软件度量指南》中列出了如下软件度量的规则:

  1. 理解软件度量方法只是达到目的的手段,而其本身并不是目的;

  2. 以应用度量结果而不是收集数据为中心;

  3. 理解度量的目标;

  4. 理解如何应用度量方法;

  5. 设定期望值;

  6. 制定计划以实现早期成功;

  7. 以局部为重点;

  8. 从小处着手;

  9. 将开发人员与分析人员分开;

  10. 确信度量方法适合要实现的目标;

  11. 将度量次数保持在低水平;

  12. 避免浮夸度量数据;

  13. 编制度量工作成本;

  14. 制定计划使数据收集速度至少是数据分析和应用的3倍;

  15. 至少每月收集一次关于工作投入水平的数据;

  16. 明晰关于工作投入水平数据收集的范围;

  17. 仅收集受控软件的错误数据;

  18. 不要指望准确地度量纠错工作;

  19. 不要指望找到界定完善的放之四海而皆准的过程度量方法;

  20. 不要指望找到过程度量的数据库;

  21. 理解高级过程的特征;

  22. 应用关于生命周期阶段的简单定义;

  23. 用代码行表示规模;

  24. 明确将哪些软件纳入度量范围;

  25. 不要指望使数据收集工作自动化;

  26. 使提供数据的工作更容易;

  27. 使用商业上可用的工具;

  28. 认为度量数据存在瑕疵、不精确也不稳定。

  帕克的目标驱动软件度量原则:四大原则体系

  帕克(Robert E. Park)、哥特(Wolfhart B. Goethert)和弗罗哈克(William A. Florac)在1996年的《目标驱动软件度量指导手册》(Goal-Driven Software Measurement?? A Guidebook)中提出软件度量的原则如表5-10所示:

  表5-10 帕克的目标驱动软件度量原则

  1. 部门管理者的度量原则

  ?? 设立清晰的目标;

  ?? 让员工协助定义度量手段;

  ?? 提供积极的管理监督:寻求和使用数据;

  ?? 理解员工报告的数据;

  ?? 不要使用度量数据来奖赏或者惩罚实施度量的员工,并确信他们知道你和其他任何人都遵守这一规则;

  ?? 建立保护匿名的惯例,对匿名提供保护将建立起信任并培育起可靠数据的收集机制;

  ?? 如果员工的报告基于对组织有用的数据,支持他们;

  ?? 不要强调那些排斥其他度量方式的某种度量方式或者指标。

  2. 项目管理者的度量原则

  ?? 知晓组织的战略性焦点并强调支持该战略的度量手段;

  ?? 在追踪的度量手段上与项目组获得一致,并在项目计划中定义这些度量手段;

  ?? 向项目组提供规则有序的关于其所收集数据的反馈;

  ?? 不要私人单独地进行度量。

  3. 项目组的度量原则

  ?? 尽大努力报告准确而及时的数据;

  ?? 协助在管理中将项目数据聚焦于改善软件过程;

  ?? 不要使用软件度量夸耀自身的,否则这将鼓励其他人使用其他数据展示其反面。