持续交付2.0:业务引领的DevOps精要(增订本)
上QQ阅读APP看书,第一时间看更新

在进入正文之前,先谈谈本书的结构和内容。全书共包括3部分内容:第一部分会介绍“持续交付2.0”的双环模型;第二部分主要讨论使用“持续交付2.0”框架时可能遇到的问题,以及改进过程中需要遵循的原则;第三部分主要是案例分享,目的是让读者体会在持续改善过程中,不同企业和团队的实施重点与解决方案的不同。下面我们一起浏览一下各章的具体内容。

第一部分主要讲述“持续交付2.0”双环模型(即持续交付“8”字环)和“持续交付2.0”的4个工作原则,还会介绍两个闭环“价值探索”与“快速验证”的执行步骤与相关原则。

  • 第1章讨论持续交付的发展必然性,并介绍“持续交付2.0双环模型”及其4个基本原则。
  • 第2章讨论“价值探索环”(简称“探索环”)的4个关键环节,以及每个环节的指导原则与实践方法。只有业务方能够以“精益”方式思考,持续交付才能更显威力,否则很可能退缩成为持续交付1.0的单环模式,即只有“快速验证环”。
  • 第3章简单阐述“快速验证环”(简称“验证环”)中各环节的主要活动,并给出各环节的工作方法。

第二部分主要阐述“持续交付2.0”的实施七巧板中,三大主要板块的工作原则与实践方法。这三大板块包括组织机制、软件架构与基础设施。其中组织机制是一个复杂课题,本书仅讨论持续交付所需的文化,以及塑造文化的四步法。组织架构、人才结构、激励机制等内容将在本书的续篇中专题讨论。基础设施部分是产品研发过程中最基础的工作。这部分首先讨论持续交付部署流水线及其工具设计原则,然后分别介绍部署流水线的建立与优化必须关注的五大领域,也就是说,业务需求协作流程、分支与配置管理、构建与环境管理、自动化测试管理以及部署发布与监控管理。

  • 第4章讨论持续交付能力的提升需要企业具有安全、信任与持续改善的组织文化,并介绍丰田公司和谷歌公司用过的组织文化塑造四步法。
  • 第5章讨论软件架构对实现持续交付快速验证能力的重要性、有利于持续交付的软件架构特征,以及软件架构改造的3种模式,即“拆迁”“绞杀”和“修缮”。
  • 第6章讨论如何利用约束理论和精益思想发现流程中的瓶颈,使各角色之间的业务需求协作更加顺畅,提升需求流动速度。
  • 第7章讨论快速验证环所依赖的部署流水线的设计原则与工具链建设草案。
  • 第8章讨论代码仓库的分支方式对持续交付的重大影响,以及不同分支方式下部署流水线的建设方案,最后介绍代码分支的数量对发布策略的影响。
  • 第9章回顾持续集成的历史,并讲解如何判断团队是否在实践持续集成,还给出企业实施持续集成实践的五大步骤。
  • 第10章讨论软件发布以前制订自动化测试策略需要考虑的因素,还介绍持续集成对自动化测试用例的编写与运行要求。最后介绍为了提高自动化测试的投资回报率,团队如何为遗留系统编写和增加自动化测试用例。
  • 第11章讨论软件配置管理,它是持续交付快速验证环的基础。对代码、配置、环境、数据做好配置管理,最终实现一键部署和一键测试,让各角色在协作过程中能够全部实现自动化服务,并且互不影响,解放人的大脑和双手,做更有价值的事情,而让机器做它擅长的事——不断地重复。
  • 第12章讨论降低生产部署与发布风险的技术与方法。
  • 第13章讨论软件在运行时进行数据收集与分析的重要性,以及衡量数据监测环节的衡量指标,包括正确性、完整性和及时性,此外,还介绍测试活动扁平化趋势,以及生产环境上的质量巡检与演习。

第三部分主要是实战案例的分析。它们分别代表不同类型的公司、不同大小的团队以及不同的软件产品特点。我将带你深入案例现场,了解当时状况,分析问题,并提出解决思路。

  • 第14章介绍一个百人工程师的互联网产品团队历经一年时间,如何打造快速运转的“持续交付2.0双环模型”,并且做到可持续运转。
  • 第15章介绍在无法“测试右移”的情况下,一个大项目中的小团队如何改变团队协作模式,从“死亡行军”转变为无缺陷交付。
  • 第16章介绍一个微服务化开发团队如何在项目运行的过程中,通过逐步对基础设施板块中各模块进行改造,提升交付质量与频率,并推动运维人员也做出改变,真正成为一个“DevOps团队”。
  • 第17章介绍提升组织效能的关键点和启动时机,提供一个关于产品研发胜任力的评估框架并给出相关说明。