第02章 KPI 与研发绩效的关系
讨论 KPI 和研发绩效的关系之前,要先回答一个更基础的问题:
研发到底是什么?
如果把研发理解成“接需求、写代码、按期上线”,那 KPI 似乎天然适合研发管理:需求按期交付率、缺陷数、代码行数、工时利用率、上线次数、版本达成率,都可以被量化。
但这个理解太窄了。
研发并不是简单的任务执行。更准确地说:
研发是把不确定性问题,通过科学验证、工程方法和系统实现,逐步转化为可交付、可复用、可规模化能力的过程。
这里面至少包含三个环节:
| 环节 | 解决的问题 | 典型活动 |
|---|---|---|
| 探索 | 问题和方向是否成立 | 识别问题、提出假设、寻找路径 |
| 验证 | 方案是否可行 | 原型、实验、测试、评审、数据验证 |
| 实现 | 能力是否可靠交付 | 工程开发、质量保障、上线、沉淀复用 |
写代码只是其中的实现环节。研发真正的价值,很多时候发生在更早的探索和验证阶段。
这也是 KPI 和研发之间产生张力的根源:KPI 通常是提前制定的,而探索和创新的价值,往往是在过程中逐渐显现的。
提前制定的 KPI 更擅长衡量确定性执行,却很难完整反映探索和创新两类工作:
- 探索阶段,目标本身可能还需要被重新定义;
- 创新过程,技术路线可能需要反复试错;
- 关键价值,可能来自一次突破,而不是稳定产出数量;
- 重要结论,可能是证明某条路线不成立,从而避免更大浪费。
所以,讨论研发绩效时,如果直接从 KPI 开始,就会把问题带偏。
因为 KPI 不是研发绩效本身。KPI 只是绩效体系中的一种表达形式,是用来观察和校准的指标,而不是用来替代判断的答案。
一个基本判断
KPI 不等于研发绩效。
更准确地说:
| 层级 | 解决的问题 | 典型问题 |
|---|---|---|
| 目标 Objective | 我们要解决什么问题 | 为什么做 |
| 绩效 Performance | 我们做得好不好 | 做得是否有效 |
| 指标 Metric / KPI | 用什么观察 | 如何量化观察 |
KPI 的位置在最下面。它服务于目标和绩效判断,而不是反过来支配目标和绩效判断。
如果一个团队还没有说清楚“当前研发工作的目标是什么”“什么叫做做得好”,就直接开始设计 KPI,这个 KPI 大概率会变成形式主义。指标会被完成,但问题不一定被解决。
KPI 在研发中的真实作用
KPI 更像仪表盘,而不是方向盘。
仪表盘可以告诉你速度、水温、油量、告警状态,但它不能替你判断要去哪里,也不能替你选择路线。研发管理也是一样。KPI 能帮助团队观察状态、发现偏差、触发复盘,但不能直接替代对研发工作的专业判断。
一个合理的顺序应该是:
研发问题 -> 探索验证 -> 工程实现 -> 绩效逻辑 -> 可观测指标而不是:
先定 KPI -> 团队围绕 KPI 找事情做前者是用指标服务问题,后者是让问题服从指标。
为什么研发 KPI 经常失效
研发工作和销售、运营、制造等工作不同。很多研发活动并不是简单的确定性执行,而是在不确定性中寻找可行路径。
研发 KPI 失效,通常不是因为 KPI 这个工具本身错误,而是因为团队把确定性工作的管理方法,直接套到了不确定性研发活动上。
常见原因有四类。
1. 结果滞后
研发投入的效果经常不是当期体现。
一次架构改造、一个技术债清理、一个平台能力建设,可能当月看不到直接收益,但会影响后续半年甚至更长时间的交付效率和质量。如果只看短期交付数量,团队就会倾向于选择“马上能交差”的事情,而不是“真正该解决”的事情。
2. 路径不确定
研发不是所有任务都能提前拆清楚。
尤其是 0 到 1 的探索阶段,问题本身可能还没有被充分定义,技术路线也可能需要验证。这个阶段如果用“按计划完成率”强压团队,团队会自然地回避难问题,选择容易完成、容易汇报、容易被量化的工作。
这也是提前制定 KPI 的天然局限:KPI 假设目标和路径已经足够清楚,但研发探索恰恰是在目标和路径还不够清楚时,通过验证把它们逐步变清楚。
3. 价值非线性
研发价值往往不是线性累加。
十个小优化的价值,不一定比一次关键技术突破高。一个核心瓶颈被解决,可能打开整个产品或业务的增长空间;而大量边角需求按期完成,可能只是让报表看起来很好。
如果 KPI 只统计数量,就会奖励“多做可数的事”,而不是“做成关键的事”。
4. 质量有隐藏成本
研发质量问题往往有延迟性。
当期为了赶进度留下的技术债、架构绕路、测试缺口、异常处理缺失,可能不会马上爆发。但它会在后续迭代中持续放大,表现为交付越来越慢、缺陷越来越多、修改越来越难。
如果 KPI 只奖励短期交付,就会把长期成本从绩效表里隐藏掉。
研发绩效不能只看结果
研发当然要看结果,但不能只看结果。
因为研发结果受很多因素影响:需求质量、外部依赖、技术不确定性、组织协同、历史包袱、资源约束。只看最终是否成功,会把复杂问题简化成“个人努力不努力”或“团队能力行不行”。
更合理的判断方式,是同时看三件事:
| 维度 | 核心问题 | 观察重点 |
|---|---|---|
| 方向 | 做的事情是否正确 | 假设是否被验证,路线是否合理 |
| 节奏 | 推进过程是否有效 | 是否阶段性收敛,是否暴露阻塞 |
| 风险 | 未来成本是否可控 | 质量、技术债、稳定性、可维护性 |
也就是说,研发绩效不是单纯的“结果完成情况”,而是团队把不确定性逐步转化为确定性的能力。
这种能力具体表现为:能不能识别真正的问题,能不能提出有效假设,能不能用工程和科学方法验证假设,能不能在验证成立后把方案实现为可靠系统,能不能把一次项目经验沉淀为长期能力。
常见误区
误区一:用 KPI 直接替代绩效判断
最典型的说法是:“完成率高,所以绩效好。”
这在研发中并不总是成立。完成率高,可能说明团队执行力强;也可能说明目标定得低、问题选得简单、复杂风险被推迟了。
研发绩效评价必须追问:完成的事情是否重要?是否真的解决了问题?是否留下了更大的后续成本?
误区二:用统一 KPI 管所有研发团队
平台团队、业务交付团队、算法团队、基础架构团队、硬件团队、测试团队,工作的确定性、交付形态和价值表现都不一样。
如果用同一套 KPI 管所有团队,结果往往是指标看起来统一,实际却不公平,也不有效。
绩效指标应该来自团队所处阶段和承担责任,而不是来自统一模板。
误区三:用短期 KPI 驱动长期能力
很多研发问题本质上是长期能力问题,比如架构演进、工程效率、自动化测试、平台化、知识沉淀、技术风险治理。
这些事情如果完全用短期产出衡量,就很容易被挤压。最后组织会陷入一个循环:短期交付压力越大,越没时间建设长期能力;长期能力越弱,短期交付越痛苦。
误区四:把指标当成控制工具
指标一旦变成强控制工具,团队就会围绕指标博弈。
考核缺陷数,团队可能减少暴露问题;考核上线次数,团队可能拆碎发布;考核需求完成率,团队可能降低需求难度;考核工时饱和度,团队可能填满日程但不解决关键问题。
这不是团队道德问题,而是管理系统设计问题。任何指标被强绑定到奖惩后,都会改变人的行为。
KPI 应该怎么用
KPI 在研发绩效中仍然有价值,但它应该被放在正确的位置。
1. KPI 用来观察,不用来替代判断
指标可以提示异常,但不能直接给出结论。
例如缺陷数上升,可能说明质量变差,也可能说明测试覆盖增强、问题暴露更充分。需求延期,可能是执行问题,也可能是前期假设错误被及时发现。
指标负责提出问题,管理者和团队负责解释问题。
2. KPI 要和阶段匹配
不同阶段适合不同强度的 KPI。
| 阶段 | 工作特征 | KPI 强度 |
|---|---|---|
| 0->1 探索 | 高不确定性,路线未验证 | 弱 KPI,强验证 |
| 1->10 验证 | 路线逐步清晰,需要收敛 | 里程碑 + 质量指标 |
| 1->100 规模化 | 路径相对确定,重效率 | 强 KPI,重效率和稳定性 |
越不确定,越不能用单一结果 KPI 压制探索;越确定,越应该用指标提升效率和一致性。
3. KPI 要能解释行为质量
好的研发 KPI 不只是统计结果,还要能帮助判断行为质量。
比如“关键假设验证完成率”比“任务完成率”更适合探索阶段;“严重缺陷闭环周期”比“缺陷数量”更能反映风险处理能力;“复用率、自动化覆盖率、技术债清理完成度”可以帮助观察长期能力建设。
4. KPI 要防止单点激励
单一指标很危险。研发绩效至少要用组合指标观察。
例如交付效率必须和质量一起看,质量必须和业务影响一起看,短期结果必须和长期能力一起看。否则团队很容易在一个指标上做得很好,同时在另一个地方透支组织能力。
小结
KPI 不是问题,把 KPI 当成研发绩效本身才是问题。
研发绩效的核心不是“有没有完成某个数字”,而是团队是否有能力把不确定性问题,通过探索、验证和工程实现,转化为可靠的系统能力。
因此,KPI 在研发中的定位应该是:
它是观测工具,不是控制工具;是绩效判断的输入,不是绩效判断本身。
相关内容
支付宝
微信