Accelerating Code Quality with DORA Metrics

Rate this content
Bookmark

What are the benefits of becoming an Elite Performer? The answer can be complicated. Join me today for a short journey to accelerate code quality with Google's DORA metrics & continuous code improvement to drive higher software delivery and team performance.

This talk has been presented at JSNation Live 2021, check out the latest edition of this JavaScript Conference.

FAQ

DORA metrics, developed by the DevOps Research and Assessment team at Google, are a set of metrics used to evaluate and improve software development practices. These metrics include deployment frequency, lead time for changes, change failure rate, and time to restore service.

DORA metrics help organizations measure and optimize their software delivery processes. By tracking metrics such as deployment frequency and change failure rate, teams can identify bottlenecks, improve deployment practices, and achieve faster lead times and lower failure rates, ultimately enhancing overall performance.

High and elite performers using DORA metrics can deploy updates more frequently, experience lower change failure rates, recover from incidents faster, and reduce time spent on fixing security issues. This leads to improved software quality, customer satisfaction, and competitive advantage.

Rollbar is a platform that provides real-time error monitoring and debugging. It helps developers detect and respond to errors quickly, often before customers notice, by providing insights into the exact line of code causing issues, thereby accelerating the debugging process and improving code quality.

Continuous code improvement is an ongoing process of detecting, diagnosing, and fixing software bugs throughout the development lifecycle. It involves integrating tools and practices that help identify errors early, streamline debugging, and reduce risk as software moves closer to production.

Elite performing teams deploy advanced monitoring and automation tools to detect errors in real-time and resolve them swiftly. They utilize continuous integration and continuous deployment (CI/CD) practices to ensure high-quality releases and quick recovery from failures.

Higher deployment frequency allows teams to deliver features and fixes to customers more quickly, facilitating faster feedback and iterative improvements. This can lead to higher customer satisfaction and better adaptation to market demands.

Nico Krüger
Nico Krüger
27 min
09 Jun, 2021

Comments

Sign in or register to post your comment.
Video Summary and Transcription
This Talk discusses the Dora Metrics and their relation to continuous code improvement. High and elite performers deploy more frequently and have a lower change failure rate. Continuous code improvement involves identifying and fixing bugs in real time. Rollbar is a continuous code improvement platform that provides visibility into actionable errors. It helps organizations reduce the risk of losing customers and optimize developer productivity. Rollbar's unique error fingerprints and advanced features enable a deeper understanding of issues and faster resolution.

1. Introduction to Dora Metrics

Short description:

Hi, everybody. My name is Niko Kruger. Today, I'm going to talk about accelerating code quality with the Dora Metrics. We'll explore what Dora is and its relation to continuous code improvement. We'll also discuss the benefits of becoming an elite performer and the journey to accelerate your code quality.

Hi, everybody. My name is Niko Kruger. And I'm going to talk to you today about accelerating code quality with the Dora Metrics. I've spent the last 13 years working with software companies all over the world helping them improve their software quality, specifically focused on quality-critical applications. And today, I'm serving as the Senior Director of Solutions Engineering here at Rollbar.

So for today's agenda, we're going to look at three things. The first is, take a look at what Dora is and how that relates to continuous code improvement. We're also going to look at the benefits that you'll get and your organization will get once you become an elite performance, as you move from low, medium, high into the elite performing category. We're also going to look at the journey to accelerate your code quality with continuous code improvement, and what some of the benefits you can expect to receive once your organization reaches that high and elite performing status.

So let's first take a look at what is the Dora metrics. So the DevOps Research and Assessment is a Google team that spent a multi-year program researching a couple of the key things that are driving some of the most high performing organizations around the world. And they looked at the technical processes, for measurement for culture and all these capabilities that make up these high performing teams. What also looked at is not only high performing software delivery teams, but also organizations that are delivering from a revenue perspective back to their customers. So making sure that the products they put out and these high performing teams actually result in real tangible business results. What they looked at, they really looked at a number of key metrics that they were able to identify that you can use in your organizations to help understand where you are today and also what you need to do to move up in this chain to become an elite performer.

2. Metrics and Benefits of High and Elite Performers

Short description:

The lead time to produce features into the hands of customers is a crucial metric. Deploying more frequently and measuring change failure rate and time to restore services are also important. High and elite performers deploy on demand and multiple times a day, while low performers do so once a month to once every six months. The lead performers have a lead time for change of less than a day, while low performers take over a month to six months. High and elite performers have a change failure rate of zero to 15%, while low performers have a rate of 50 to 60%. High and elite performers also have an automated or semi-automated process for restoring services, while low performers take over a week. Becoming a high and elite performer allows for more frequent deployments and faster delivery of features to customers, giving a significant competitive advantage.

