State of DevOps - A Continuous Improvement Story

This ad is not shown to multipass and full ticket holders
JSNation US
JSNation US 2025
November 17 - 20, 2025
New York, US & Online
See JS stars in the US biggest planetarium
Learn More
In partnership with Focus Reactive
Upcoming event
JSNation US 2025
JSNation US 2025
November 17 - 20, 2025. New York, US & Online
Learn more
Bookmark
Rate this content

For nearly a decade, the DevOps Research and Assessment (DORA) project has studied the behaviors of thousands of software development teams and discovered the key capabilities that reliably predict success. DORA has consistently found that not only do top performers lead their industries in both release velocity and service reliability, they achieve better business outcomes and have more satisfied employees.

In this session, we’ll unpack the research findings and outline key steps your team can take toward continuous improvement.

We will couple these findings with stories "from the field" about how teams are putting these ideas into practice.

This talk has been presented at DevOps.js Conf 2024, check out the latest edition of this JavaScript Conference.

FAQ

The DORA quick check measures key metrics like lead time for changes, deployment frequency, change fail rate, and time to restore service.

Winning a DORA trophy should not be the main goal because it is more important to focus on continuous improvement and the underlying practices that lead to high performance in software delivery.

The DORA quick check is a tool used to set a baseline for a team's current software delivery performance and track improvements over time.

Teams should begin by focusing on areas they can influence directly, such as improving code review processes or documentation, before tackling more complex issues like architectural changes.

AI can potentially improve software development processes by enhancing code reviews, reducing manual tasks, and providing faster and more efficient solutions.

Good documentation supports better understanding, maintenance, and enhancement of software, contributing positively across multiple areas of a software development team's work.

Proper usage of the cloud allows developers to leverage on-demand self-service and rapid elasticity, which can lead to better organizational performance.

A positive culture within a team or organization enhances collaboration, satisfaction, and productivity, which are critical for successful software development.

DORA is a research program that has been running for about a decade, focusing on how teams can improve in delivering and operating software.

Amanda Lewis
Amanda Lewis
Nathen Harvey
Nathen Harvey
12 min
15 Feb, 2024

Comments

Sign in or register to post your comment.
Video Summary and Transcription
This Talk discusses the story of continuous improvement in software development. It emphasizes the importance of measuring software delivery performance using metrics such as lead time, deployment frequency, change fail rate, and time to restore. Code reviews play a significant role in improving software delivery, and exploring the potential impact of AI on code reviews is recommended. Focusing on documentation and proper utilization of the cloud can improve organizational performance. Finally, a good culture, user focus, and collaborative platform team are crucial for success in software development.

1. Introduction: Story of Continuous Improvement

Short description:

We are excited to be here at DevOps JS for a story of continuous improvement. Amanda Lewis, a software engineer, and Nathan Harvey, a DORA advocate, will discuss how teams improve in delivering and operating software.

Hello, everyone. We are so excited to be here at DevOps JS. Thank you for joining us for a story of continuous improvement.

Our story today will be portrayed by Amanda Lewis, a software engineer on a team that is responsible for the Kanban application that her team uses for tracking work. And we have Nathan Harvey, who will play himself, a DORA advocate and a continuous improvement cheerleader.

So Nathan, you're a DORA advocate. What is DORA? Oh, right. I'm glad you asked, Amanda. DORA is a research program that's been running for about a decade. This research program looks into how do teams get better at delivering and operating software? Awesome. I am so excited to be able to talk with you today because my team and I have this goal and I think that you're going to be able to help us achieve it.

2. Exploring Goals and Priorities

Short description:

Amanda's goal is to win the DORA trophy, but Nathan suggests focusing on continuous improvement instead. The team has taken the quick check and found areas for improvement in architecture. Nathan recommends starting with something the team can improve and suggests using the quick check to measure software delivery performance.

Wow, that's awesome. Amanda, if I'm going to help you achieve your goal, the first question I have is, what is your goal? What are you trying to do? We want to get the DORA trophy. We want to win the DORA trophy. Oh, great. That feels important, but that is maybe not the best goal. Why? Why do you want a DORA trophy? What are you trying to demonstrate with that?

