Product

Improve Developer Productivity with DORA and SPACE Metrics

Improve Developer Productivity with DORA and SPACE Metrics

Did you know that top performing software development teams have 106x times faster lead times from commit to deploy? This was discovered by Google, who created DORA to improve developer productivity.

But what is DORA? And how does that compare to other frameworks like SPACE?

In this post, we'll explore DORA and SPACE and how you use them to unlock new levels of developer productivity and satisfaction.

Sections:

1. Understanding DORA Metrics

DORA metrics, when first introduced by Google, focused on 4 key metrics (”the four keys”) that are strong indicators of software delivery performance. This evolved over time, with updates to metrics and introduction of a 5th:

  • Lead Time for Changes: The time it takes to go from code committed to code successfully running in production.
  • Deployment Frequency: How often an organization deploys code to production or releases it to end users.
  • Failed Deployment Recovery Time (Formerly Mean Time to Recovery): The average time it takes to restore service when a software change causes an outage or service failure in production.
  • Change Failure Rate: The percentage of changes that result in degraded service or require remediation (e.g., lead to service impairment or outage, require a hotfix, rollback, fix forward, or patch).
  • Reliability: This fifth metric was introduced later in 2021, and assesses operational performance including availability, latency, performance, and scalability. Given it is newer and doesn’t have a quantifiable metric for performance benchmarks, it tends to attract less attention.

DORA metrics focus on performance aspects, which have correlations with customer value and financial performance of companies.

Dora metrics updated to include 'reliability'

Lead Time

Lead Time measures the time it takes to go from code committed to code successfully running in production. This metric is helpful because it shows the efficiency of your software delivery pipeline, from development to deployment. It also shows how quickly you can get features into the hands of customers, which is when value is truly delivered.

By reducing your Lead Time, you can deliver value to your customers faster and more frequently. Teams can improve this by:

Deployment Frequency

Deployment Frequency tracks how often an organization deploys code to production or releases it to end users. This metric is a key indicator of your team's ability to deliver value continuously, and more importantly, it shows how often our customers get new value from our development work.

Google found that high-performing teams deploy code at least once per week, enabling them to quickly respond to customer needs and rapidly iterate on their products.

To increase your Deployment Frequency, consider:

  • Focusing on automating your deployment process
  • Adopting continuous integration and continuous delivery (CI/CD) practices
  • Empowering developers to deploy code independently

Failed Deployment Recovery Time (Formerly Mean Time to Recovery)

Failed Deployment Recovery Time measures average time it takes to restore service when a software change causes an outage or service failure in production. It’s important because it shows how long your customers are unable to experience the full value of the app because of incidents.

More recent research have highlighted issues with incidents data, such as high data variability, making it an unreliable metric at times. At Multitudes, we believe there are also other dimensions to better understand incidents such as Mean Time to Acknowledge (MTTA) as an example — which measures how long it takes an organization to acknowledge a new incident in production.

By minimizing your Failed Deployment Recovery Time, you can reduce the impact of failures on your customers and maintain a high level of service reliability. Teams can improve this metric by:

  • Implementing effective monitoring and alerting systems
  • Automating rollbacks and recovery processes
  • Practicing regular incident response scenarios

Change Failure Rate

Change Failure Rate represents the percentage of changes that result in degraded service or require remediation (e.g., lead to service impairment or outage, require a hotfix, rollback, fix forward, or patch). This metric reveals how often teams can’t deliver new value for customers due to a failure, and indicates the quality of your software delivery process.

A high Change Failure Rate suggests that your team is introducing a high number of issues into production, which can erode customer trust and satisfaction. To reduce your Change Failure Rate, consider:

  • Improving code quality through rigorous testing
  • Creating efficient processes for code reviews and static analysis
  • Implementing feature flags and gradual rollouts to minimize the blast radius of changes

Reliability

Reliability is the fifth and newer DORA metric. It aims to assess operational performance, including availability, latency, performance, and scalability. Although Reliability doesn't have a standard quantifiable target like the other four metrics, it has a significant impact on customer retention and success.

To improve Reliability, organizations can set checks and targets for all of the software they create. Some examples include:

  • Attaching appropriate documentation
  • Adding unit tests in CI
  • Ensuring database failover handling code patterns are implemented

By tracking DORA metrics, teams can identify areas for improvement in their development process and work towards becoming top performers.

2. Exploring the SPACE Framework

The SPACE framework takes a big picture view of developer productivity by considering 5 key dimensions:

  • Satisfaction and Well-being: Measures satisfaction, fulfillment, and well-being, both at work and off work.
  • Performance: Outcomes that the organization aims to reach or create value for customers and stakeholders.
  • Activity: Combines outputs that are countable, discrete tasks and the time it takes to complete them.
  • Communication and Collaboration: Represents the interactions, discussions, and other acts of collaboration that take place within teams.
  • Efficiency and Flow: Focuses on the ability of a developer to complete work or make progress on it.

