DORA Guides

DORA’s software delivery metrics: the four keys

Discover the essential measurements that can inform your ongoing journey of continuous improvement.

by Nathen Harvey

DORA’s software delivery metrics: the four keys

Technology-driven teams need ways to measure performance so that they can assess how they’re doing today, prioritize improvements, and validate their progress. DORA has identified four software delivery metrics—the four keys—that provide an effective way of measuring the outcomes of the software delivery process. DORA’s research shows that these performance metrics predict better organizational performance and well-being for team members.

The four keys can be viewed as both leading and lagging indicators. Leading indicators typically signal potential future changes in a system while lagging indicators reflect past performance and outcomes.

The four key metrics function as:

  • Leading indicators for organizational performance and employee well-being
  • Lagging indicators for software development and delivery practices.

Throughput and stability

DORA’s four keys can be divided into metrics that show the throughput of software changes, and metrics that show stability of software changes. This includes changes of any kind, including changes to configuration and changes to code.

Throughput

Throughput measures the velocity of changes that are being made. DORA assesses throughput using the following metrics:

Stability

Stability measures the quality of the changes delivered and the team’s ability to repair failures. DORA assesses stability using the following metrics:

Key insights

DORA’s research has repeatedly demonstrated that speed and stability are not tradeoffs. In fact, we see that the metrics that the four keys focus on are correlated for most teams. Top performers do well across all four metrics, and low performers do poorly.

These metrics work for any type of technology your organization is delivering, but are best suited for measuring one application or service at a time. Whether you are building large language models, retail banking applications, mobile food ordering applications, or mainframe-based travel systems, the four keys can help you assess the delivery performance of your application.

Context matters. Apply the metrics in the context of the application or service your team is delivering. The context for your application, organization, and users will vary from other applications that your organization is delivering. While it may be tempting to blend metrics across multiple teams—or entire organizations—these differences in context mean that doing so can be problematic.

“…the real trade-off, over long periods of time, is between better software faster and worse software slower.” —Farley, D. (2021). Modern Software Engineering: Doing what works to build better software faster (p. 154). Addison-Wesley.

Common pitfalls

There are some pitfalls to watch out for as your team adopts DORA’s software delivery metrics, including the following:

What pitfalls have you encountered? Share your own cautionary tales with the DORA community by posting to the mailing list at https://dora.community.

Dive into the research

DORA’s research goes beyond the four keys, exploring various capabilities that contribute to high performance. You can learn more about these capabilities and their impact on software delivery by visiting the Capability catalog.

By understanding and effectively utilizing DORA metrics, you can gain valuable insights into your software delivery performance and drive continuous improvement. Remember, the goal is to deliver better software faster, and DORA metrics provide the compass to orient teams toward that objective.

Next steps

A common approach to improving the four key metrics discussed in this guide is reducing the batch size of changes for an application. Smaller changes are easier to rationalize and to move through the delivery process. Smaller changes are also easier to recover from if there’s a failure. Teams should make each change as small as possible to make the delivery process fast and stable. Working in this way contributes to both change throughput and change stability.

We have found that an effective way of making changes is to gather the cross-functional team that is responsible for prioritizing, building, delivering, and operating an application for a discussion about improving their software delivery performance. Once the team is gathered, walk through the following steps:

Join us in the DORA Community for ongoing discussions about how to implement DORA metrics in your organization!

Last updated: September 21, 2024