软件研发效能提升之美
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.4.1 选择度量指标

我们一共总结了五类研发效能的度量指标,下面详细展开讲解。

质量指标

前面我们提到,希望在保持快速反应、拥抱变化的同时交付高质量的产品,因此对于质量的度量应予以高优先级考虑。从时间角度划分,质量可以分为过程质量和交付质量。在过程质量中,主要关注缺陷、性能和安全问题,以及动态跟踪质量问题;而在结果质量中,主要通过分析已经产生的质量问题和风险进行改进和优化。总体上,质量指标作为衡量交付物质量的手段,可包含如下项目:

• 千行代码缺陷率。

• 万行代码线上事故数/万行责任事故。

• 缺陷密度。

• 缺陷燃尽图/缺陷存量。

• 提测冒烟通过率/提测驳回率。

• 高优先级缺陷占比。

• 线下缺陷与线上事故比值。

• 性能/资源使用率。

• 安全漏洞发现数。

• 生产可用性时长/宕机时长。

• 生产发布回滚率。

交付吞吐指标

在保证质量的前提下,交付速度和交付效率是我们希望持续提升的重点。由于项目交付涉及软件工程全周期的工作,与交付吞吐相关的指标非常多,我们主要专注于交付速度,即精益理论中所定义的“流动效率”,相关指标如下:

• 构建速度。

• 回归测试执行时长。

• 前置时间(Lead Time)。

• 在制品(WIP)。

• 缺陷修复时长。

• 缺陷验证时长。

• 需求周期时间。

• 生产周期时间。

• 需求平均交付周期/需求吞吐率。

产出指标

从团队和个体的角度看,我们需要衡量研发工作中所有过程和结果的产出物,以便评估研发活动效率,继而加以改进,相关指标如下:

• 构建次数/集成频率。

• 人均提交代码行。

• 人均关闭需求数。

• 人均关闭缺陷数。

成本指标

在业务发展的上升期,市场占有率占据最重要的位置,成本需要多少就可以投入多少,但随着业务量逐渐增大,进入稳定期后,成本就需要控制了,毕竟粗放式增长的可持续性是不强的。成本的度量主要体现在人和物上,相关指标如下:

• 人均服务器/实例使用数。

• 服务器资源使用率。

• 依赖第三方资源费用。

• 研发测试人员比。

• 项目人员数。

业务价值指标

所有的技术工作最终都要体现在业务价值上,但业务价值相对比较难以量化和标准化,除了保证项目按时按质交付,还需要业务或产品人员介入进行评估,各团队可自行设定KPI,如需求接起率等。此外,准确度也是业务价值的一个可考虑的度量点,它能够反映技术团队是否完整地交付了正确的产品,相关指标如下:

• 净推荐值(NPS)。

• 用户价值产出量。

• 功能采纳率。

• 验收通过率。