By integrating these dimensions into consideration, the SPACE framework gives managers a holistic view of engineering team performance that enables them to make better decisions. At Multitudes, we like the SPACE framework because it encapsulates the performance aspects of the DORA framework while also acknowledging the importance of a psychologically-safe and trust-based working environment.

SPACE metrics along the 5 dimensions

The authors of the SPACE framework suggest not only considering metrics at the individual level, but also at the team level. Below is table of example metrics along each dimension from their research:

Example SPACE metrics

Satisfaction and Well-being

Satisfaction and Well-being measures the overall satisfaction, fulfillment, and well-being of developers, both at work and in their personal lives. This dimension recognizes that a developer's happiness and work-life balance significantly impact their productivity and performance.

By prioritizing developer satisfaction and well-being, teams can foster a positive work environment that encourages motivation, creativity, and long-term success. To improve this dimension, organizations can:

  • Regularly gather feedback
  • Offer flexible working arrangements
  • Provide resources for mental and physical health

Performance

Performance focuses on the outcomes that the organization aims to achieve and the value created for customers and stakeholders. This dimension emphasizes the importance of aligning developer efforts with business objectives and delivering measurable results.

High-performing teams consistently meet or exceed their performance targets, contributing to the overall success of the organization. To improve this dimension, teams should:

  • Set clear goals
  • Regularly track progress
  • Ensure that developer efforts are focused on high-impact work that directly benefits customers and stakeholders

Activity

Activity combines outputs that are countable, discrete tasks, and the time it takes to complete them. This dimension recognizes that developer productivity is not just about the quantity of work completed but also the efficiency and timeliness of task completion.

By tracking and optimizing activity metrics, teams can identify bottlenecks, streamline processes, and ensure that developers are working efficiently. To improve this dimension, teams can:

  • Break down work into manageable tasks
  • Provide clear requirements and documentation
  • Continuously seek feedback to identify areas for improvement

Communication and Collaboration

Communication and Collaboration represent the interactions, discussions, and other acts of collaboration that take place within teams. This dimension acknowledges that effective communication and collaboration are essential for efficient problem-solving, knowledge sharing, and overall team productivity.

High-performing teams foster open communication, encourage knowledge sharing, and promote a culture of collaboration. To improve this dimension, teams can:

  • Adopt collaborative tools
  • Establish clear communication channels
  • Regularly conduct team-building activities to strengthen relationships and trust among team members

Efficiency and Flow

Efficiency and Flow focus on the ability of a developer to complete work or make progress on it. This dimension recognizes that developer productivity is influenced by factors such as interruptions, context switching, and the availability of necessary resources and information.

By optimizing efficiency and flow, teams can minimize distractions, reduce waste, and enable developers to focus on high-value work. To improve this dimension, teams can:

  • Implement practices like time blocking
  • Minimize meetings
  • Provide a supportive work environment that promotes deep work and concentration

Multitudes provides a unique measure which compares % time spent in meetings vs. % focus time to provide deeper insight into this dimension.

The SPACE framework gives us a fuller picture of how developers live and breathe. It doesn't just look at the mechanics of coding – it also considers the human side of things. By keeping an eye on these different aspects and fine-tuning them, teams can build a work environment that's not only more productive but also more satisfying for everyone involved.

The result? Happier developers, better performance, and thriving teams.

3. Comparing DORA and SPACE Metrics

Think of DORA and SPACE as the dynamic duo of developer productivity frameworks. They're both geared towards driving better and faster business results by helping us measure and boost how developers work. But here's the thing: they're not competing frameworks. In fact, Nicole Forsgren, a key mind behind both, suggests we think of DORA as a practical application of the SPACE framework.

DORA's strength lies in its metrics that promote both performance and team psychological safety. But it doesn't quite capture the full picture of how individuals are faring. That's where SPACE comes in, bringing more human-focused metrics to the table. It looks at things like developer well-being, giving us a more rounded view of productivity.

The below illustrates how DORA maps to the SPACE framework:

DORA metrics mapped to SPACE Framework

At Multitudes, we've always believed that wellbeing and collaboration are crucial alongside the hard performance metrics. So when SPACE came along, we were thrilled to see a framework that brought all these elements together.

We're big advocates for using aspects of DORA and SPACE together. Why? Because while DORA focuses on outcomes and impact, SPACE considers effort, output, and human factors. Together, they offer a balanced and effective way to measure and improve how your team works.

Remember, though: these frameworks aren't a one-and-done deal. The real magic happens when you use them as part of an ongoing improvement process. By regularly checking in on your chosen metrics, you can spot areas that need work, try out new approaches, and keep refining your processes.

Our end goal help create work environments that aren't just more productive, but also more fulfilling for developers.

4. Implementing DORA and SPACE Metrics

Ready to try DORA and SPACE with your team?

