| 编辑推荐: |
本文是一份实操指南,教团队通过先定成果、再画价值流、聚焦瓶颈、快速实验的循环,利用可视化与数据驱动持续改进软件交付效能,希望对你有一些启发。
本文来自于DORA,由火龙果软件Alice编辑,推荐。 |
|
通过可视化提升组织效能 DORA 的研究反复证实了一个事实:改进软件交付与运维效能是预测组织成功的关键指标。这种相关性不仅适用于商业目标,也适用于非商业目标,甚至对员工的幸福感也有积极影响,例如减少职业倦怠并提高工作效率。
DORA 强调有效领导、沟通、产品管理和可视化技术在提升软件交付方面的作用。价值流图(VSM)正是可视化如何改善流动性和效能的典范。
可视化是指使用仪表盘、看板、价值流图等工具和技巧,让复杂流程更容易被理解,从而识别瓶颈并跟踪进度。这种透明度能够促进更好的沟通、协作与决策,最终带来软件交付和运维效能的提升。
可视化可以通过激发关于交付过程中摩擦点的讨论来支持组织效能的改进,从而培育持续改进的文化。这种可视化和沟通是精益软件开发(lean software development)的基石。
通过价值流图(VSM)将工作流可视化,有助于团队对软件开发流程建立共同的理解和同理心,并找出需要改进的地方,从而提升软件交付效能。
在软件开发和运维的语境中, “流动”(flow) 是指工作顺畅、连续地通过价值流。当工作顺畅流动时,意味着延迟或阻碍最少,从而实现更快的交付速度和更高的效率。 持续交付(CD) 是实现流动的关键推动力,因为它专注于自动化软件交付流程并建立快速反馈循环,使团队能够频繁且可靠地发布软件。
价值流图(VSM) 是一种精益管理实践,用于可视化从创意到生产环境的整个工作流,并识别瓶颈和改进点。通过绘制价值流图,组织可以清晰地了解工作是如何在系统中流动的,并找出可以减少浪费、提高效率、优化以实现更快更可靠软件交付的领域。
VSM 可用于可视化从构思到交付的端到端完整价值流。实体行业使用 VSM 来绘制从原材料到成品的整个路径。知识工作涉及将创意转化为体验、文档和软件,但同样遵循顺序的价值创造过程。DORA 的研究侧重于这个更大价值流的一个子集:软件交付和运维流程。《Flow Engineering》一书详细介绍了如何优化这一流程以提升团队和组织效能。
通过 VSM 可视化工作流的做法为组织效能改进带来了巨大好处:
- 促进对话: 价值流、工作流和关键指标的可视化表示促进了团队成员之间更好的沟通与协作。这种共同的理解有助于团队就软件交付流程展开有意义的讨论,使每个人的目标都对齐到快速、可靠地交付软件这一共同目标上。
- 识别改进领域: 使用 VSM 进行可视化可以更容易地直观识别软件交付流程中的瓶颈,并跟踪改进的效果。通过突出瓶颈、浪费和低效之处,VSM 使团队能够有效地瞄准改进方向。
- 推动持续改进: VSM 和流动优化通过提供一个识别和迭代实施改进的框架,鼓励持续改进的文化。可视化有助于跟踪这些改进的影响,并根据需要进行调整。
- 支持数据驱动的决策: VSM 提供关键指标的量化数据,使团队能够基于证据做出明智的决策。
- 文档记录: 保持软件开发过程的准确、最新记录是该流程的基本组成部分。创建 VSM 有助于随着时间推移提供清晰的理解,并提醒团队所走过的历程。能够回顾并看到随时间的改进,有助于建立持续改进文化所需的信心和士气。
定义你的目标成果(Outcomes)
在急于开展价值流图绘制之前,明确定义清晰的改进成果至关重要。你可以做出无数种改变,但哪些才是真正重要的?帮助团队朝着既定目标共同努力,这是一种变革型领导(transformational leadership)的行为。
孤立进行的效能改进可能完全是浪费时间。将时间和金钱投入到无助于实现战略成果的改进上,是一种失败的投资。团队必须从理解组织的战略目标开始,并弄清楚技术流程如何促进或阻碍这些目标,这一点至关重要。
团队首先应该可视化的不是价值流,而是团队寻求实现的 成果 。这可以通过 成果映射(Outcome Mapping) 实践来完成:
- 召集关键利益相关者代表 (目标是不超过 10 人¹)。
- 首先明确陈述 该小组被要求完成的战略改进任务。
- 设定计时器 ,给小组时间集思广益关于实现该目标的想法和担忧。团队对这一目标有哪些担忧?问题、疑问、想法、背景等。在实体或数字白板上使用便利贴是让每个人并行贡献想法的好方法。我们建议时间相对较短,比如五分钟,以保持团队的 momentum(势头)。
- 将这些担忧分类 ,并对主要关注领域进行投票。将该关注点重新表述为小组寻求实现的 成果 。验证实现这一成果是否与团队负责交付的关键战略目标相关。
- 在明确陈述了要实现的成果后 ,花时间列举实现该成果的好处、存在的障碍以及团队应考虑的后续步骤。
你可以使用任何类似的方法来帮助小组澄清他们的目标成果。有关此练习的更多细节,请参阅《Flow Engineering》一书。 成果应该被具体陈述。例如,不要说“改进软件交付效能”或“提升运维能力”,而是设定诸如“在未来 3 个月内,将生产环境部署导致故障的百分比降低到 <10%”这样的成果。更多示例见下图。
- 示例 1 - 缩短生产环境交付时间
- 示例 2 - 降低变更失败率
- 示例 3 - 实施“翻倍、减半、季度”方法
理解两个关键的软件交付价值流
在软件交付中实际上涉及 两个 关键的价值流。第一个是 正常路径(happy path) :团队交付新功能和修复的常规交付流程。DORA 的吞吐量关键指标(前置时间和部署频率)可用于衡量此正常路径的效率。
第二个关键价值流是 从故障中恢复的路径 ,即“恢复价值流”。这同样涉及需要快速部署到生产环境的修复。这些变更不是为了交付新价值,而是为了降低停机风险和成本。DORA 的稳定性关键指标(变更失败率和失败部署恢复时间)可以帮助衡量故障/修复路径的有效性。
恢复价值流与功能交付 同样重要 。它的工作项是紧急修复,其数量等于变更失败率(百分比)乘以部署频率。目标是通过降低变更失败率来最小化故障修复,即使部署频率在上升。
失败部署恢复时间本质上是这些故障修复的 前置时间 。优化恢复价值流意味着使事件响应尽可能迅速和无缝。
(图:软件价值流与四个关键指标)
如何进行价值流图绘制
既然你已经有了明确的目标和想要绘制的路径,是时候创建可视化表示了。以下是一个分步方法:
1. 绘制步骤:
- 从简开始: 从一个空白画布开始——白板、大张纸或数字协作工具。
- 遵循流动: 绘制软件交付流程(或故障修复流程)中的每个独立步骤,从代码提交的那一刻到部署给用户。
- 找到合适的细节层级: 在过多细节(令人不知所措)和过少细节(错过改进机会)之间取得平衡。如果像“CI 构建”这样的步骤看起来有问题,可以在第二轮中进一步分解(例如“单元测试”、“代码检查”、“集成测试”、“代码分析”)。

