8.5 一份增量式采用路线图
概述与动机
本主题以每一位读到这里的读者很可能都在问的问题,为第8部分、也为本书的实质性内容收尾:鉴于本书所涵盖的一切,四十五个主题横跨交付、开发者体验、代码质量、业务结果、可靠性、安全,以及人工智能时代的转变,一个组织究竟应该从哪里开始。本主题给出的诚实答案是:不要同时从各处开始。一次试图把本书全部范围一次性推行的尝试,直接违反了主题 8.3 的核心指导,因为一夜之间引入的一套宽泛、全面的指标项目,恰恰是那种会激起恐惧和操纵、而不是信任的变革。
本主题转而提供一条具体的、分阶段的顺序,建立在本书自始至终重复的一个简单、一贯的原则之上:从基础开始,在一个狭窄的范围内证明价值,然后刻意地扩展,绝不为了直接跳到复杂、全面的指标而跳过主题 1.4 和主题 8.3 所涵盖的治理和文化信任工作。这种排序不是任意的;它遵循的是本书各部分自身所确立的依赖结构,第1部分的基础确实必须放在最前面,因为后面的每一部分,都假定了主题 1.1 到主题 1.6 所确立的治理、结果导向和统计素养已经就位。
对大团队而言,一份分阶段的路线图,正是让本书的全部范围变得可实现、而不是令人应接不暇的东西。企业组织可以用本主题的排序,来规划一次真正跨越多个季度或多年的指标项目推行,配以现实的里程碑;常常需要向一个预算或监督流程增量地、而不是作为一次单一大额请求来论证指标投资正当性的政府组织,可以把本主题的各个阶段当作自然的检查点,用来展示价值、请求持续投资。
核心原则
- 基础永远优先。 治理(主题 1.4)、结果导向(主题 1.3)和文化建立信任的工作(主题 8.3),不能为了直接跳到复杂的指标而被跳过。
- 在扩展之前,先在一个狭窄的范围内证明价值。 一个被做得好、被信任的单一团队或单一指标家族,比一次做得糟糕的全面推行是更牢固的基础。
- 按依赖关系排序,而不是按感知到的重要性排序。 本书中的一些指标家族,依赖于其他主题先确立的基础工作。
- 每个阶段都应当产生一个可证明、可报告的结果, 用以论证对下一阶段继续投资的正当性。
- 这是一份需要调整的路线图,而不是一份僵化、放之四海而皆准的处方。 你组织具体的起点和优先级,应当塑造实际的节奏。
建议
第一阶段:基础与治理(第1部分)
在为任何一个单项指标家族做埋点之前,先建立起主题 1.4 所描述的治理纪律:一份指标章程模板、一项清晰的诊断性与评价性政策(主题 1.1),以及主题 1.6 的统计素养基础知识,与所有将要解读这些数据的人共享。这个阶段还不会产生任何仪表盘;它产生的是后面每一个阶段都要依赖的组织性基础工作。为了更快前进而跳过这个阶段,是本书的指导在实践中被削弱的单一最常见方式,因为后面的每一项指标,都会继承这个阶段所确立的治理质量,或它的缺失。
第二阶段:单一试点团队,DORA指标,仅供诊断使用(第2部分)
选定一个团队,理想情况下是一个愿意配合、积极参与的团队,而不是一个被强制指派的团队,用自动化埋点(主题 1.5)而不是自我报告,为第2部分的DORA指标做埋点,直接遵循主题 8.3 建立信任的指导,采取纯粹的诊断模式。在扩展之前,至少运行满一个完整的季度,并把它当作一个试验场,用来检验你的治理章程模板和你的仪表盘设计方法(主题 8.1),然后再决定在更广泛的范围内投入使用其中任何一项。
第三阶段:在全组织范围内扩展交付指标,加入开发者体验(第2部分、第3部分)
一旦这次试点证明了真正的价值,以及关键的一点,持续的信任(没有发生滥用事件,或者依据主题 8.3 的指导,一起事件被妥善处理了),就把DORA埋点扩展到更多团队,并在全组织范围内引入第一次开发者体验调查(主题 3.7)。这个阶段正是诊断性与评价性纪律在规模上面临第一次真正考验的地方,在这里细致地维持它,为随后的一切定下基调。
第四阶段:代码质量与结果指标(第4部分、第5部分)
在交付和开发者体验的基础已经建立、并被信任之后,加入第4部分的代码质量指标,优先把热点分析(主题 4.3)和技术债务跟踪(主题 4.5)作为杠杆最高的起点,并开始构建主题 7.4 所论证的、最终应当成为你项目重心的结果遥测基础设施,从逃逸缺陷率(主题 5.1)和功能采用(主题 5.2)开始,作为最容易先做埋点的结果指标。
第五阶段:可靠性、安全与人工智能时代的重新校准(第6部分、第7部分)
为你最关键的服务建立正式的服务水平目标和错误预算(主题 6.1),建立无责事件指标实践(主题 6.2),并在你的组织已经采用、或正在采用人工智能辅助开发工具的情况下,进行主题 7.1 所建议的人工智能时代指标审计。这个阶段常常与第四阶段部分并行运行,而不是严格顺序进行,因为可靠性和安全工作往往有其自身独立的紧迫性。
持续进行:整合的成熟度评估与持续投资
一旦核心阶段确立起来,就把主题 8.4 的整合成熟度评估当作一项经常性、每年一次的实践来采用,用它的发现来指导持续的投资,而不是把这份路线图当作一旦每个阶段都在技术上被触及过就已经完成的东西来对待。一套指标项目是一种持续的组织能力,而不是一个有明确结束日期的项目,这个持续进行的阶段直接反映了这个现实。
权衡取舍:利与弊
| 方案 | 优点 | 缺点 |
|---|---|---|
| 一次性、全面的推行 | 快速,从一开始就全面覆盖 | 激起恐惧和操纵的风险很高(主题 8.3);没有经过证实的治理基础 |
| 分阶段推行,基础优先 | 在扩展范围之前建立信任和治理;每个阶段都自我证明 | 达到全面覆盖的速度更慢;需要持续、跨越多个季度的承诺 |
| 分阶段推行,指标优先(跳过治理) | 更快获得初步的仪表盘结果 | 把薄弱的治理带入了后面的每一个阶段;长期风险更高 |
| 没有路线图的临时、机会主义采用 | 灵活,能应对即时需求 | 产生不一致、难以治理的覆盖,并逐个阶段地重复错误 |
核心张力是达到全面覆盖的速度,与基础优先排序之间的张力。面临压力要迅速展示结果的组织,容易被诱惑跳过第一阶段的治理工作,直接跳到为指标做埋点,但本书从主题 1.4 的治理纪律到主题 8.3 建立信任的指导,一路累积的论证是,跳过基础会产生一套更快、但根本上更薄弱的项目。解决这种张力的办法,是承诺遵循这个分阶段的顺序,并用每个阶段可证明的结果(主题 8.5 的核心建议)来论证继续投资的正当性,而不是在基础还无法支撑之前,就试图展示全面的结果。
与团队讨论的问题
我们的组织,诚实地评估,目前实际上处于这个分阶段顺序中的哪个位置? 直接把你当前的状态对照这五个阶段绘制出来;许多组织,诚实地评估之后,会发现自己已经为后一个阶段的指标做了埋点,却从未真正完成前面基础性的那些阶段。
我们是否为了直接跳到埋点,而跳过了第一阶段的治理基础,如果是,这让我们付出了什么代价? 这直接连接到主题 8.4 的成熟度评估;一个薄弱的治理基础,一旦被发现得晚,补救起来代价高昂。
如果我们还没有运行过一次试点,一个真正、自愿的试点团队对我们而言会是什么样子? 识别出一个具体、真实的候选团队,而不要让这个问题保持抽象,讨论究竟是什么会让他们成为一个好的候选对象。
我们已经完成的每个阶段,实际上产生了什么可证明的结果,我们是否用它来论证下一阶段投资的正当性? 如果你无法指出一个已完成阶段的具体、被传达的结果,这个缺口就值得点明。
第四阶段和第五阶段对我们而言是否恰当地并行进行,还是其中一个被忽视了、以偏爱另一个? 讨论你组织具体的风险状况,更偏交付导向,还是更偏可靠性导向,是否应当以不同于本主题所描述默认方式的方式来塑造这种并行排序。
我们是否已经建立起主题 8.4 持续、经常性的成熟度评估实践,还是我们的路线图实际上在最初的几个阶段技术上完成之后就结束了? 一份没有这个持续阶段的路线图,冒着把这套指标项目当作一个已完成的项目、而不是本书所论证的那种需要持续的能力来对待的风险。
行业视角
初创公司。 这份完整、多阶段的路线图很可能可以被大幅压缩,因为一个小型组织能够在数周、而不是数季度内走完基础治理和试点阶段。即使在小规模下,也不要完全跳过第一阶段,因为早期建立起来的治理习惯,比随着组织成长再去补救要容易维持得多。
小型企业。 按你实际的能力来调整这份路线图的节奏,而不要试图完成本主题所描述顺序中的每一个阶段;一家小型企业,在第二或第三阶段(交付和开发者体验指标)之后合理地停下来,把第4部分到第6部分更复杂的结果和可靠性工作推迟到组织已经成长到真正需要并能支撑它的时候,是合理的。
企业。 明确地把这份路线图规划为一套跨越多个季度或多年的项目,配以现实的里程碑,用每个阶段可证明的结果作为正式的检查点,来确保持续的高管支持和预算,而不是试图在一个单一的商业理由中,一开始就论证整个范围的正当性。
政府。 把本主题的各个阶段当作预算或监督机构报告的自然、增量式检查点来使用,在每个阶段边界,基于上一阶段已经证明、有文档记录的结果请求持续投资,而不是作为一次单一的大额前期请求,那可能面临更多的怀疑或采购困难。
案例
企业。 一家医疗科技公司明确采用了这份路线图,作为其指标项目的构建框架,在六周内完成了第一阶段的治理基础,运行了一个单团队DORA试点满一个完整的季度,然后才在第三阶段扩展到全组织范围的交付指标覆盖,大约在开始后五个月。通过刻意地按这种方式安排推行的节奏,该公司避免了主题 8.3 所描述的那种作为更快、纪律更松散的推行的风险的恐惧驱动操纵模式,而它的第二阶段试点团队专门变成了该项目扩展的非正式内部拥护者,因为他们亲身经历了整个试点季度中纯诊断承诺被真正遵守的过程。
政府。 一家州政府技术机构明确用本主题的分阶段结构,来向其监督委员会安排预算请求的顺序,把第一阶段和第二阶段的资金作为一次初步、适度的试点投资来请求,随后带着第二阶段有文档记录的结果,试点团队改善的部署频率和稳定的变更失败率,作为具体证据,在下一个预算周期支持一次更大的第三阶段和第四阶段资金请求,回到委员会那里。这种增量式的、基于证据的资助方法取得了成功,而此前一次针对该机构整个指标项目范围、更全面的前期请求,曾因为规模太大、且没有被已证明的结果充分论证而被驳回。
商业理由:动机、投资回报与总拥有成本
一份分阶段的、基础优先的路线图的回报,是一套真正运作的指标项目,值得信赖、治理良好、真正被用来做决策,而不是一套一次更快的推行冒着风险会产生的、看起来全面、实则被恐惧腐蚀或治理糟糕的项目。上面的医疗科技案例直接展示了这一点:刻意的节奏安排,产生了一次更快的推行很可能会损害的真正信任和内部拥护。
总拥有成本是时间:这份路线图达到全面范围确实比一次一次性推行需要更长的时间。这份时间成本,正是本书从开篇几个主题起就一直论证的信任和治理基础所应付出的直接、必要的代价,而上面的政府案例展示了一项真实、实用的次要收益:增量式的、基于证据的各个阶段,常常比一次单一、庞大、未经证实的前期请求更容易获得资助和论证。
反模式与陷阱
- 一次尝试同时完成的一次性、全面推行: 违反了主题 8.3 的核心指导,冒着从一开始就激起恐惧和操纵的风险。
- 为了更快前进而跳过第一阶段的治理基础: 把薄弱的治理带入了后面的每一个阶段,之后再补救代价高昂。
- 为第二阶段选择一个不情愿或被强制指派的试点团队: 损害了一次真正试点本应服务的建立信任的目的。
- 未能产生或传达每个阶段可证明的结果: 失去了论证对下一阶段继续投资所需的证据基础。
- 把这份路线图当作一旦每个阶段都在技术上被触及过就已经完成的东西来对待: 错过了主题 8.4 所建议的、作为一项永久而不是一次性纪律的持续成熟度评估实践。
- 不顾你组织实际的风险状况,僵化地遵循本主题的默认排序: 这份路线图应当被调整,而不是不加判断地机械应用。
成熟度模型
- 第一级,启动: 不存在路线图;指标采用,如果发生的话,是临时的、无序的。
- 第二级,发展: 尝试过一些阶段,但基础性的治理工作被跳过或不完整,阶段结果也没有被系统性地记录下来。
- 第三级,标准化: 遵循本主题基础优先顺序的一份分阶段路线图被记录下来并被主动遵循,每个阶段都产生一个可证明的结果。
- 第四级,管理: 阶段结果被系统性地用来论证继续投资的正当性,路线图被刻意地调整以适应组织具体的风险状况和优先级。
- 第五级,协奏: 组织已经完成了完整的路线图,并把主题 8.4 持续的成熟度评估实践当作一项永久能力来维持,拥有一份经过证明、跨越多年的、分阶段、建立信任的指标投资记录。
讨论思路
- 我们的组织现在实际上处于这个分阶段顺序中的哪个位置?
- 我们是否跳过或走了捷径绕过了基础治理阶段,这让我们付出了什么代价?
- 一个真正、自愿的试点团队,对我们下一次扩展而言会是什么样子?
- 我们最近一个阶段的哪个可证明结果,能够论证我们下一次投资请求的正当性?
- 我们是否已经建立起持续的成熟度评估实践,还是我们的路线图实际上已经结束了?
要点回顾
- 分阶段地、基础优先地采用本书的指导,绝不作为一次冒着激起恐惧和操纵风险的一次性推行。
- 第一阶段(治理)不能被跳过; 后面的每一个阶段,都会继承这个阶段所确立的治理质量。
- 用一个真正、自愿的试点团队来证明价值、建立信任,然后再在全组织范围内扩展。
- 每个阶段都应当产生一个可证明、可报告的结果,用以论证对下一阶段继续投资的正当性。
- 把这份路线图的完成,当作一项持续、永久实践(主题 8.4 经常性的成熟度评估)的开始,而不是一个已完成的项目。
参考文献与延伸阅读
- Accelerate: The Science of Lean Software and DevOps,Nicole Forsgren、Jez Humble、Gene Kim著(这份路线图所排序的指标家族的证据基础)。
- Leading Change,John P. Kotter著(适用于一次分阶段指标项目推行的组织变革管理原则)。
- The Lean Startup,Eric Ries著(本主题分阶段、先证明价值再扩展的方法所借鉴的构建-测量-学习循环)。
- 美国政府问责局(GAO)关于绩效测量和《GPRA现代化法案》的指导:增量式、基于证据的公共部门项目资助实践。