Home DevOps The essential engineering metrics to accelerate software delivery

The essential engineering metrics to accelerate software delivery

Author

Date

Category

Measuring performance is fundamental to understanding and improving the workflow in software development projects. However, measuring performance is hard. 

As your organization grows, software becomes more complex and decentralized, and it’s not easy to have visibility on product deliveries. Checking in to dailies and having ad-hoc conversations is no longer sustainable due to the increased number of teams, people, and ceremonies. So, how can you keep visibility over the pace and quality of your product?

Engineering teams need to have the proper visibility and data to make the best decisions to improve and deliver better software continuously. Having the means to measure and evaluate the effectiveness of the software development strategy is a key factor in setting and achieving your goals. The state-of-the-art for measurement is the Accelerate metrics.

Today, we’ll analyze the 4 Accelerate metrics, which give you valuable insights to optimize your software deliveries and help your team focus on continuously providing value.

Where did the Accelerate metrics come from?

​​The DevOps Research and Assessment (DORA) team at Google conducted a research program to measure and understand DevOps practices and capabilities that set high-performing software engineering teams apart from low-performers. 

The DORA team surveyed thousands of teams across multiple industries, and they identified the most effective and efficient ways to develop and deliver software. With their research, the DORA team identified 4 key metrics that indicate software development and delivery performance. 

Years of research culminated in annual reports like the Accelerate State of DevOps 2021 report. The research was also presented in the book Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations by Nicole Forsgren, Jez Humble, and Gene Kim. Hence, the name Accelerate metrics.

What are the 4 Accelerate metrics?

The 4 Accelerate metrics provide a data-driven approach to analyzing and improving performance based on rigorous research. They are used to identify your level of performance in speed and quality of development. Plus, these metrics can help you quickly identify and eliminate problems and bottlenecks that may be hindering your performance.

  • Deployment frequency: how often your organization completes a deployment to production;
  • Lead time for changes: how long it takes for a commit to get into production;
  • Time to recover: how long it takes your organization to recover from a failure in production;
  • Change failure rate: percentage of deployments causing a failure in production.

Let’s talk about these metrics in more detail, and understand how focusing on them can help your team deliver better software faster and more effectively.

Deployment frequency

Deployment frequency measures how often code is deployed to production. This metric is correlated with the speed of your engineering team, and it is a good indicator of your team’s automation, capabilities, and overall efficiency. 

It is one of the most interesting speed metrics for an organization to work on to ensure that software is delivered early and regularly. Your team’s goal should be to perform small deployments with a high frequency, as reducing the size of deployments and the number of changes for each cycle makes it easier to test and release the deployment.

Deployment frequency analyzes how much value gets delivered to end-users and customers and how quickly your team can provide that value (in the form of bug fixes, new functionality, or other code changes). 

In this article, we explain in depth what Deployment frequency is, how to measure it, and how your team can increase it to achieve best practice levels of engineering performance.

Lead time for changes

​​Lead time for changes measures the time that a commit takes to reach production. This metric is correlated with the speed of your engineering team, and it is a good indicator of your team’s response time, the code complexity, and your team’s capacity. 

It is one of the most interesting speed metrics for an organization to work on reducing its delivery times. This metric is inspired by the Lean principles and analyzes how quickly your teams react to change (like a bug fix, new functionality, or other code changes).

In this article, we explain in depth what Lead time for changes is, how to measure it, and how your team can reduce it to achieve best practice levels of engineering performance.

Time to recover

Time to recover measures how long it takes to recover from failure. This metric is correlated with the quality of your engineering team, and it is a good indicator of your team’s response time and overall development process efficiency. 

It is one of the most interesting quality metrics for an organization to work on to ensure the availability and correct functioning of their software. This metric analyzes how quickly your team can identify incidents and their root causes (e.g., a damaged database or a deployment that breaks an existing feature), notify the appropriate people to deal with those incidents, and resolve them fast.

In this article, we explain in depth what Time to recover is, how to measure it, and how your team can reduce it to achieve best practice levels of engineering performance.

Change failure rate

Change failure rate measures the percentage of deployments that caused a failure in production requiring remediation (e.g., hotfix, rollback, patch). This metric is correlated with and a good indicator of the quality of your engineering tolling and practices. 

It is one of the most interesting quality metrics for an organization to work on to ensure their software’s stability and correct functioning. This metric is inspired by the Lean principles and analyzes how your team guarantees the security of code changes and how deployments are being managed.

In this article, we explain in depth what Change failure rate is, how to measure it, and how your team can reduce it to achieve best practice levels of engineering performance.

What are the reference values for the Accelerate metrics?

There are reference values for each of the 4 Accelerate metrics that will enable you to classify your team as an elite, high, medium, or low performer. The Accelerate State of DevOps 2021 report summarizes these values in the following table.

Software delivery performance metrics
Software delivery performance metrics, from the Accelerate State of DevOps 2021 report

Your goal should be to strive for and maintain an Elite performance level. 

Benefits of becoming an Elite performer

  • Make better decisions based on data;
  • Identify inefficiencies and improve them in the future;
  • More predictability when planning projects;
  • Improve team satisfaction;
  • Deliver higher quality products faster; and
  • Reduce costs.

How can you measure the Accelerate metrics?

If you’re looking for a solution to measure the Accelerate metrics, Pulse is the way to go.

Pulse dashboard
Pulse dashboard

Pulse takes care of all the details to ensure your Accelerate metrics are accurate and reliable.  Pulse connects seamlessly with your GitHub, Jira, and PagerDuty to give you Accelerate and other Engineering metrics out-of-the-box. Your team only needs to focus on making informed decisions to improve your results.

What you get with Pulse:

  • Peace of mind when collecting engineering metrics: we do the work for you, ensuring reliable metrics and continuous tracking.
  • No need to choose what to measure: no need to get caught in output or vanity metrics that are hurtful for your team in the long run; we research for you.
  • Historical data: immediately see your performance over the last 90 days – and up to 1 year;
  • Easily filter repositories, teams, and time periods.
  • More metrics beyond Accelerate to explain how they are evolving;
  • Our team and community can help you on the journey of continuous improvement.

Empower your Engineering with the Accelerate metrics. Connect with GitHub to find out which capabilities impact your organization the most and start improving your Engineering health. Track and measure the Accelerate metrics, and prioritize your team metrics all in one place.

Conclusion

Software engineering teams are constantly looking for ways to improve their processes and delivery, and the chances are your team is no exception. 

With the Accelerate metrics, you can know how your team is performing, the overall health of your organization, and what you need to focus on to improve the efficiency of your Engineering team.

Pulse allows you to easily measure the Accelerate metrics in your projects and make better decisions. So start measuring the Accelerate metrics today, and join our community!

Subscribe to our newsletter

To be updated with all the latest news, offers and special announcements.

Recent posts

10 C++ open source projects welcoming contributions

When you contribute to an open source project, you're not simply fixing a bug. Instead, you are giving something valuable to...

Why automated code reviews should be part of your workflow

Code reviews are one of the most important aspects of today’s software development workflow. With code reviews, your team can find...

How to contribute to an open source project

There is a world of advantages in contributing to open source projects. You improve the projects you love, enhance your skills,...

July Product Update 🚀

Hi there 👋, We hope you're having a great time over the holidays if that's your case...

Best practices to manage an open source project

A well-managed open source project attracts contributors and gives them a good experience, making them eager to contribute time and time...