度量博弈是什么
任何被当作目标的指标都会引出对策:覆盖率可以靠空断言刷高,问题数可以靠批量豁免压低,PR 数量可以靠拆碎提交凑出来,构建时长可以靠跳过测试缩短。这不是团队品德问题,而是指标设计的必然结果。对策是组合指标、随机抽查、只看趋势不做排名,并给改进留出真实可行的路径。
基本信息
| 理论背景 | Goodhart 定律:指标一旦成为目标,就不再是好的度量 |
|---|---|
| 常见手法 | 空断言、批量豁免、拆碎提交、跳过测试 |
| 对策 | 组合指标、随机抽查、趋势优先 |
| 前提 | 必须存在可行的改进路径,否则只能作弊 |
识别与应对
- 覆盖率突增但缺陷没减少:抽查断言质量与变异测试结果
- 问题数骤降但没有修复提交:审计豁免列表与降级记录
- PR 数量上升而交付没变:改看交付结果与前置时间
- 构建变快但线上回归增多:核对必跑测试清单与超时告警
- 指标在不同团队间横向排名:立刻会催生口径调整,改为看自身趋势
- 抽查结果不反馈:抽查形同虚设,需要公开结论与后续动作
抽查机制示例
抽查机制示例
每迭代随机抽 5% 的「已解决」问题复核
豁免条目定期复审(是否仍必要、是否到期)
覆盖率报告与变异测试结果交叉验证
# 抽查结论要有去处:
# - 确认无误 → 记录抽样结果
# - 发现问题 → 回退问题状态并复盘口径指标与博弈手法
| 指标 | 博弈手法 | 对策 |
|---|---|---|
| 覆盖率 | 空断言、忽略标记 | 变异测试抽检 |
| 问题数 | 批量豁免、降级 | 审计豁免列表 |
| PR 数量 | 拆碎提交 | 改看交付结果与前置时间 |
| 构建时长 | 跳过测试 | 必跑清单加超时告警 |
| 缺陷数 | 降低严重级判定 | 抽样复核分级标准 |
只堵不疏必然失效:如果指标要求达不到、又没有任何可行的改进路径,团队除了绕过别无选择。设指标的同时要给出工具、时间与示例,让达标成为可能。
排行比数值更危险:同一指标在团队间横向排名会立刻催生口径调整。改为看自身趋势、看是否比上个季度好,博弈动机自然下降。