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