DORA 指标:如何衡量 Open DevOps 是否成功

免费试用 Compass

改善您的开发人员体验、为所有服务编制目录,并改善软件运行状况。

DevOps 研究与评估 (DORA) 提供了一组用于评估流程绩效和成熟度的标准 DevOps 指标。这些指标提供以下方面的信息:DevOps 响应变化的速度、部署代码的平均时间、迭代频率以及有关失败的洞察信息。

本指南概述了四项 DORA 指标、这些指标的重要性,以及团队如何使用 Open DevOps 来衡量绩效。

什么是 DORA?

DORA 起源于 Google Cloud 的一个团队,该团队专门致力于使用一组标准指标来评估 DevOps 绩效。他们的目标是在提高速度的同时提高绩效和协作能力。这些指标可作为持续改进工具,帮助各地的 DevOps 团队根据当前绩效设定目标,然后衡量这些目标的实现进度。

DevOps 对于确保业务软件和流程顺畅运转,从而让用户集中精力处理自己的工作至关重要。在帮助 DevOps 团队实现以下目标方面,DORA 指标起着关键作用:

  • 提供切合实际的预计响应时间

  • 改进工作规划

  • 确定需要改进的领域

  • 就技术和资源投资达成共识

什么是 DORA 指标?

适用于 DevOps 团队的 DORA 指标着重衡量以下四个重要方面:

  1. 部署频率

  2. 从接受到部署之间的时长

  3. 部署失败的频率

  4. 还原服务或从失败中恢复所需的时间

下文讨论了为什么这些指标是 DevOps 最佳实践、其衡量的方面,以及团队可以采取哪些措施来提高绩效。

部署频率

DevOps 团队通常以规模更小、更频繁的部署方式交付软件,以减少每个周期中的变更数量及降低风险。更频繁的部署可以让团队更快地收集反馈,从而加快迭代速度。

部署频率是指平均每天完成的向任何给定环境部署代码的次数。这是衡量 DevOps 整体效率的指标,因为它会衡量开发团队的速度及其能力和自动化水平。

减少工作量或缩减每次部署的规模可以帮助提高部署频率。

变更的提前期

变更提前期可衡量 DevOps 团队交付代码(从提交到部署)的平均速度。它表明了团队的产能、代码的复杂性,以及总体而言 DevOps 响应环境变更的能力。

该指标可帮助企业量化向客户或企业交付代码的速度。例如,一些技能水平高的团队的平均变更提前期可能为 2-4 小时,而另外一些团队可能为一周。

减少部署工作量、改进代码审查和提高自动化程度可以帮助缩短变更提前期。

变更失败率

变更失败率是指在生产环节导致失败的部署占比。部署频率和变更提前期指标适用于衡量 DevOps 自动化水平和能力,但前提是这些部署已取得成功。变更失败率是一种从反面衡量频率和速度的指标。

该指标可能难以衡量,因为许多部署(尤其是关键响应部署)在生产环节可能会产生缺陷。了解这些问题的严重性和频率有助于 DevOps 团队对照速度衡量稳定性。

减少部署中正在进行的工作量以及提高自动化水平可以帮助降低变更失败率。

还原服务所需的时间

当生产环境中出现问题时,响应时间至关重要。无论是外部安全威胁还是使标准流程陷入停滞的缺陷,DevOps 团队都必须能够通过提供以下方式快速做出响应:

  • 缺陷修复

  • 新代码

  • 更新

还原服务所需的时间或平均恢复时间是从在生产环境中遇到问题到解决问题所需的平均时间。

响应计划可帮助团队了解如何在问题出现之前将其解决,最终缩短还原服务所需的时间。

DORA 指标的重要意义

要了解 DevOps,需认识到,开发和运营团队历来是独立运作的,彼此几乎没有协作或没有深入了解对方的工作。DevOps 已成为一种广泛采用的替代方案,该方案将这两个团队合二为一。

DevOps 的其中一项优势就是多学科团队之间的协作,这可以提高解决方案质量,同时加快交付速度。

DORA 使用上述指标来确定团队绩效并对其进行评级。对于每个指标,团队都会获得一个等级(低、中、高和精英)。例如,如需在变更失败率方面获得精英等级,团队失败率必须始终保持在 0-15% 的水平,为了在还原时间方面达到精英等级,团队必须能够在一小时内解决问题。团队在所有指标中的综合评级决定了其总体评级。