You know what, Amanda, maybe we could take the quick check together with your team, the DORA quick check, and understand maybe how you're doing today. And that might even help us clarify what your goals should be. I will say, Nathan, we do want the trophy, but we acknowledge to get the trophy, you have to show that you're continuously getting better over time. And so that is absolutely what we want to do. And the team has actually gotten together and taken the quick check. So we've answered these five questions here that you're showing. And then we actually additionally went through that help me prioritize exercise, which was really interesting, you know, talking about our continuous integration, which we're doing really well on. When it came to architecture, you know, do we have control there? We actually really don't. We really like rely on other teams when we're making changes. But then we also answered the questions about culture. And I wanted to ask you, so here's our findings from the prioritize me exercise. And you know, it was great. We're doing well on continuous integration. There's some room there for improvement. Culture is doing pretty good. But that loosely coupled architecture that feels like, oh, we should start there. But the team, like we don't think we can, we don't even know how to get started. We don't really have influence over architectural decisions.

Ah, yeah, I can understand that. And I definitely recommend that you start with something that your team does have the ability to improve. So you can start with a quick check. This helps you set a baseline for how is your team doing today with software delivery performance. And it will allow you to keep track of your score over time as you make improvements. All right. So just to make sure that I understand, because we use the quick check, I want to make sure that I understand what we're measuring.

3. Measuring Software Delivery Performance

Short description:

Lead time for changes, deployment frequency, change fail rate, and time to restore are essential metrics to consider. Code reviews play a significant role in software delivery improvement. Teams that hold themselves accountable through peer reviews have shown positive results. Automating code reviews and change approval processes can significantly reduce manual work and increase efficiency.

So with the lead time for changes, we're thinking about when we commit code, you know, to the repo and then when it gets in the hands of our users.

Yes, that's exactly right. Once it's deployed to production, that's when that timer stops. OK. And then for deployment frequency, it's how often we're getting it out there into production.

That's right. We want to think about how frequently are you able to update your production systems. OK. And that change fail rate is when something doesn't go right and we have to quickly fix it or maybe roll it back.

Yeah. I like to call this the O-Expletive rate. It's what happens when someone pushes a change to production and you hear an expletive being shouted out. We can't wait for the next release to fix it. We either have to roll back this change or push forward a hot fix. Luckily today, we don't hear that often, so that's good. And then the time to restore is how fast after we hear that expletive, how long does it take us to actually recover from that and get things back to good for our users? So. All right. All right. I'm glad we understand that. Yes. You know, as we as we looked through this or as your team looked through this, we saw a loosely coupled architecture being one of those things that you could dig in on. You don't maybe have a whole lot of control over that. But what about code reviews?

How are code reviews going on your team? So, I mean, I think they're going OK, but as a team, we definitely saw in this year's report how much an impact of having faster code reviews could have on our software delivery. So it's a place that we want to investigate further and kind of see, is there friction and can we improve it? You know, this year wasn't the first time we dug into this. Actually, back in the 2014 research, we saw that teams were approaching this differently. Teams were being allowed to hold themselves accountable for their quality of code through peer reviews and it worked. Code reviews have been around for quite a long time. In fact, in 2017, we also saw that the highest performers were doing a lot less manual work including automating some of their code reviews and change approval processes. It is possible. In fact, we see that heavyweight change approval processes tend to slow us down.

4. Improving Code Reviews and Documentation

Short description:

Code reviews are crucial, and a heavy approval process can hinder success. Exploring AI's potential impact on code reviews is a good idea. AI is starting to contribute to various technical tasks. Documentation is important but challenging to prioritize.

Not only do they slow us down, they make our changes less likely to succeed. So it's a double negative here. You want to be careful about how long that change approval process takes and it starts with code reviews. This is definitely a place that we could, I think, make some improvement.

As you were saying, as I was thinking about, we kind of have a heavyweight process, especially when it revolves around needing approvals outside of our team. So this might be a great place for us to improve.

Perhaps you could explore how AI might help improve your code reviews. You know, Nathan, that's a good idea. I'm wondering if we're playing bingo because you said that word AI. You know, we love to talk about AI and our team, you know, we've started playing around with it. Most of us are using it in the IDE and kind of seeing how that helps us, you know, code faster.

Yeah, absolutely. You know, in our most recent survey, we saw that AI is really starting to contribute to a bunch of different technical tasks. Of course, it's still pretty early days, but very, very exciting.

While you're waiting for AI, maybe Amanda, I could ask you about your documentation. Oh, it's so important, Nathan. I know. I read it in the report. It's so important. But it can be so hard, right? It takes time. And I know it's something that we should focus on. And we'll definitely explore this. But it is hard.

5. Focusing on Documentation and Cloud Usage

Short description:

Focusing on documentation will lead to rewards. The use of the cloud is important, but it's more about how you use it. Flexible infrastructure and proper utilization of the cloud can improve organizational performance. Research helps identify areas for improvement and continuous improvement.

