
在数字化转型、软件吞噬世界的时代,研发效能已成为企业的核心竞争力。本书系统地阐述研发效能的框架,以及有关管理实践、工程实践、组织实践、技术实践、度量实践、规模化实践和工具落地等方面的内容。希望通过良好的框架设计和组织, 把最前沿、最有成效的研发效能改进和提升案例展现给读者。本书适合IT行业的各类从业人员阅读,无论是技术人员、项目经理、产品经理,还是团队管理人员、资深专家和高层管理者,都能从本书中得到启发。
前 言 我们正身处数字化时代的关键节点上,数字化正在对每一个行业进行着深刻的变革。 自第一次工业革命以来,大约每几十年就有一场新技术主导的革命,就会形成新的技术和管理范式与具有社会影响的新经济。而在每一个时代,都有与之相匹配的工作方式,这种工作方式也会随着时代的变化而不断演进。在人类每一次的努力和进步过程中,都以提高生产力作为最终目标。在过去的200多年间,人们从工厂系统转向泰勒主义和福特主义,随后在石油和大规模生产时代开始推行精益方法。 现在,我们已经进入数字化时代,可以说基本上每家公司都成为信息技术公司,无论是金融支付、移动通讯、疫苗研究,还是新的电动汽车设计等,几乎所有的创新和产品开发都需要信息技术,在这个背景之下,软件研发效能的提升就成为企业发展的重中之重。 目前,全球市值最高的10家公司中,有7家是互联网软件公司,包括微软、谷歌、脸书、亚马逊,以及中国的腾讯和阿里巴巴。相信读者对这些公司并不陌生,可以说我们每天都在使用这些公司的产品。这些公司都有一个共同的特点,就是非常重视软件研发效能或工程生产力的改进提升,关注这个领域的读者应该看到过不少与之相关的技术和实践分享。的确,我们不仅应该关注这些公司在做什么,更有价值的是关注他们是怎么做的,采用了怎样的研发效能提升实践。 在国内,软件研发效能正处在快速发展阶段。从百度指数的统计数据来看,2021年“研发效能”这个词才逐渐成为热搜词,并在更多的场合被提及,也得到了各大公司和实践者越来越多的重视。但行业中还有一系列非常重要的问题需要被回答:研发效能有没有明确定义?它的内涵是什么?有没有系统性的指导框架?有没有纲领式的价值观和指导原则?有哪些关键的落地实践?效能平台应该如何建设?效能度量应该如何开展?组织结构应该如何设计?有没有本土化的成功案例?有没有落地过程中的避坑指南? 带着以上这些问题,我们一起策划并编写了本书。 本书主要内容 本书共分为9篇24章。 第1篇 概述篇,介绍了软件研发效能提出的背景、头部公司的情况,给出了研发效能的定义,进而提炼出研发效能的“黄金三角”模型,并对2021年业界专家一起发布的《研发效能宣言》进行解读。 第2篇 管理实践篇,介绍了以敏捷为基石的研发效能管理实践,对传统行业如何看待敏捷进行了探讨,并提出数据驱动的组织效能提升实践框架。 第3篇 工程实践篇,介绍了以持续交付为基础的研发效能工程实践,并对软件测试如何提效进行了详细展开。 第4篇 技术实践篇,介绍了微服务下的效能提升实践,并对云原生趋势下的DevOps创新进行了详细说明。 第5篇 组织实践篇,介绍了变革领导力和个人能力模型,并对规模化研发效能的部落制组织结构及其落地过程进行了详细探讨。 第6篇 效能度量篇,聚焦在研发效能度量的难点、关键原则和实践框架,并对度量指标体系设计、效能分析方法和度量落地过程进行了全面的阐述,然后分享了蚂蚁集团智能研发洞察实践的完整案例。 第7篇 规模化篇,介绍了具有一定规模的企业如何推进敏捷落地及研发效能提升,并对研发效能中台建设实践进行了展开说明。 第8篇 效能平台篇,介绍了开源、自研两种模式下研发效能工具平台的建设思路;介绍了两个典型的案例,分别是腾讯TEG智研一站式研发效能平台的设计思路和实现过程,以及支持招行精益管理体系落地的工具建设过程。 第9篇 综合案例解析篇,对5个研发效能深度案例进行了详细介绍,分别是银行业的数字化研发管理转型案例、互联网金融App研发效能提升案例、游戏业的研发效能突破案例、电信业的研发效能提升综合案例、互联网大厂中台团队的效能提升案例。 本书各个章节相对独立,建议读者在阅读完概述篇的第1章,即了解研发效能的全貌后,可以按需跳转到所关注领域的章节进行阅读。 致谢 首先,感谢参与本书编写的多位技术专家,正是你们对研发效能行业的热情、源于一线工作的思考和实践,以及无私的分享与贡献精神,才能让本书以较快的速度完成策划、编著和面世。 其次,感谢本书编辑李淑丽,由于本书由多位作者完成,难免在叙述方式和行文风格上存在差异,正是因为你才能让本书以较高的质量出现在读者面前。 最后,要感谢所有致力于软件研发效能研究和提升的同行,本书中的一些灵感也来自行业中的一些公开分享,整个行业的发展也需要大家一起努力,让我们一起加油! 希望读者能够喜欢这本书。由于编著时间所限,文中难免存在一些不完美之处,恳请广大读者多提意见。 另外,在本书编辑的后期阶段,我们同时也启动了研发效能领域更为体系化的梳理和更为广泛的实践案例研究,也已经有了很多不错的成果,这些内容预计会在下一本书中与你见面。毕竟作者水平有限,很多认知也是在实践过程中持续深化,但请相信我们的热情与真诚,持续关注我们后续的分享与相关活动,谢谢! 张乐 茹炳晟 2022年3月
目 录 概 述 篇 第1章 研发效能简述 2 1.1 “反内卷”的潮流已经悄然而至 3 1.2 研发效能成为科技公司的核心竞争力 4 1.3 研发效能在互联网大厂的现状 5 1.4 研发效能要解决的实际问题 6 1.5 研发效能真的能够提升吗 7 1.6 如何促进研发效能提升 8 1.7 研发效能的“罗生门” 10 1.8 研发效能的“冷思考” 12 1.9 研发效能的黄金三角 13 1.10 研发效能宣言 19 1.10.1 业务价值高于职能目标(业务视角) 20 1.10.2 全局流动高于局部优化(流程视角) 21 1.10.3 工程卓越高于工具平台(技术视角) 22 1.10.4 数据思维高于经验沉淀(数据视角) 23 1.10.5 工程师文化高于绩效管理(组织视角) 24 管理实践篇 第2章 研发效能的管理实践 26 2.1 研发过程中的管理挑战 27 2.2 敏捷和精益协作实践 30 2.2.1 实现敏捷协作 30 2.2.2 敏捷流程的专业化与本地化 32 2.2.3 有效的质量管理 41 2.2.4 研发流程自动化/平台化 42 2.2.5 制度与规范 43 第3章 传统企业如何对待敏捷 45 3.1 银行业敏捷现状 46 3.2 对敏捷的认知存在较大差异 51 3.3 到底如何认知敏捷 53 3.4 敏捷的未来 58 第4章 数据驱动的组织效能提升实践 61 4.1 数据驱动组织提效的困境 62 4.2 数据驱动组织提效的钥匙 64 4.2.1 应对管理实践中的阻碍 64 4.2.2 建立正确的数据驱动观 65 4.2.3 储备和培养数字化人才 67 4.3 数据驱动组织提效的框架 68 4.4 软件研发组织提效案例 75 4.5 总结 80 工程实践篇 第5章 持续交付工程实践 84 5.1 整体思路 85 5.1.1 调研 85 5.1.2 作战流程 87 5.2 基础构建能力——环境治理 89 5.2.1 环境稳定性 90 5.2.2 数据丰富度 90 5.3 底层集成能力——原子服务市场 91 5.4 中层调度能力——标准化流水线 93 5.4.1 背景 93 5.4.2 研发模式 93 5.4.3 流水线总览 94 5.5 上层通用能力——研发流程规范 96 5.5.1 全流程 96 5.5.2 研发活动 99 5.5.3 流水线 99 5.6 合作模式 100 5.6.1 合作角色 100 5.6.2 业务落地团队的合作模式 101 5.7 度量指标 103 5.7.1 交付效率 103 5.7.2 交付质量 103 5.8 总结 104 5.8.1 产生的效果 104 5.8.2 “四横二竖” 105 第6章 软件测试效能提升实践 107 6.1 软件功能测试效能提升实践 108 6.1.1 有效的自动化测试策略 110 6.1.2 自动化测试的框架和工具的分类 114 6.1.3 使用好的测试实践 115 6.1.4 使用高效的探索式测试 117 6.1.5 使用适合团队和产品的测试用例管理系统 122 6.2 软件非功能测试效能提升实践(安全、性能与兼容性测试) 126 6.2.1 服务器端性能测试 127 6.2.2 服务器端安全测试 129 6.2.3 兼容性测试 136 技术实践篇 第7章 微服务下的效能提升实践 140 7.1 参与角色 142 7.2 产品定义 144 7.3 敏捷开发和持续迭代 146 7.4 可持续的产品交付 147 第8章 云原生下的效能提升实践 158 8.1 云原生概览 160 8.2 云原生技术下的DevOps创新 162 8.2.1 基于容器的一致性运行环境 162 8.2.2 基于声明式系统的滚动升级方案 164 8.2.3 统一的可观测性方案 165 8.2.4 流水线工具创新 166 8.2.5 基于Tekton构建自动化流水线 167 8.2.6 流程创新 171 8.2.7 GitOps 172 组织实践篇 第9章 变革领导力 176 9.1 领导力思辨 177 9.1.1 为什么现在都喜欢谈领导力 177 9.1.2 领导力和管理 178 9.2 三个领导力建设模型 181 9.2.1 变革领导力模型1:MOI模型 181 9.2.2 变革领导力模型2:领导梯队模型 182 9.2.3 变革领导力模型3:领导力十项修炼模型 184 9.3 数字时代的变革领导者 188 第10章 个人能力模型 189 第11章 组织结构模型 197 11.1 组织结构 198 11.1.1 组织结构的概念及类型 198 11.1.2 组织结构的选择 200 11.2 Adapt产品部落化组织 200 11.2.1 产品部落化组织概览 201 11.2.2 产品部落 201 11.2.3 产品部落设计原则 203 11.2.4 产品部落的特点 203 11.3 如何设计产品部落 206 11.4 产品部落化组织下的项目管理 209 11.5 产品部落化组织下的绩效 210 11.6 产品部落化组织如何高效协同 211 11.7 如何引入产品部落化变革 213 11.8 数字化时代的组织结构 213 11.9 行会案例——教你如何打造行之有效的行会 214 11.9.1 背景 214 11.9.2 面临的问题 215 11.9.3 数据行会应运而生 215 11.9.4 案例小结 219 11.10 某股份行一个部落的划分与进化 219 11.11 展望 222 效能度量篇 第12章 效能度量的体系化落地实践 226 12.1 研发效能度量的难点 228 12.2 研发效能度量的误区 229 12.3 研发效能度量的行业案例和关键原则 238 12.4 研发效能度量的实践框架 247 12.5 研发效能度量的指标体系设计 249 12.6 研发效能度量的常用分析方法 258 12.7 研发效能度量的实施建议 270 第13章 蚂蚁集团集团智能研发洞察实践 277 13.1 问题与挑战 278 13.2 方案与实现 281 13.2.1 研发度量基础设施 281 13.2.2 蚂蚁研发指标体系 284 13.2.3 综合评价模型体系 287 13.3 实践与效果 288 13.3.1 公司级提效 289 13.3.2 团队级改进 290 13.3.3 研发活动洞察 291 13.3.4 外包效能提升 292 规 模 化 篇 第14章 敏捷的规模化实践 296 14.1 为什么讨论敏捷的规模化 296 14.1.1 什么是敏捷的规模化 297 14.1.2 什么是敏捷的规模化效能 298 14.2 敏捷的规模化效能方法 298 14.2.1 人的效能 298 14.2.2 流程的效能 304 14.2.3 工具的效能 318 14.2.4 变革的效能 322 14.3 敏捷的规模化效能全景图 326 第15章 研发效能的规模化实践 328 15.1 IT扩张的困境 329 15.2 腾讯:从头到脚的敏捷 330 15.3 进退两难的研发效能部门 332 15.4 研发效能规模化提升的几个阶段 334 第16章 研发效能中台建设实践 337 16.1 为何要做研发效能中台 338 16.2 构筑稳健底座——工具层 339 16.3 规模化研发效能的前提——规范层的建设 346 16.4 最终的价值体现——管理层的建设 348 16.5 是自建还是采购 351 效能平台篇 第17章 研发效能的工具平台 354 17.1 开源工具平台体系搭建实践 354 17.1.1 工具选型指标 355 17.1.2 常用的开源工具 357 17.1.3 开源工具分析 358 17.1.4 开源工具平台的搭建方式 361 17.2 自研工具平台搭建实践 365 17.2.1 自研工具平台需求分析 366 17.2.2 自研工具选型 368 17.2.3 自研工具平台搭建 369 17.2.4 实施经验总结 374 第18章 腾讯TEG的研发效能平台建设 380 18.1 产品化设计理念 381 18.2 一站式 382 18.3 一键式 383 18.4 降低初始使用门槛 384 18.5 对业务研发全流程支持方式的选择 386 18.6 关键的几个设计点 388 18.6.1 “应用”的概念 388 18.6.2 需求管理能力 392 18.6.3 代码管理能力 394 18.6.4 多环境能力 397 18.6.5 测试能力 401 18.6.6 部署能力 403 18.6.7 监控日志能力 406 18.7 总结 409 18.8 其他探讨 410 第19章 招行支持精益管理体系落地的工具平台建设 412 19.1 招行精益管理体系的理论和工具演进 413 19.1.1 精益管理体系的演进历程 413 19.1.2 核心管理体系和工程体系 414 19.1.3 管理体系与工具平台结合的重要性 417 19.2 招行DevOps工具平台的设计过程 418 19.2.1 培育产品思维,划分业务领域,明确产品生命周期 418 19.2.2 分解组织愿景,规划年度目标和成效衡量指标 419 19.2.3 根据成效衡量指标,针对产品制定投资组合,确定年度 重点专题和特性 420 19.2.4 确定MVP,做好迭代规划,确定做正确的事 420 19.2.5 持续交付与运营,把事情做正确,多层的用户反馈体系 421 19.2.6 上线后的成效分析和价值衡量 423 19.3 展望 423 19.3.1 全面整合、打通、提升开发人员的体验 423 19.3.2 定制化、内部开源、千人千面 423 19.3.3 全方位的产品运营 424 19.4 总结 424 综合案例解析篇 第20章 4场战役,细说KL银行的数字化研发管理转型之路 428 20.1 第一场战役,部落划分遭遇战 429 20.1.1 部落制的引入和运行 429 20.1.2 数字化人才地图 434 20.2 第二场战役,过程透明接触战 436 20.2.1 建立统一的3层需求任务精细化管理体系,统一价值 交付口径 436 20.2.2 透明数字化交付管理全过程 438 20.2.3 效能分析:高效协同,持续改进 440 20.3 第三场战役,业务渠道整合战:部落结构优化 441 20.4 第四战,全行协同联合战 444 20.4.1 全行协同,迭代同频 445 20.4.2 从全量承诺到价值优选,控制在制品,加速需求流动 445 20.4.3 引入需求漏斗模型,数字化管理需求各阶段的流动情况 446 20.5 4场战役的联合成果 448 第21章 京东金融App研发效能提升之路 450 21.1 研发效能第一性原理 450 21.1.1 软件工程标准:本质 451 21.1.2 研发效能双飞轮 454 21.2 京东金融App研发面临的挑战 455 21.2.1 京东金融App业务和软件架构介绍 455 21.2.2 京东金融App发布版本面临的挑战 456 21.3 京东金融App的BizDevSecOps之路 458 21.4 京东金融App的研发效能成果 473 第22章 把效能带到游戏里!仙峰红海蜕变突破之路 474 22.1 概述 475 22.1.1 手游行业的蓝海与红海 475 22.1.2 生存危机再度袭来,游戏创新速度如何赶上市场需求? 475 22.2 仙峰:要把效能带到游戏行业里中 475 22.3 问题诊断,对症下药 476 22.3.1 对齐管理层的期望和诉求 477 22.3.2 对试点团队的调研摸底 477 22.3.3 分析现状产生的影响 478 22.3.4 从现状和影响挖掘原因 479 22.3.5 分析原因,找到问题的根本解 480 22.4 实践落地,初见成效 481 22.4.1 建立团队高效协作基础 481 22.4.2 建立明确的节奏,进行高质量交付 483 22.4.3 建立以业务目标为导向的规划机制 485 22.4.4 建立度量反馈的持续改进机制 486 22.4.5 建立跨团队协作机制,为规模化做准备 490 22.4.6 初见成效,交付速度明显提升 491 22.5 持续探索研发效能提升实践:OKR落地和数据效能洞察 491 22.5.1 探索和梳理策划案的业务流程 491 22.5.2 目标和策略对齐 492 22.5.3 DevOps工程实践 493 第23章 电信行业研发效能提升综合案例 495 23.1 案例综述 495 23.2 案例背景 496 23.3 案例实施 497 23.3.1 全栈工程师培养 497 23.3.2 DevOps实践 500 23.3.3 大规模敏捷协同 506 23.3.4 研发效能度量体系 511 23.4 案例总结 514 23.4.1 效能和收益 514 23.4.2 经验和教训 515 第24章 中台型团队效能提升的挑战、破局和实践 517 24.1 中台做不好真的生死攸关吗 517 24.2 为什么做好中台这么难 518 24.3 寻找中台型团队提效的10倍改进机遇 519 24.4 提效第一曲线:如何跑通特种兵模式 521 24.5 提效第二曲线:探索中台服务化能力提升 532