3.4.1 选择度量指标
我们一共总结了五类研发效能的度量指标,下面详细展开讲解。
质量指标
前面我们提到,希望在保持快速反应、拥抱变化的同时交付高质量的产品,因此对于质量的度量应予以高优先级考虑。从时间角度划分,质量可以分为过程质量和交付质量。在过程质量中,主要关注缺陷、性能和安全问题,以及动态跟踪质量问题;而在结果质量中,主要通过分析已经产生的质量问题和风险进行改进和优化。总体上,质量指标作为衡量交付物质量的手段,可包含如下项目:
• 千行代码缺陷率。
• 万行代码线上事故数/万行责任事故。
• 缺陷密度。
• 缺陷燃尽图/缺陷存量。
• 提测冒烟通过率/提测驳回率。
• 高优先级缺陷占比。
• 线下缺陷与线上事故比值。
• 性能/资源使用率。
• 安全漏洞发现数。
• 生产可用性时长/宕机时长。
• 生产发布回滚率。
交付吞吐指标
在保证质量的前提下,交付速度和交付效率是我们希望持续提升的重点。由于项目交付涉及软件工程全周期的工作,与交付吞吐相关的指标非常多,我们主要专注于交付速度,即精益理论中所定义的“流动效率”,相关指标如下:
• 构建速度。
• 回归测试执行时长。
• 前置时间(Lead Time)。
• 在制品(WIP)。
• 缺陷修复时长。
• 缺陷验证时长。
• 需求周期时间。
• 生产周期时间。
• 需求平均交付周期/需求吞吐率。
产出指标
从团队和个体的角度看,我们需要衡量研发工作中所有过程和结果的产出物,以便评估研发活动效率,继而加以改进,相关指标如下:
• 构建次数/集成频率。
• 人均提交代码行。
• 人均关闭需求数。
• 人均关闭缺陷数。
成本指标
在业务发展的上升期,市场占有率占据最重要的位置,成本需要多少就可以投入多少,但随着业务量逐渐增大,进入稳定期后,成本就需要控制了,毕竟粗放式增长的可持续性是不强的。成本的度量主要体现在人和物上,相关指标如下:
• 人均服务器/实例使用数。
• 服务器资源使用率。
• 依赖第三方资源费用。
• 研发测试人员比。
• 项目人员数。
业务价值指标
所有的技术工作最终都要体现在业务价值上,但业务价值相对比较难以量化和标准化,除了保证项目按时按质交付,还需要业务或产品人员介入进行评估,各团队可自行设定KPI,如需求接起率等。此外,准确度也是业务价值的一个可考虑的度量点,它能够反映技术团队是否完整地交付了正确的产品,相关指标如下:
• 净推荐值(NPS)。
• 用户价值产出量。
• 功能采纳率。
• 验收通过率。