简单价值流图(VSM)示例:映射从代码提交到生产部署的“正常路径”流程。
2. 捕获信息流、等待时间和交接:
- 流动箭头: 使用箭头清楚地说明工作如何在步骤之间移动。
- 识别瓶颈: 突出显示工作堆积或延迟的区域。这些是改进的主要目标。
- 量化等待时间: 测量步骤之间花费的等待时间。这可以揭示隐藏的低效。
- 交接摩擦: 密切关注团队之间的交接。这些通常是沟通不畅和延迟的来源。

图:一个价值流图示例
记住: 目标不是第一次就创建完美的地图。VSM 是一个迭代过程。从简单开始,收集反馈,并在学习过程中完善你的地图。
3. 考虑如何衡量流动:
- 收集数据: 收集关于前置时间、周期时间和部署频率等关键指标的数据。参考 DORA 能力目录以获取测量指导。
- 注意: 团队通常没有随时可用的这些数据。人们很容易想要收集精确指标,但这很容易分散练习的主要注意力。通常你只需要 低精度 的数据。某些步骤花费几分钟,而其他步骤花费几小时或几天是很常见的。在需要数天才能完成的流程中,几分钟级别的改进不会产生显著影响。
- 使用数据跟踪进度: 这些数据有助于量化约束的影响并随时间衡量改进。
当你的跨职能团队绘制了价值流并确认它是对现实的合理近似后,就该找出阻碍流动并影响交付或运维的 首要约束或摩擦点 了。
记住在成果映射期间定义的成果。虽然可能会出现无数的改进机会,但忽略那些不直接影响你目标成果的改进。专注是避免无尽努力却收效甚微的关键。
如果缩小摩擦点范围具有挑战性,请利用 DORA 能力描述来引导对话。DORA Quick Check 工具也可以提出有见地的问题并丰富讨论,可能会揭示改进领域。
优先考虑那些显著影响你目标成果的约束。 避免让人不知所措的变更,优先考虑 渐进式进展 。将问题分解为可管理的块。到现在为止,你应该有了一个经所有利益相关者同意的、与你期望的成果一致的摩擦点列表。
采取行动,做出有意义的改变
你现在有了一个有针对性的潜在改进列表。最关键的一步是团队集体同意,并对一个你们有能力改变且投资回报率最高的项目采取行动。避免分析瘫痪,优先考虑行动。 从一个改进计划开始,专注于交付有形的、可证明的结果。制定并实施行动计划,将其作为实验来解决已识别的约束并改善流动。监控你的行动对关键指标的影响,并根据需要进行调整。 利用 DORA 能力目录作为改进的共享语言和框架。
它们提供了定义、实施指导、常见陷阱和衡量策略。 完成一个实验后,循环回到这个过程,选择下一个计划,并迭代。这建立了一个持续改进和学习的循环。
价值流图的长期效果
当价值流图与 DORA 强调的实践相结合时,会产生持久的好处:
- 改进软件交付效能: 通过优化流动和消除瓶颈,组织可以显著改进其软件交付效能指标,如部署频率、变更前置时间和变更失败率。
- 提升运维效率: 关注流动和持续改进可以带来精简的运维,最大限度地减少浪费的时间和资源。可视化工具为运维指标提供了宝贵的见解,使团队能够查明并解决需要优化的领域。
- 增加透明度和责任感: 可视化使工作流程透明且可访问,培养了责任感和主人翁文化。团队可以轻松跟踪进度,及早发现潜在问题,并做出明智的、数据驱动的决策。
后续步骤
变革型领导的目标是设定战略方向,然后授权和赋能周围的人去实现这一目标。成果映射是一个强大的工具,可以帮助小组协调组织的战略目标与小组当前感受到的挑战。价值流图是帮助小组建立所需清晰度以精确定位改进领域的强大方法。DORA 指南和能力提供了强大的、经过科学验证的建议,以引导你的努力走向成功。
为了确保公正性并避免潜在的组织障碍或偏见,考虑聘请一名公正的主持人来引导 VSM 过程。这有助于避开可能阻碍协作决策的任何内部政治。 通过遵循这个框架并利用可用的资源,组织可以有效地利用 VSM 来推动软件交付流程的持续改进,并实现其期望的成果。
DORA 的研究为改进软件交付和运维提供了共享语言和框架,而 VSM 提供了整个团队都能理解的可视化语言。成功的关键在于倡导变革的强有力领导、对最具影响力约束的明确共识,以及受激励采取行动并衡量结果的授权团队。 |