敏捷方法论中的软件度量

geo*_*wa4 5 agile metrics process

敏捷方法现在相当普遍,但我似乎找不到关于哪些指标最有用以及原因的文档.我发现有很多东西说一些传统的指标,如LOC和测试的代码覆盖率都不合适,留下两个主要问题:

  1. 为什么这两个(和其他)指标不合适?
  2. 什么指标最适合敏捷以及为什么?

即使使用敏捷过程,您也不想知道您的单元测试有多少代码覆盖率?或者是它只是这个指标(和其他人)只是不作为其他指标,如圈复杂度和速度有用吗?

Pas*_*ent 3

敏捷是面向业务的事情,敏捷是关于最大化客户价值,同时最小化浪费以提供最佳的投资回报率。这是应该测量的。为此,我使用了 Mary Poppendieck推荐的系统。该系统基于三个必须作为一个整体的整体测量:

  1. 周期
    • 从产品概念到首次发布或
    • 从功能请求到功能部署或
    • 从错误检测到解决
  2. 业务案例实现(没有这个,其他一切都无关紧要)
    • 损益或
    • 投资回报率或
    • 投资目标
  3. 客户满意度

当然,在团队层面,您可以跟踪测试覆盖率、圈复杂度、编码标准的一致性等内容,但高质量本身并不是目的,它只是一种手段。不要误解我,我并不是说高质量不重要,高质量是实现可持续步伐所必需的(我们在完成的定义中包括“不增加技术债务”),但目标仍然是以快速且有利可图的方式为客户提供价值。