关于我们
书单推荐
新书推荐
|
软件研发效能权威指南 读者对象:软件研发负责人,研发管理负责人,运维负责人,DevOps负责人,测试负责人,工程效能负责人等
在数字化时代,公司的业务都高度依赖信息技术,研发效能已经成为信息科技企业发展的核心竞争力。研发效能在国内还处于快速探索期,还有一系列非常重要的概念需要澄清,方法和实践需要整理,问题和困惑需要解答。本书试图通过洞悉研发效能提升的底层逻辑,全方位、系统地介绍研发效能的全景。我们希望这本书是研发效能领域的百科全书,能够涵盖效能提升全生命周期的方方面面,在精心设计的逻辑结构组织下,能够对效能实践、效能工具平台、效能度量方法,以及各个行业典型案例等进行全面又有深度的解读。我们希望通过本书帮助更多在研发效能领域持续探索的企业和同行,为软件工程在国内的持续发展做出一点点贡献。
茹炳晟,业界知名实战派软件研发效能和软件质量双领域专家,硅谷先进研发效能理念在国内的技术布道者,现任腾讯Tech Lead,腾讯研究院特约研究员,腾讯技术委员会委员。“研发效能宣言”发起人,IT图书年度最具影响力作者,IT技术领导力互联网行业测试领域领军人物,中国商业联合会互联网应用技术委员会智库专家;多本技术畅销书作者,业界第一本研发效能图书《软件研发效能提升之美》作者,并主持编写多本软件技术白皮书;团体标准“软件研发效能度量规范”核心编写专家;国内外各大软件技术峰会的联席主席,技术委员成员和出品人。
目 录
第一篇 概 述 篇 第1章 研发效能概述 2 1.1 研发效能的定义、目标及解决的问题 4 1.2 研发效能的实践框架 7 1.3 研发效能的实施策略 13 1.3.1 研发效能实施过程中的常见困境 14 1.3.2 明确你在研发效能提升中所扮演的角色 15 1.3.3 清楚应该做什么和不能做什么 16 1.3.4 不躺平、不内卷,行稳致远 26 1.4 研发效能的核心价值观与常见误区 26 1.4.1 研发效能的核心价值观 26 1.4.2 研发效能提升的误区 28 第二篇 研发效能实践篇 第2章 需求及敏捷协作领域实践 33 2.1 业务探索 34 2.1.1 业务探索概述 35 2.1.2 业务探索的价值 35 2.1.3 业务探索的实现 35 2.1.4 业务探索的误区 52 2.2 精益需求 53 2.2.1 精益需求概述 53 2.2.2 精益需求的价值 54 2.2.3 精益需求的实现 54 2.2.4 案例研究:京东的精益需求 59 2.2.5 精益需求的误区及解决方法 61 2.3 实例化需求 62 2.3.1 实例化需求概述 62 2.3.2 实例化需求的价值 63 2.3.3 实例化需求的实现 63 2.3.4 实例化需求实践误区 66 2.4 敏捷协作 67 2.4.1 敏捷协作概述 68 2.4.2 敏捷协作的价值 68 2.4.3 敏捷协作的实现 68 2.4.4 案例研究:京东360评估系统研发团队的敏捷之路 81 2.4.5 敏捷协作的误区 83 2.5 可视化管理 84 2.5.1 可视化管理概述 84 2.5.2 可视化管理的价值 85 2.5.3 可视化管理的实现 85 2.5.4 案例研究:某大型金融机构的可视化管理 89 2.6 规模化敏捷交付 91 2.6.1 规模化敏捷交付概述 91 2.6.2 规模化敏捷交付的价值 91 2.6.3 规模化敏捷交付的实现 91 2.6.4 规模化敏捷实例 95 2.6.5 案例研究:京东购物App千人敏捷实例 106 2.6.6 规模化敏捷的误区 108 第3章 开发领域实践 109 3.1 分支模型 111 3.1.1 分支模型概述 111 3.1.2 分支模型的价值 111 3.1.3 版本控制系统中的基础概念 111 3.1.4 常见的分支模型 112 3.1.5 分支模型的选择 117 3.1.6 案例研究:某大型国有银行分支实践 119 3.1.7 分支模型使用的误区 120 3.2 本地开发 121 3.2.1 本地开发概述 121 3.2.2 本地开发的过程 122 3.2.3 本地开发面临的问题及挑战 123 3.2.4 高效本地开发 124 3.2.5 一线互联网公司本地开发示例 126 3.2.6 小结 129 3.3 云端开发 129 3.3.1 云端开发概述 130 3.3.2 云端开发的价值 130 3.3.3 云端开发的实现 131 3.3.4 案例研究:基于微服务的云端开发 134 3.3.5 云端开发的误区 138 3.3.6 小结 138 3.4 代码评审 138 3.4.1 代码评审概述 139 3.4.2 代码评审的价值 139 3.4.3 代码评审的类型 139 3.4.4 代码评审的内容 140 3.4.5 代码评审的最佳实践 141 3.4.6 案例研究:某一线互联网公司的代码评审案例 142 3.4.7 代码评审的误区 144 3.5 单元测试 144 3.5.1 单元测试概述 145 3.5.2 单元测试的价值 146 3.5.3 单元测试的示例 146 3.5.4 单元测试的原则 148 3.5.5 测试替身 149 3.5.6 案例研究:某一线互联网企业的单元测试应用案例 150 3.5.7 单元测试的常见误区 151 3.6 代码扫描 151 3.6.1 代码扫描概述 151 3.6.2 代码扫描的价值 152 3.6.3 代码扫描的原理 152 3.6.4 代码扫描的应用场景 152 3.6.5 案例研究:某一线互联网公司的代码扫描 154 3.6.6 代码扫描的误区 157 3.6.7 代码扫描的展望 158 3.7 编译构建 159 3.7.1 编译构建概述 159 3.7.2 编译构建的价值 161 3.7.3 编译构建的实现 161 3.7.4 案例研究:基于distcc的分布式编译平台改造 165 3.7.5 编译构建的误区 167 3.8 架构设计 168 3.8.1 架构设计概述 168 3.8.2 架构设计的价值 169 3.8.3 架构设计的实现 169 3.8.4 常见的架构模式 173 3.8.5 架构模式对研发效能的影响 177 3.8.6 案例研究:S公司的微服务“失败”之旅 178 3.8.7 架构设计的误区 182 3.9 低代码应用 183 3.9.1 低代码概述 183 3.9.2 低代码平台7个核心价值 183 3.9.3 低代码平台用户评价指数 184 3.9.4 低代码平台三个核心目的 185 3.9.5 低代码的实现 186 3.9.6 案例研究:某公司低代码研发效能实践 187 3.9.7 低代码平台应用的误区 193 3.10 测试驱动开发 194 3.10.1 测试驱动开发概述 194 3.10.2 测试驱动开发的价值 194 3.10.3 测试驱动开发的实现 195 3.10.4 案例研究 196 3.10.5 测试驱动开发的困境 199 第4章 测试领域实践 200 4.1 测试环境管理 202 4.1.1 测试环境管理概述 202 4.1.2 测试环境管理的价值 202 4.1.3 测试环境管理的实现 203 4.1.4 测试环境管理的误区 208 4.2 自动化验收测试 208 4.2.1 自动化验收测试概述 208 4.2.2 自动化验收测试的价值 209 4.2.3 自动化验收测试的实现 209 4.2.4 案例研究:某头部互联网视频App的自动化验收测试 211 4.2.5 自动化验收测试的误区 212 4.3 自动化接口测试 214 4.3.1 自动化接口测试概述 214 4.3.2 自动化接口测试的价值 214 4.3.3 自动化接口测试的实现 215 4.3.4 案例研究:某能源公司的自动化接口测试 217 4.3.5 自动化接口测试的误区 218 4.4 测试数据管理 218 4.4.1 测试数据管理概述 218 4.4.2 测试数据管理的价值 218 4.4.3 影响测试数据管理的因素 219 4.4.4 测试数据管理的框架 220 4.4.5 测试数据使用效率 223 4.4.6 测试数据管理的挑战 223 4.4.7 案例研究:基于多产品、多环境和多测试场景的测试数据管理 224 4.5 性能测试 225 4.5.1 性能测试概述 225 4.5.2 性能测试的价值 226 4.5.3 性能测试的实践方式 227 4.5.4 性能测试的实践误区 228 4.6 全链路压测 229 4.6.1 全链路压测概念 229 4.6.2 全链路压测的基建 230 4.6.3 京东全链路压侧实践案例 234 4.7 安全测试 235 4.7.1 安全测试概述 235 4.7.2 安全测试的价值 236 4.7.3 安全测试的落地 236 4.7.4 安全测试的误区 240 4.8 精准测试 240 4.8.1 精准测试概述 241 4.8.2 精准测试的价值 242 4.8.3 精准测试的实践 242 4.8.4 精准测试的趋势 247 4.8.5 精准测试的误区 248 4.9 测试中台 249 4.9.1 测试中台的背景 249 4.9.2 开发人员做测试遇到的问题 249 4.9.3 测试中台赋能测试 251 4.9.4 测试中台的全局架构 253 第5章 CI/CD领域实践 255 5.1 持续集成 257 5.1.1 持续集成概述 257 5.1.2 持续集成的价值 258 5.1.3 持续集成的实现 258 5.1.4 案例研究:“这不能称为持续集成” 260 5.1.5 持续集成的误区 261 5.2 持续交付 262 5.2.1 持续交付概述 262 5.2.2 持续交付的价值 264 5.2.3 持续交付的实现 265 5.2.4 案例研究:逐特性发布 266 5.2.5 持续交付的误区 267 5.3 变更管理 268 5.3.1 变更管理概述 268 5.3.2 变更管理的价值 268 5.3.3 变更管理的实现 269 5.3.4 变更管理的误区 281 5.3.5 案例:Meta生产变更案例 282 5.4 部署自动化 283 5.4.1 部署自动化概述 283 5.4.2 部署自动化的好处 284 5.4.3 部署自动化的实施 284 5.4.4 案例研究:某微服务平台产品部署自动化流程 288 5.5 制品管理 291 5.5.1 制品管理概述 291 5.5.2 制品管理的价值 292 5.5.3 制品管理的实现 292 5.5.4 案例研究 306 5.5.5 制品管理的误区 311 5.6 发布策略 311 5.6.1 发布策略概述 311 5.6.2 发布策略的价值 312 5.6.3 发布策略的实现 312 5.6.4 案例研究 321 5.6.5 发布策略的误区 324 5.7 数据库变更版本管理 325 5.7.1 数据库变更管理概述 325 5.7.2 数据库变更管理的价值 326 5.7.3 数据库变更管理的实现 327 5.7.4 数据库变更管理案例 339 5.7.4 数据库变更管理的误区 346 5.8 配置参数管理 347 5.8.1 配置参数管理概述 347 5.8.2 配置参数管理的价值 348 5.8.3 配置参数管理的实现 348 5.8.4 案例研究:别让配置参数管理拖流水线建设的“后腿” 352 5.8.5 配置参数管理的误区 353 第6章 运维领域实践 354 6.1 云原生基础设施 355 6.1.1 云原生基础设施概述 356 6.1.2 云原生基础设施的价值 356 6.1.3 云原生基础设施的实现 357 6.1.4 云原生的技术演进趋势 359 6.1.5 云原生基础设施的达成路径 363 6.2 可观测性 366 6.2.1 可观测性概述 366 6.2.2 可观测性的价值 367 6.2.3 可观测性的实现 367 6.2.4 案例研究:腾讯互娱可观测性平台实践 370 6.3 全景监控 372 6.3.1 全景监控概念 373 6.3.2 全景监控的价值 373 6.3.3 全景监控的实现 374 6.3.4 可观测性与监控 378 6.3.5 案例研究:某人工智能公司在微服务下的全景监控方案 379 6.3.6 全景监控的误区 386 6.4 智能运维 386 6.4.1 AIOps概述 387 6.4.2 AIOps的发展历程 387 6.4.3 AIOps的知识体系 388 6.4.4 AIOps实施的关键技术 388 6.4.5 AIOps的应用场景 391 6.4.6 AIOps的常见误区 392 6.5 混沌工程 393 6.5.1 混沌工程概述 393 6.5.2 混沌工程的价值 394 6.5.3 混沌工程的实现 394 6.5.4 案例研究:Netflix公司的混沌工程实践 400 6.5.5 混沌工程的误区 401 6.6 ChatOps 403 6.6.1 ChatOps概述 403 6.6.2 ChatOps的价值 404 6.6.3 ChatOps的实施核心技术 404 6.6.4 ChatOps的应用场景和未来 407 6.6.5 案例分享 408 6.6.6 ChatOps的常见误区 410 第7章 运营领域实践 411 7.1 运营领域实践概述 411 7.2 运营领域实践的价值 412 7.3 运营领域实践的实现 412 7.4 案例研究:金融行业的运营实践 415 7.5 运营领域实践的常见误区 415 第8章 组织和文化领域实践 417 8.1 敏捷组织 418 8.1.1 敏捷组织概述 418 8.1.2 敏捷组织的特征 419 8.1.3 敏捷组织的实现 423 8.1.4 敏捷组织的误区 427 8.2 故障复盘文化 428 8.2.1 谈故障复盘前,先来看看航空业的安全性 428 8.2.2 复杂系统故障的特点 429 8.2.3 故障复盘的概念 429 8.2.4 故障复盘的价值 430 8.2.5 故障复盘背后的底层逻辑 430 8.2.6 故障复盘的步骤与最佳实践 432 8.2.7 故障复盘常见的误区与应对策略 434 8.3 工程师文化 435 8.3.1 工程师文化概述 436 8.3.2 工程师文化的特征 436 8.3.3 工程师文化的实现 436 8.3.4 工程师文化的案例 437 8.3.5 工程师文化的误区 440 第三篇 研发效能平台篇 第9章 研发效能平台的“双流”模型 442 9.1 传统单点研发效能工具平台面临的挑战 442 9.2 “一站式”和“一键式” 443 9.3 研发效能平台的“双流”模型 444 9.4 总结 446 第10章 自研工具体系 447 10.1 敏捷协作域工具 449 10.1.1 什么是敏捷协作 449 10.1.2 敏捷协作域工具的价值 451 10.1.3 敏捷协作域工具的实现 451 10.1.4 度量与持续改进 463 10.1.5 敏捷协作域工具的误区 464 10.1.6 中农网的多产品线敏捷研发案例 464 10.2 代码域工具 470 10.2.1 代码域工具概述 470 10.2.2 代码域工具的价值 470 10.2.3 代码域工具的实现 471 10.2.4 代码域工具建设的误区 474 10.3 测试域平台和工具 475 10.3.1 测试域平台和工具概述 475 10.3.2 测试域平台和工具的价值 476 10.3.3 测试域工具的实现 477 10.3.4 未来测试域平台和工具前瞻 485 10.4 CI/CD域工具 486 10.4.1 CI/CD域工具概述 486 10.4.2 CI/CD域工具的价值 487 10.4.3 CI/CD域工具的实现 488 10.4.4 CI/CD域工具的发展方向 493 10.5 运维域工具 494 10.5.1 运维域工具概述 494 10.5.2 运维域工具的价值 495 10.5.3 运维域工具的实现 496 10.5.4 X-Ops文化的起源与盘点 497 10.5.5 行业主流运维域工具盘点 498 10.5.6 运维域工具的发展方向 501 10.6 移动研发平台 502 10.6.1 移动研发平台概述 503 10.6.2 移动研发平台的价值 503 10.6.3 移动研发平台的实现 505 10.6.4 移动研发平台的发展方向 512 10.7 一体化协同平台 513 10.7.1 一体化协同平台概述 514 10.7.2 一体化协同平台的价值 518 10.7.3 一体化协同平台的实现 519 10.7.4 一体化协同平台发展方向 523 10.8 代码智能化工具 524 10.8.1 代码智能化工具概述 525 10.8.2 代码智能化工具的价值 525 10.8.3 代码智能化工具的实现与案例 526 10.8.4 总结 533 第11章 开源工具集成 535 11.1 开源工具集成概述 535 11.2 工具集成的价值 536 11.3 开源工具集成的实践 536 11.4 案例研究 538 第四篇 研发效能度量篇 第12章 研发效能度量 546 12.1 度量框架 548 12.1.1 框架概述 548 12.1.2 框架解读 549 12.1.3 框架实现 550 12.1.4 框架应用案例 551 12.2 度量指标体系 552 12.2.1 度量指标体系概述 552 12.2.2 度量指标体系的价值 552 12.2.3 指标体系的设计 552 12.2.3 案例研究:国内某互联网企业的效能指标体系 558 12.2.4 指标体系设计的误区 559 12.3 效能分析 559 12.3.1 效能分析概述 560 12.3.2 效能分析模型 560 12.3.3 案例研究——需求交付周期下钻分析 564 12.3.4 效能分析的误区 566 12.4 度量平台 567 12.4.1 整体架构 567 12.4.2 开源工具与平台 570 12.5 专项度量分析 571 12.5.1 需求价值流分析 571 12.5.2 代码度量分析 578 12.5.3 代码评审度量分析 586 12.6 度量的成功要素 597 12.6.1 把度量引导到正确的方向上来 602 12.6.2 结语 602 第五篇 效能提升案例篇 第13章 效能提升优秀案例 604 13.1 某商业产品效能提升案例 604 13.1.1 研发效能挑战 604 13.1.2 整体改进思路 604 13.1.3 全面效能提升实践 606 13.1.4 全流程数字化度量 627 13.1.5 整体收益 629 13.2 腾讯会议后台研发效能提升之路 630 13.2.1 腾讯会议研发效能建设前概况 630 13.2.2 腾讯会议研发效能改进历程 632 13.2.3 腾讯会议研发效能建设总结与思考 645 13.3 微众银行研发效能建设实践 649 13.3.1 研发效能建设初期 649 13.3.2 研发效能度量平台 649 13.3.3 研发效能数据分析 651 13.3.4 研发效能实践 655 13.3.5 研发效能文化建设 658 13.3.6 实施效果总结 659 13.4 宁波银行规模化敏捷试点案例 660 13.4.1 选型 660 13.4.2 诊断 660 13.4.3 开方 661 13.4.4 治理 663 13.4.5 持续 671 13.5 七场战役,细说长沙银行的数字化研发管理转型之路 672 13.5.1 第一场战役:新核心攻坚战 673 13.5.2 第二场战役:部落划分遭遇战 674 13.5.3 第三场战役:过程透明接触战 678 13.5.4 第四场战役:业务渠道整合战 684 13.5.5 第五场战役,全行协同联合战 686 13.5.6 五场战役的联合成果 689 13.5.7 面向未来,第六、七场战役以价值为先 690 13.5.8 结语 691 13.6 招商银行精益转型之路 691 13.6.1 精益管理体系演进历程 691 13.6.2 核心管理体系和工程体系 693 13.6.3 DevOps工具链设计过程 695 13.6.4 DevOps流水线建设案例 700 13.7 深圳某银行研发效能建设实践 702 13.7.1 选型 702 13.7.2 诊断 703 13.7.3 开方 704 13.7.4 结语 715 13.8 某大型保险集团:组织级效能团队+一线研发团队的研效协同改进实例 715 13.8.1 项目概述 715 13.8.2 效能痛点 717 13.8.3 前期建设情况 717 13.8.4 组织建设:双层结构,保障方向与步调一致 718 13.8.5 试点策略:点面结合,验证共性 718 13.8.6 效能度量体系:由少到多逐步推进 720 13.8.7 改进实践 723 13.8.8 展望 727 13.9 东风集团:DevOps赋能车企第二曲线持续增长 ——嘉为蓝鲸助力东风集团搭建DevOps能力体系 728 13.9.1 万事俱备,只欠东风:DevOps建设前状况 729 13.9.2 东风浩荡,万象更新:DevOps建设过程 730 13.9.3 东风化雨,润泽四方:DevOps建设后成果 741 13.9.4 结语 747 参考文献 748
你还可能感兴趣
我要评论
|