Before jumping in, remember that a high-trust environment needs to be created first. Without trust, these metrics can be gamed and misused, leading to fear and uncertainty among team members.

Picture this: developers splitting their work into smaller, more frequent deployments just to improve their DORA scores. It’s Goodhart’s law in action: “When a measure becomes a target, it ceases to be a good measure

So how can we implement DORA and SPACE in thoughtful way? Here's 6 step approach:

  1. Be Clear about the Business Goal: Why do we want to bring in metrics? What are the bigger outcomes we're hoping to support? Make sure your chosen metrics align with the value you are trying to create (e.g., shipping a new release, retaining key talent). And don't keep it a secret – let everyone know why these metrics matter.
  2. Choose a Couple Metrics to Start: You don't need perfect metrics, just a few to get started. You can always gradually expand as your team becomes more comfortable. What are a few key metrics that will help your team and align you with the business objectives? An easy way to start is with the 4 key DORA metrics on the performance side combined with some of the human metrics from the Satisfaction or Collaboration dimensions in SPACE.
  3. Establish a Baseline: Take a snapshot of your current performance against the selected metrics. This gives you a reference point for seeing how you compare to benchmarks and tracking progress as you run experiments.
  4. Integrate with Existing Tools and Processes: Getting metrics should help you, not slow you down. This can look like:
    • Incorporating tracking into your git tooling, CI/CD pipelines, issue tracking, and IMS
    • Weaving metrics into your team practices like stand-ups, retros and 1:1s to stay across bottlenecks and issues early. Most dashboards are built and then get forgotten; you don't want that to happen here!
    • Supporting team members on the metrics and encouraging open communication and feedback during the integration process.
  5. Run an experiment:  By now, hopefully your team has live access to key metrics, woven the metrics into your team practices, and are having rich discussions about what's going well and where you can improve. So its time to run an experiment! Pick one metric you want to improve, come up with a hypothesis on how to do it as a team, and then give it a go!
  6. Track Progress and Celebrate Successes: Ideally, your tooling helps you check in how things are going (see how our platform can help you with this). Are you seeing the improvements you hoped for? Or not quite there yet? Whether the experiment worked or it’s time to try a new approach — the most important part is to celebrate every win or learning, no matter how small. And remember, spread the knowledge! Your wins could inspire other teams and contribute to a culture of continuous improvement by making failed experiments a common and celebrated part of work.

From there, it's rinse and repeat for steps 4-6. Choose one area to improve, then run an experiment, track progress and iterate.

This approach will help build a culture of continuous improvement and blameless experimentation. Getting into a habit of experimentation lowers the barriers for teams to change their ways of working, and builds the muscle of tackling new challenges and shifting priorities.

Benefits of applying both DORA and SPACE Metrics

By using both DORA and SPACE metrics, teams can gain a full view of their performance and identify areas for improvement. This can lead to:

  • Faster, more reliable software delivery
  • Improved developer satisfaction and retention
  • Better collaboration and communication within the team
  • More efficient and effective development processes

By properly implementing DORA and SPACE metrics, teams are better equipped to consistently delivers high-quality features to users, while maintaining a healthy work-life balance and a strong sense of belonging within the team.  

Our product that tracks all dimensions of SPACE metrics, and our clients ship 25% faster while maintaining code quality and team wellbeing. If you're interested to see this in action, join our beta today.

5. Other Developer Productivity metrics to consider

While DORA and SPACE provide a solid foundation for measuring developer productivity, another important framework to consider is the Developer Experience (DevEx) framework. DevEx focuses on the lived experience of developers and the points of friction they encounter in their everyday work.

It encompasses three key dimensions:

  1. Feedback loops (the speed and quality of responses to developer actions)
  2. Cognitive load (the mental effort required to perform tasks)
  3. Flow state (the ability to work with focus and enjoyment
3 core dimensions of Developer Experience

By tuning into both what developers say and how they actually work, you can unlock some pretty amazing insights into how to improve developer productivity, satisfaction, and retention.

Below is table of example metrics along each dimension from their research:

Example DevX metrics

6. Software to track DORA and SPACE Metrics

To effectively track and analyze DORA and SPACE metrics, teams can use Multitudes, which is an engineering insights platform for sustainable delivery.

Multitudes integrates with your existing development tools, such as GitHub and Jira, to provide insights into your team's productivity and collaboration patterns.

With Multitudes, you can:

  • Automatically track DORA metrics like Lead Time and Deployment Frequency
  • Get visibility into work patterns and types of work, such as feature development vs. bug fixing
  • Identify collaboration patterns and potential silos within your team
  • Understand individual and team well-being through metrics like out-of-hours work and responsiveness

By leveraging Multitudes, teams can spend more time acting on insights to improve their productivity and satisfaction.

Ready to unlock happier, higher-performing teams?

Join our beta today!
Contributor
Multitudes
Multitudes
Support your developers with ethical team analytics.

Start your free trial

Join our beta
Support your developers with ethical team analytics.