The first is the lead time to produce features into the hands of your customers. And what that means is the time it takes you from taking an idea all the way through your pipeline into your customers' hands. So giving them real value where they can use these features very quickly day in and day out and start to give you feedback on how these are working and obviously how that can affect, for example, your revenue if it's a revenue facing application.

The next part is, of course, deploying more frequently. So we looked at how these organizations are deploying, how frequently they're deploying, and then also once they do deploy, what is their change failure rate? So how often are these releases failing? So, for example, if you start to release more, are you in fact failing more often or not? And for those failures, they also look at the time to restore these services. So how long does it take you to actually take a failed deploy and roll back once you can start to get that up and running and get your customers back to using your solution? There's also, of course, availability, but that's not part of the metrics for today's discussion.

So what do we actually measure when it comes to the Dora metrics? So there's really a couple of categories over here for those four key metrics. So if we take a look at deployment frequency, so our low performers are really looking to do this once a month to once every six months. And if you move your way to high and elite performers, our elite performers are really doing this on demand and multiple times a day. In fact, at Rollbar, we've seen some of our customers release more than 4,000 times in a given week. And that just gives you a sense of how quickly and how often they can get changes and features capabilities into the hands of their customers. And really, that helps you understand if you take smaller changes, getting it to the customers, what value are they gaining from it? Is it something of value to them, and will it help your application or your business move forward? For those lowest performers, that, of course, is a very long cycle and indeed you have to bunch up lots of large deploys and often not even big changes into these couple of deploys a year.

Now of course, if you start to look at how long it takes us to get these changes into the hands of our customers, we look at the lead time for change and again, our lead performers can actually do this in some instances in less than a day. Now of course, that depends on how big a change or feature request is, but of course, these elite teams are breaking these down into smaller chunks of work that they are delivering into the hands of customers very, very quickly. For those on the low performing scale, again, it's over a month to six months to get these changes all the way through the pipeline tested, validated and into the hands of their customers. And of course, that can actually negatively affect revenue as your customers have to wait longer. And indeed, your competitors could be out innovating you, you know, on a 10 to 1 basis. And of course, as we're pushing more these changes live, one can often expect that, you know, our change failure rate will be very high, but that was actually not true. So our high and elite performers were anywhere from zero to 15% change failure rate versus the lower performers, which are roughly 50 to 60% failure rate. So of course, the more time we are deploying, actually, the better we get at it. And the time to restore was actually a reflection of this. So the high elite performers had an almost identical process for restoring their services back if something does go wrong. And for the high elite performers, this is somewhat automated, if not completely automated, where our low performers really took more than a week to get these services back. And it was a very manual process to get these items back up again.

So if you start to look at these metrics, start to measure your team, what are some of the benefits that you can expect once you become a high and elite performer? So the DORA group actually found a couple of quite phenomenal benefits that these elite and high-performing teams were getting. So the first one is they were actually deploying 208 times more frequently than those on the lower end of the scale. And that just tells us that they actually have the ability to push features, capabilities into the hands of the customers faster. And that means they're roughly 106 times faster than the low performers. That means they can get features and valuable revenue generating parts of the application into the hands of their customers. So again, that's something to really look at if you want to move and outperform your competitors in today's market.

QnA

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

