内容提要
文章指出,多数软件工程KPI衡量的是产出而非业务影响,因此无效且容易被钻空子。作者建议区分工程健康指标与KPI:用DORA、SPACE、DevEx跟踪开发周期、错误率和满意度;另设与公司价值对齐、衡量实际业务影响的KPI。两套指标都表现良好,才代表真正高效的工程团队。
延伸解读
产出指标为何容易失效
文章指出,工程领导者常选择故事点、拉取请求数等产出指标,因为它们容易衡量,但这类指标无法反映实际业务影响。作者引用 Goodhart 法则警告:一旦设定此类指标,人们就会钻空子,Uber 的案例即为例证。因此,仅关注产出不仅无效,还可能扭曲团队行为。
健康指标与 KPI 应分开管理
作者建议将工程健康指标与业务 KPI 区分开。DORA、SPACE 和 DevEx 框架适合设定健康指标,如开发周期、错误率和工程师满意度。这些指标反映工程设置是否良好,但不直接代表业务推动。CTO 可单独监控健康指标并视情况改进,而 KPI 则用于衡量业务影响。
业务影响 KPI 需对齐公司价值
业务影响 KPI 因公司而异,但通用思路是从公司价值角度衡量每个产品或工程变革,评估是否实现预期目标及与其他任务的对比。亚马逊的“客户至上”理念是变体,从客户价值而非金钱衡量。对齐业务价值的 KPI 能让全员理解进展,并支持高层追踪工程影响、做出投资和绩效决策。
两套指标均高才代表高效
文章强调,只有健康指标和业务影响 KPI 都表现良好,才意味着真正高效的工程团队。如果组织仍用产出指标评估工程,作者建议重新思考,将工程与公司愿景结合,依据实际商业贡献衡量进展。软件工程仍是新兴领域,评估方法仍在摸索中。
Q&A
为什么说大多数软件工程KPI是无效的?
因为它们衡量的是产出(如故事点、拉取请求数量)而非业务影响,无法提供有效信息,且容易被人钻空子(Goodhart法则)。
工程健康指标和KPI有什么区别?
工程健康指标关注开发周期、错误率、工程师满意度等,反映团队运作状况;KPI则衡量业务影响,需与公司价值对齐。两者应分开设定和监控。
有哪些推荐的工程健康指标框架?
DORA、SPACE和DevEx是广受尊敬的框架,可用于设定有效的健康指标,如开发周期、错误率和工程师满意度。
如何设定衡量业务影响的KPI?
从公司价值角度衡量每个产品或工程变革,评估是否实现预期目标并与其他任务对比。可参考亚马逊的客户至上理念,选择与商业愿景相符的指标。
为什么工程KPI容易被人钻空子?
根据Goodhart法则,一旦设定指标,人们就会开始钻空子。例如Uber采用产出指标后出现了行为扭曲。
高效的工程团队应该具备什么特征?
同时具备高水平的工程健康指标和与业务价值对齐的KPI,两套指标均表现良好才代表真正高效的工程部门。