近日, InfoQ 联合极狐 GitLab 组局探讨「研发总是追不上业务需求,除了买工具,还能做什么」。腾讯研发效能资深技术专家张乐老师作为嘉宾,分享了关于研发效能的核心要素和实践过程中的“坑”与“解”等精彩内容。本文整理自张乐老师的分享,Enjoy~
“内卷”是这两年的热词,指持续投入资源,但不产生价值的内部竞争。在软件研发领域,风向已经发生变化,我们正在经历一场从“内卷”到“反内卷”的变革,提升研发效能注定是软件企业的必由之路。
过去一二十年,数字化红利推动一波波增长,互联网、软件行业高歌猛进、快速扩张,用“狂飙”来形容也不为过。
为了更好或更早占领市场,很多企业通过大量堆砌人力、资源和时间,俗称“快、糙、猛”的研发模式,让业务先跑赢,而后置了发展模式是否健康、科学、可持续等问题。
现阶段经济下行,企业经营压力大,不健康的发展方式注定无法长久。因此,众多企业纷纷寻求降本增效。
这个过程类似“湖水岩石效应”:当湖中有很多水,水位很高时,湖中的石块都被水所覆盖,此时即使有很大的暗礁,人们也看不到。但是当水量减少,水面降低时,一些暗礁就暴露出来了。
很多企业已经碰见了这样的“暗礁”,例如相比前两年,人员数量已经翻倍,但交付的业务量和需求量并没有同比增加,甚至下降,因为系统架构越来越复杂,微服务数量越来越多等。这在一定程度上说明,在过去一段时间里,快速增长掩盖了一些真实的问题,即研发效能并没有在上升,可能持平甚至下降。
在这种趋势下,企业已经不能一味地靠堆砌资源来获得工作成果,切实提高工作效率和有效性才是良药,因此,“研发效能”变成了软件企业的核心竞争力。
研发效能究竟是什么?前几年,行业里还缺乏对其的明确定义,比较接近的概念有谷歌的 EP(Engineering Productivity,工程生产力),还有 EE(Engineering Excellence,工程卓越生产力),但是总是没有一个中文词能够达成一个很好的共识。
我在参与翻译 DORA 的 DevOps 年度报告时,遇到了“Software Delivery Optimization Performance”中“Performance”如何翻译的问题。经过与同行的长久探讨,我们发现在业务场景中,它是“绩效”,在软件交付改进与优化的场景,译为“效能”更为妥当。“研发效能”逐渐进入大众视野。
2021 年 10 月,国内首届卓越工程生产力大会(Excellent Engineering Conference)上,我和数十位研发效能和工程生产力专家发布了“研发效能宣言”,该宣言从业务、流程、技术、数据以及组织视角对研发提升给出了价值观的指导。这既是对敏捷宣言的致敬,也是对我们的信念和价值观的呼吁和声明,代表了我们的立场,以及我们认为对研发效能而言什么才是最重要的。
图片来源:书籍《软件研发效能提升实践》,作者张乐、茹炳晟等
我当时画了一张图,最上面是业务目标,下面有两个要素,左边是“理想的功能和质量”,右边是“理想的工作量”,即我们希望用什么样的代价实现什么样的功能和质量。
“理想很丰满,现实很骨感”,我们会发现理想和现实之间经常存在差距,要么是效率上的差距,要么是有效性上的差距。
所以,研发效能 ≠ 研发效率,研发效能既要关注效率,也要关注有效性,或者说既要关注做正确的事情,也要关注正确的做事情,并追求效率。
如一句话来表述研发效能,即研发效能就是更高效(即效率)、更高质量、更可靠、可持续地交付更优的业务价值(即有效性)的能力。对于大型企业而言,还要关注规模化问题,考虑如何管理复杂性。
💡 欢迎点击文末「阅读原文」获取 5 本《中国企业研发高效能白皮书》( CI/CD、ChatOps、企业级软件架构、Code Review、从价值流管理到研发效能管理)完整版合集,开启高效能研发之旅。
如何落地研发效能?在调研了国内外多家公司后,我发现他们无外乎都在关注研发效能的三个维度:效能平台、效能实践和效能度量。因此,我把这三部分整理成模型,称为研发效能「黄金三角」。
图片来源:书籍《软件研发效能提升实践》,作者张乐、茹炳晟等
研发效能黄金三角彼此独立,又相互关联:
通常企业研发效能不高的原因,是没有做好「黄金三角」,例如:
研发效能在实际落地过程中,确实有很多“坑”,举几个常见问题和大家分享:
我们经常看到,一些企业研发效能的优化方向是面向管理者的,如制定各种流程规范、强化项目和研发过程管理、出具各式各样的度量报表、使用各种绩效管理手段等,当然这些也很有价值,但有时忽视了为研发过程中最庞大的群体——工程师提供服务,用一套繁杂的规范去“框住”所有人,往往适得其反。
研发效能的提升要拥抱开发者体验,给工程师提供更明确的目标、更优秀的研发工具、更精简的协作流程,但千万不要过度控制,而要倾听工程师的声音,尊重和发挥个体智慧,这样才能获得更大的创造力和创新力。
研发效能并不缺乏单点能力,各个领域都有很多不错的垂直能力工具,但是把各个单点能力横向继承与拉通,从一站式全流程的维度设计和规划的研发效能平台还比较少。
这样的话,工程师很容易在某个具体单点里做局部优化。在研发效能提升初期,局部优化的效果还是可见的,如将编译时间从 10 分钟缩短到 2 分钟,将部署成功率从 95% 提升到 98% 等,但局部优化效果会随着时间流逝递减,并且从整个研发过程来看,其效果可能是微乎其微,导致看似热火朝天的研发工作,可能只是虚假繁忙。
进入深水区后,能够带来效率大幅度提升的往往是全局优化。所以不要忘记首先考虑全局优化,而不是局部优化;从整体看问题,而不是局部看问题。
我们看到很多工程实践是为了做而做,而不是从本质上认可工程实践价值,比较典型的例子就是代码评审和单元测试。
很多企业在推行代码评审和单元测试,但过程中往往走偏:代码评审变成一个流程,实际评审质量无人问津,评审人的评审不算工作量,也无需承担任何责任等,效果可想而知。
我们缺的不是工程实践,而是工程实践的深度,不要用“伪”工程实践滥竽充数。
和大家分享一个数据,腾讯今年发布的《2022 年腾讯研发大数据报告》中统计到,2022 年,腾讯总计完成 262 万次代码评审,相比 2021 年增长 21.8%,代码评审参与率达到 74.6%,即 3/4 人参与代码评审。当然,参与率高不代表做得好,因此我们新增了一些指标来看产生了多少有价值的沟通:代码评审千行评论数为 15.3 个,也就是说参与代码评审的每 1000 行代码,就有 15 个评论。这说明代码评审这件事,我们是在实实在在地做,而不是表面功夫。
另外在工具上我们也做了很多优化,可以看到在 Code Review 页面上花的时间多久,加载时长如何,是否方便做评审等,真正服务于工程师。
💡 欢迎点击文末「阅读原文」获取 5 本《中国企业研发高效能白皮书》( CI/CD、ChatOps、企业级软件架构、Code Review、从价值流管理到研发效能管理)完整版合集,开启高效能研发之旅。
AIGC 浪潮翻涌,将给各行各业带来颠覆。在研发效能领域,已经有一部分生产级 AIGC 能力,在当前的软件开发专业分工和流程基础之上,去增强每一个环节,即 X + AI。
例如基于注释生成代码,基于代码生成注释,解读代码,被测代码生成测试代码;通过大模型做需求分析、竞品调研、完善格式化需求文档、辅助编写用户故事、生成验收条件等,已经相对落地,可以直接使用。
效果如何呢?我们看到在一些局部领域里,X + AI 能获得 20~50% 甚至更高的效能提升。但如果想有颠覆性突破,例如把当前软件开发的模式或范式进行根本性重构,这种方式可能难以实现。
我畅想在未来,人可能更重视一头一尾:
“反内卷”潮流已经悄然而至,中国企业正在高效能研发的路径上快速前进,研发效能将成为企业核心竞争力,你准备好了吗?
💡 为了解读市场中具有代表性的高效能研发解决方案,极狐 GitLab 联合 InfoQ 研究中心,以中国企业研发高效能为研究对象,发布了 5 本《中国企业研发高效能白皮书》( CI/CD、ChatOps、企业级软件架构、Code Review、从价值流管理到研发效能管理),期待可以帮助中国企业研发团队获得高效能方法论、工具、最佳实践的新认知。
欢迎点击此处获取 5 本《中国企业研发高效能白皮书》完整版合集,开启高效能研发之旅。