首页 / 业界 / 正文

研发效能从来不是算出来的报表数字

上周跟一个在大厂做了7年后端的朋友吃饭,他把手里的冰可乐捏得哐哐响。说最近团队又上了新的效能平台,要求每天填的工时颗粒度要到15分钟,连等代码评审的时间都要单独选标签。我当时夹菜的手顿了顿,想起前几年见过的一堆把研发效能搞成填表工程的团队。

算出来的效能,多半是假的

很多团队一开始推研发效能,第一反应是拉一堆可量化的数据做看板。提交代码的次数、需求从进入排期到上线的周期数、线上故障的触发次数,挨个列出来,给每个研发算贡献分,好像分数越高,团队的效能就越好。 有个团队之前真的这么干过。把代码提交量直接算进个人效能考核,结果没到半个月,大家为了凑数,把本来可以一次提交的功能拆成七八次小提交,git log翻开来全是“修复格式”“调整注释”“补个空格”这种无意义的记录。最后真的要排障的时候,翻提交记录找问题找半小时,反而比之前大颗粒度提交的时候效率低了一大截。 所有可以被人为凑出来的指标,本质上都跟真实的研发效能没有关系。
研发团队git提交记录杂乱截图
麻烦在于很多管理者把“看得见的数字”等同于“真实的产出”。就像你不能靠一个人每天在工位坐了多少小时,判断他写了多少能稳定上线的代码。有人坐满12小时,一半时间在刷技术帖摸鱼,真正沉下心写代码的时间可能不到3小时;有人每天准点下班,手里接的需求从来没延期过,线上故障率比团队平均水平低一大截。这种差异,根本不是靠填几张报表就能算清楚的。

效能提升的核心是减少无意义的内耗

真正的研发效能提升,从来不是逼着大家多挤时间写代码,是把那些本来不该研发花精力的事给砍掉。 之前接触过的一个早期创业团队,一开始没有搭统一的CI/CD流程,每次上线要找运维、测试、产品三个人拉群对时间,光等排期就要等两三天。研发真正写代码的时间,其实只占整个交付周期的20%不到。后来他们花了两周时间把自动部署的流水线搭好,测试环境自动触发回归用例,上线只要点一下按钮,整个交付周期直接砍到原来的三分之一,所有人的加班时间直接少了一半。根本没逼着大家提速,就是把那些卡流程的堵点给通了。 很多团队一开始搞效能建设,上来就买一堆昂贵的管理系统,要求每个人填各种维度的报表,反而给研发加了新的负担。你给研发加的每一项非必要的填报要求,本质上都是在消耗原本可以用来写代码的精力。
研发团队CI/CD流水线配置界面截图
研发团队CI/CD流水线配置界面截图
有次跟一个前端负责人聊天,他说他们团队之前为了赶版本,大家连续三周每天加班到11点,结果版本上线之后,因为赶工写的代码没做封装,后面每加一个小功能,都要把之前的老代码翻出来改一遍,前后花了两个月的时间补之前欠下的技术债,算下来整体的产出比不加班慢慢做还要低。说白了,效能不是看某一个时间点冲出来多少量,是看你整个团队从需求进来,到代码上线,再到后续维护的全链路里,有没有反复走冤枉路。

好的效能从来不需要靠考核逼出来

不少人觉得研发效能要靠严格的考核落地,要给每个人定死KPI,完不成就扣绩效,好像这样就能把大家的潜力逼出来。其实根本不是。 研发工作的核心产出,是藏在代码里的业务逻辑、是对场景边界的判断、是遇到线上故障时能快速定位问题的经验,这些东西根本不是靠定几个数字指标就能逼出来的。你给一个研发定目标,说这个月要交付10个需求,他为了完成目标,可能会把那些复杂的、需要跨团队协调的需求往后推,专挑简单的、容易出成绩的做,最后看起来KPI完成得很漂亮,实际上业务最需要的核心问题根本没解决。 有个团队之前试过把研发的绩效和需求交付数直接绑定,结果发现大家都不愿意接那种需要重构老系统的需求——这种需求写出来的代码不会立刻有用户感知,但是如果不做,后面系统会越来越卡,最后整个迭代速度都会被拖慢。后来他们调整了规则,把技术债偿还的占比提到绩效的30%,还专门留了每周半天的无会议时间,让大家可以专心处理之前的老问题,过了三个月,整个团队的交付速度反而比之前快了一大截,大家也不用天天为了凑KPI互相抢简单需求了。 我之前特别烦那种一上来就跟你说“我们要通过效能提升把人效提高30%”的空话,好像研发团队之前全在摸鱼一样。实际上大部分一线研发的付出,根本没被那些冷冰冰的指标算进去——比如有人花了一下午时间帮别的同事排查一个难搞的线上问题,避免了可能的大额损失,这种事在报表上根本不会有任何记录;比如有人把团队里常用的工具封装成了通用组件,让后面所有人做类似需求的时间都少了一半,这种贡献在只算交付数量的考核体系里,甚至可能被判定为“没有产出”。 前几天看到有人在技术社区发帖子,说自己的团队现在搞研发效能,要求每个人每天的工作汇报必须包含“效率提升了多少百分比”,他写的是“今天写代码的时候没有被临时的会议打断,效率比昨天高了20%”,结果被主管打回来,要求写清楚具体的提升成果。看到的时候我真的笑了。 这事没那么玄。研发效能从来不是什么高大上的管理概念。你要是能让研发每天少开两个没用的会,少填三个没必要的表格,少被临时插两次跟当前需求无关的任务,大家的效能自然就上来了。你要是天天想着怎么用一套系统把每个人的工作都管得死死的,算得明明白白,那最后算出来的根本不是效能,是一堆用来应付考核的漂亮数字而已。