对比行业了解您的团队表现是确定改进重点的绝佳入手点。DORA 指标为设定目标和衡量进度提供了基线。

如何实施 DORA 指标

在实施 DORA 指标时,请同时分析所有四项衡量指标。例如,如果变更失败率也一直很高,那么部署频率一直很高并不能说明一切向好。

可能需要进一步关注自动化和代码审查。同样,虽然变更失败率低说明表现出色,但是如果变更提前期过长,则可能需要将工作分解成较小的区块。

首先,创建一个 DevOps 管道来解析变更、事件和部署中的数据源:

  1. 从一开始就提取数据。

  2. 将其解析为变更、部署和事件表。

  3. 根据指标计算绩效。

Open DevOps 为团队提供了开发、部署和运营软件的工具。Jira Software 为 Open DevOps 提供支持,这是敏捷团队采用率居首的工具。得益于与领先供应商和 Marketplace 应用的集成,团队可以构建他们所需的 DevOps 工具链。

DORA 指标和价值流管理

价值流管理是向客户频繁交付高质量版本的做法。衡量价值流管理是否成功的一个方法是看看客户是否实现了变更的价值。

DORA 指标在价值流管理方面发挥重要作用,因为它们为获取以下信息提供了基线衡量指标:

  • 部署频率

  • 变更的提前期

  • 失败率

  • 还原服务所需的时间

如果与客户反馈结合,DORA 指标可以告知 DevOps 团队重点改进哪些方面,以及如何对比竞争对手来定位自己的服务。

使用 DORA 指标确保 Open DevOps 取得成功

在团队启动 DevOps 后,实施 DORA 指标对他们取得成功至关重要。Open DevOps 帮助团队通过跟踪 DORA 指标来衡量 DevOps 运行状况。

借助 Open DevOps 原生集成,团队可以为端到端软件开发构建工具链,并实施 DORA 指标来衡量是否成功。主要 DevOps 工具包括:

  • Jira Software 是敏捷软件开发团队安排和跟踪工作的首选。

  • Bitbucket 允许开发团队存储和跟踪代码并控制变更。

  • Confluence 提供知识管理和协作工具,供团队获取、分析和共享信息。

  • Jira Service Management 可帮助 DevOps 团队跟踪和管理事件,并获取关键 DORA 指标。

使用 Open DevOps 优化您的软件交付流程,让您的团队为成功做足准备,它包含您立即着手开发和运营所需的一切。

DORA 指标:常见问题

与 DORA 指标有关的常见挑战有哪些?

实施 DORA 指标时,请尽早与团队成员定下基调。收集数据和发布绩效信息似乎会激起某些人的不安情绪。为了缓解这种情况,请让所有人都参与以下活动:

  • 收集数据

  • 产生想法

  • 目标设定

弄清楚什么是可以实现的目标,什么是延伸目标。

共同分析和讨论结果。虽然所有人都可能对特定领域(如自动化)有看法,但让负责该领域的成员参与对获得支持和促成合作至关重要。

贵公司如何在 Open DevOps 中使用 DORA 指标持续改进?

DORA 指标可帮助团队平衡速度和质量。您的目标可能是获得 DORA 精英 DevOps 团队资质,但要脚踏实地,随着时间的推移逐渐实现这个目标。

如果团队成员明白短期的渐进式改进是实现目标的途径,那么让团队始终参与持续改进可以通过设定雄心勃勃的长期目标来实现。

针对已定义的 DevOps 领域将目标分解为具体、可实现的指标,例如,在变更失败率为 10% 或更低的情况下,将恢复时间缩短 25%。这提供了一个基于团队当前能力的有意义的目标。

DORA 指标如何与 Open DevOps 的原则保持一致?

DevOps 绩效可能难以衡量,尤其是对复杂的项目而言。DORA 提供可靠的指标,帮助团队在相应背景下考虑绩效。

DevOps 旨在整合开发和运营来实现更好的表现和能力。DORA 指标通过端到端可见性来证实这些价值。能够跟踪持续改进的团队可以保持积极性和专注力。

为您推荐

DevOps 社区

DevOps 学习路径

免费试用