I know it's hard, but you've sold me. I want, you know, we want to be happy. We want to be productive. We want to get better. And it sounds like if we focus on documentation, we're going to reap the rewards of that.

Absolutely. And I also am interested in your use of the cloud. So as a company, we're definitely starting to use the cloud. They've established a platform team that's working on making it easier for us. For us, we're using it a little bit, but not fully yet. But hoping as we go into 2024, we'll be able to do that a little bit better.

I'm encouraged to hear about your platform team making it easier. We see that flexible infrastructure leads to much better organizational performance. And what really matters is not that you're using the cloud, but rather how you're using the cloud. Are you, as a developer, able to take advantage of things like on-demand self-service and rapid elasticity? These are the things that cloud has to offer. And while lots of teams and organizations have been using the cloud for quite some time, we see that it's more important to make sure that you're using it properly. Not just that you're using it, but rather how you're using the cloud. And our research really looks across a number of capabilities like what we've discussed here today, technical process and cultural capabilities, and really helps teams understand where's my constraint? Where can I make some improvement so that I can get on this journey of continuous improvement where I get better at getting better?

Well, Nathan, thank you for this discussion. You've given me so many great ideas to go back to the team and places that we can explore that are really in the control of our team.

6. Platform Team and Cloud Utilization

Short description:

The platform team is working on making it easier for us. Flexible infrastructure and proper utilization of the cloud can improve organizational performance. Research helps identify areas for improvement and continuous improvement.

They've established a platform team that's working on making it easier for us. For us, we're using it a little bit, but not fully yet. But hoping as we go into 2024, we'll be able to do that a little bit better.

I'm encouraged to hear about your platform team making it easier. We see that flexible infrastructure leads to much better organizational performance. And what really matters is not that you're using the cloud, but rather how you're using the cloud. Are you, as a developer, able to take advantage of things like on-demand self-service and rapid elasticity? These are the things that cloud has to offer. And while lots of teams and organizations have been using the cloud for quite some time, we see that it's more important to make sure that you're using it properly. Not just that you're using it, but rather how you're using the cloud. And our research really looks across a number of capabilities like what we've discussed here today, technical process and cultural capabilities, and really helps teams understand where's my constraint? Where can I make some improvement so that I can get on this journey of continuous improvement where I get better at getting better?

Well, Nathan, thank you for this discussion. You've given me so many great ideas to go back to the team and places that we can explore that are really in the control of our team.

7. Culture, User Focus, Documentation, and Community

Short description:

A good culture, user focus, documentation, and collaborative platform team are crucial for success. Improving work distribution and avoiding unfairness and toil will lead to a happy, productive team. Join the DORA Community of Practice to connect, get inspired, and work together on improving software delivery.

And I really enjoyed reading the report. Some of the takeaways that I saw was our culture is really important. Having a good culture within our team and organization, if we're going to be successful. Focusing on the user when we're making these change initiatives. Really making sure that we're thinking about the user when we're doing that.

Documentation, I hear you. I see the value. We're definitely going to tackle that. The importance of, with flexible infrastructure, it's how we're using it. And I would say our platform team has been really fantastic. They're really talking to us, listening to us, and it's been really collaborative. So I feel good things are coming there.

And then the section around how work is distributed was really impactful for us. And so we're working on improving and having a process for how we distribute work. Because we don't want anybody to be having more toil or working on something that isn't going to be rewarded down the road. Because that's not fair, and that's not going to make us a happy, productive team.

Yeah, I love that, Amanda. And thank you for reading the report. And I'm really excited to follow along on your journey as you take insights from the report and put them into action. And for those of you that haven't had a chance to download the report yet, head over to dora.dev slash dorareport, and you can download the report and read it today. Find your own inspiration.

And then encourage you to join the DORA Community of Practice. So today, we just started with showing how you can get started on this continuous improvement journey. But over at the DORA Community, there's so many different practitioners sharing how they're doing it, the outcomes they're having. And it's just a great place to connect, get excited, and work together on improving our software delivery. And so I hope you'll join us at DORA.Community. And really, Nathan, thank you for joining me today. Everyone here, thank you for joining us. Really excited to be here, and I hope you enjoy the rest of the talks.

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