A Framework for Managing Technical Debt
TechLead Conference 2023TechLead Conference 2023
35 min
A Framework for Managing Technical Debt
Top Content
Today's Talk discusses the importance of managing technical debt through refactoring practices, prioritization, and planning. Successful refactoring requires establishing guidelines, maintaining an inventory, and implementing a process. Celebrating success and ensuring resilience are key to building a strong refactoring culture. Visibility, support, and transparent communication are crucial for addressing technical debt effectively. The team's responsibilities, operating style, and availability should be transparent to product managers.
Principles for Scaling Frontend Application Development
React Summit 2023React Summit 2023
25 min
Principles for Scaling Frontend Application Development
Top Content
Watch video: Principles for Scaling Frontend Application Development
This Talk discusses scaling front-end applications through principles such as tearing down barriers, sharing code in a monorepo, and making it easy to delete code. It also emphasizes incremental migration, embracing lack of knowledge, and eliminating systematic complexity. The Talk highlights the use of automation in code migration and the importance of removing barriers to enable smoother code migration.
Fighting Technical Debt With Continuous Refactoring
React Day Berlin 2022React Day Berlin 2022
29 min
Fighting Technical Debt With Continuous Refactoring
Top Content
Watch video: Fighting Technical Debt With Continuous Refactoring
This Talk discusses the importance of refactoring in software development and engineering. It introduces a framework called the three pillars of refactoring: practices, inventory, and process. The Talk emphasizes the need for clear practices, understanding of technical debt, and a well-defined process for successful refactoring. It also highlights the importance of visibility, reward, and resilience in the refactoring process. The Talk concludes by discussing the role of ownership, management, and prioritization in managing technical debt and refactoring efforts.
Building High-Performing Cross-Cultural Teams
React Day Berlin 2022React Day Berlin 2022
25 min
Building High-Performing Cross-Cultural Teams
Top Content
The Talk discusses the importance of effective communication and collaboration in cross-cultural teams. It emphasizes the impact of culture on communication and performance evaluation. The speaker highlights the differences between low-context and high-context communication styles and the need to understand cultural nuances. It also explores the challenges of giving feedback in multicultural teams and suggests ways to improve communication and create a feedback culture. The influence of language on communication and the importance of transparency and honesty in feedback are also discussed.
Scale Your React App without Micro-frontends
React Summit 2022React Summit 2022
21 min
Scale Your React App without Micro-frontends
This Talk discusses scaling a React app without micro-frontend and the challenges of a growing codebase. Annex is introduced as a tool for smart rebuilds and computation caching. The importance of libraries in organizing code and promoting clean architecture is emphasized. The use of caching, NxCloud, and incremental build for optimization is explored. Updating dependencies and utilizing profiling tools are suggested for further performance improvements. Splitting the app into libraries and the benefits of a build system like NX are highlighted.
A Quick and Complete Guide to Measuring Your Tech Debt and Using the Results
TechLead Conference 2023TechLead Conference 2023
27 min
A Quick and Complete Guide to Measuring Your Tech Debt and Using the Results
Watch video: A Quick and Complete Guide to Measuring Your Tech Debt and Using the Results
This Talk discusses the measurement and interpretation of tech lead, focusing on tech debt. Tech debt is a tool to temporarily speed up development but can have negative consequences if not managed properly. Various tech debt metrics, including heuristic metrics and second-tier metrics, can help identify and manage tech debt. Tech debt interest is crucial for measuring the impact of tech debt and allows for prioritization. It is important to collect and analyze tech debt metrics to ensure software and team health.

Workshops on related topic

From Engineer to Leader: A Workshop for First-Time Tech Leaders
TechLead Conference 2024TechLead Conference 2024
144 min
From Engineer to Leader: A Workshop for First-Time Tech Leaders
Workshop
Andrew Murphy
Andrew Murphy
Transitioning from an individual contributor role to a leadership position, especially in the fast-paced tech industry, is hugely challenging. Most new leaders don't receive any training at all in the first 10 years of their new responsibilities.Our comprehensive workshop is designed to assist new and emerging tech leaders in understanding their new roles and gaining the skills to make them confident, happy and effective leaders.
Bring Code Quality and Security to your CI/CD pipeline
DevOps.js Conf 2022DevOps.js Conf 2022
76 min
Bring Code Quality and Security to your CI/CD pipeline
WorkshopFree
Elena Vilchik
Elena Vilchik
In this workshop we will go through all the aspects and stages when integrating your project into Code Quality and Security Ecosystem. We will take a simple web-application as a starting point and create a CI pipeline triggering code quality monitoring for it. We will do a full development cycle starting from coding in the IDE and opening a Pull Request and I will show you how you can control the quality at those stages. At the end of the workshop you will be ready to enable such integration for your own projects.
Managers Are From Mars, Devs Are From Venus
TechLead Conference 2024TechLead Conference 2024
111 min
Managers Are From Mars, Devs Are From Venus
Workshop
Mo Khazali
Mo Khazali
A Developer’s Guide to Communicating, Convincing, and Collaborating Effectively With Stakeholders
It’s a tale as old as time - collaboration between developers and business stakeholders has long been a challenge, with a lack of clear communication often leaving both sides frustrated. The best developers can deeply understand their business counterparts’ needs, effectively communicate technical strategy without losing the non-technical crowd, and convince the business to make the right decisions. Working at a consultancy, I’ve both failed and succeeded in architecting and “selling” technical visions, learning many lessons along the way.Whether you work at a product company, are a consultant/freelancer, or want to venture beyond just being a developer, the ability to convince and clearly communicate with stakeholders can set you apart in the tech industry. This becomes even more important with the rise of GenAI and the increasingly competitive developer market, as problem-solving and effective communication are key to positioning yourself.In this workshop, I’ll share real-world examples, both good and bad, and guide you through putting the theory into practice through dojos.
Out of the Frying Pan, Into the Fire: A Manager's Guide to Helping New Developers Thrive
TechLead Conference 2024TechLead Conference 2024
35 min
Out of the Frying Pan, Into the Fire: A Manager's Guide to Helping New Developers Thrive
Workshop
Andrew Coleburn
Andrew Coleburn
Onboarding to a new project can be difficult, no matter your background and experience. But it can be especially challenging for new developers straight out of school or a coding bootcamp. Drawing on personal experience as a bootcamp grad and JavaScript consultant, this talk will discuss tips and strategies for managers to help the new developers on their teams get their bearings in an unfamiliar codebase, so they can make more of an impact, faster!