Full Stack Documentation
JSNation 2022JSNation 2022
28 min
Full Stack Documentation
Top Content
The Talk discusses the shift to full-stack frameworks and the challenges of full-stack documentation. It highlights the power of interactive tutorials and the importance of user testing in software development. The Talk also introduces learn.svelte.dev, a platform for learning full-stack tools, and discusses the roadmap for SvelteKit and its documentation.
Gateway to React: The React.dev Story
React Summit US 2023React Summit US 2023
32 min
Gateway to React: The React.dev Story
Watch video: Gateway to React: The React.dev Story
The Talk discusses the journey of improving React and React Native documentation, including the addition of interactive code sandboxes and visual content. The focus was on creating a more accessible and engaging learning experience for developers. The Talk also emphasizes the importance of building a human API through well-designed documentation. It provides tips for building effective documentation sites and highlights the benefits of contributing to open source projects. The potential impact of AI on React development is mentioned, with the recognition that human engineers are still essential.
Opensource Documentation—Tales from React and React Native
React Finland 2021React Finland 2021
27 min
Opensource Documentation—Tales from React and React Native
Documentation is often your community's first point of contact with your project and their daily companion at work. So why is documentation the last thing that gets done, and how can we do it better? This talk shares how important documentation is for React and React Native and how you can invest in or contribute to making your favourite project's docs to build a thriving community
Documenting components with stories
React Finland 2021React Finland 2021
18 min
Documenting components with stories
Most documentation systems focus on text content of one form or another: WYSIWYG editors, markdown, code comments, and so forth. Storybook, the industry-standard component workshop, takes a very different approach, focusing instead on component examples, or stories.
In this demo, I will introduce an open format called Component Story Format (CSF).
I will show how CSF can be used used to create interactive docs in Storybook, including auto-generated DocsPage and freeform MDX documentation. Storybook Docs is a convenient way to build a living production design system.
I will then show how CSF stories can be used create novel forms of documentation, such as multiplayer collaborative docs, interactive design prototypes, and even behavioral documentation via tests.
Finally, I will present the current status and outline a roadmap of improvements that are on their way in the coming months.
Scaling Fast – Engineering Lessons From ~15 Years of Tech Startups
React Advanced 2024React Advanced 2024
27 min
Scaling Fast – Engineering Lessons From ~15 Years of Tech Startups
Hey, we'll discuss scaling fast and engineering lessons learned in the last 15 years of tech startups. Scaling involves three things: business, team, and tech. Business scalability relies on sales and customer acquisition costs. Engineering is a tool the business uses. Scaling the team is vital as tech problems are often people problems. Team structure affects architecture and product development process. Organize teams based on purpose, not technology. Spend less time being blocked by other teams. Ship features without getting blocked. Own your own mess. Focus on product engineering partnership. Build faster using feedback cycles. Build appropriate solutions for your use case. Let go of ego and experiment with different approaches. Engineers own their own mess. Avoid work in progress. Finish the work and focus on fixing it later. Have a conversation before writing code. Scaling the tech is easier than you think. Pick an off the shelf design. Save innovation for core parts. Pick existing solutions. Focus on solving the problem. Don't waste time trying to predict future scale. Scale will surprise you. Do what works for your business. Push back on unnecessary complexity. Understand the cost of ideas. Modify the situation to fit existing design. Architecture is like a dependency graph on your code. Reduce architectural complexity by organizing code based on what it does. Use vertical models and avoid creating excessive dependencies. On the client, use vertical modules. On the back end, consider a service-oriented architecture. Start with a monolith and transition to microservices if necessary. Use folders instead of microservices when you have a small team. Use vertical models and contract or type-driven development to define clear APIs and interfaces. Avoid highly interconnected code and duplication. Focus on data structures to avoid complexity and the need for translation layers. Building translation layers can lead to slow user experience. Vertical teams aligned with vertical code allow for fast problem-solving, full control of features, and efficient data handling. Understanding the entire domain enables faster development with fewer bugs.
TypeScript for Library Authors: Harnessing the Power of TypeScript for DX
TypeScript Congress 2022TypeScript Congress 2022
25 min
TypeScript for Library Authors: Harnessing the Power of TypeScript for DX
TypeScript for library authors offers benefits for both internal and external use, improving code quality and providing accurate understanding of libraries. Documentation and examples should be in code to provide up-to-date information. Testing types alongside unit tests ensures accurate typing. Managing changes and exposing types requires careful versioning. Deep integration of types improves usability. Using a map in TypeScript allows for simpler implementation and customization. Leveraging types in libraries can generate code based on user access. TypeScript integration with Nuxt provides support and type declarations.

Workshops on related topic

Production-Ready Apps with AI Agents
React Summit 2025React Summit 2025
102 min
Production-Ready Apps with AI Agents
Featured Workshop
Alex Shershebnev
Alex Shershebnev
Coding assistants are already changing the way we develop code, and in several years they are expected to completely change how developers interact with code and write it. In this workshop, I'll share tips and best practices on using such tools as we develop the production-ready app with Zencoder.
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
Workshop
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.