Reminder: What developer productivity metrics actually measure

You are receiving this email because you subscribed to microservices.io.


Considering migrating a monolith to microservices? Struggling with the microservice architecture? I can help: architecture consulting and workshops. Learn more

My Explore DDD conference workshop, April 14-15, 2025, Denver - Designing microservices: responsibilities, APIs and collaborations. Early bird discount ends March 7th. Learn more and enroll.


What developer productivity metrics actually measure

These days, there’s a lot of interest in measuring developer productivity. And rightly so since there’s a strong correlation between high performance software delivery and business success. Also, Microservices rules #11 is Track and improve metrics since doing so can help keep development on track. Yet at the same time, there are two problems with the so-called developer productivity metrics:

  1. They don’t measure productivity, at least not directly.
  2. The term ‘developer’ focuses attention downwards in the organization rather than upwards to the leadership, which is where the real problems with developer productivity often lie.

Read on to learn more.

Developer productivity metrics

What is productivity?

ChatGPT defines productivity as follows:

The productivity of a worker refers to the measure of the efficiency with which a worker produces goods or delivers services. It is typically defined as the ratio of the output generated by the worker to the input (time, effort, or resources) expended.

Measuring the productivity of a factory worker is relatively straightforward. It’s usually as simple as counting the number of widgets produced per hour. What’s more, it’s usually straightforward to assess the quality of the widgets produced.

In comparison, the productivity of a knowledge worker, such as a developer, is difficult to quantify. Developers write code and submit pull requests. But a pull request is not the same as factory worker’s widget. Pull requests vary wildly in size, complexity, quality and business value. Nevertheless, this hasn’t stopped people from trying to measure developer productivity.

DORA metrics

One set of metrics that are often used to measure developer productivity are the DORA metrics:

  • Deployment frequency - how often you deploy changes to production, ideally at least once per developer per day
  • Lead time for changes - how long it takes to go from code committed (git push or git merge) to running in production, ideally less than an hour
  • Change failure rate - the percentage of changes that cause production issues, ideally very low
  • Time to restore service - how long it takes to restore service after a production issue, ideally less than an hour

While the DORA metrics are often used to measure developer productivity, their creators describe them as follows:

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.

Not quite the same as developer productivity, is it? Yet at the same time, the DORA metrics measure performance, and high performance as defined by the DORA metrics correlates with business success.

DevEx metrics

Another set of metrics that are described as developer productivity metrics are the Developer Experience (DevEx) metrics. These metrics overlap with and complement the DORA metrics. In particular, they assess how the teams feel about their productivity and the work environment. After all, happy developers are productive developers.

Here’s a table reproduced from DevEX: What Actually Drives Productivity that shows example DevEx metrics:

Table of DevEx metrics

Some of these metrics overlap with the DORA metrics. Others measure how developers feel about their work. Given that developer productivity is difficult to quantify, asking a natural intelligence (aka. human being) to rate their own productivity is a reasonable approach. Yet at the same time, a developer might not know what good looks like. If they have, for example, spent their career in the Desert then they might not have any idea what it’s like to work in a Forest.

What they actually measure

The DORA and DevEx metrics both measure the frequency and duration of various software development activities. The DevEx metrics also measure how developers feel about their work. At best, the DORA and DevEx metrics measure developer productivity indirectly.

Furthermore, in many organizations, there are many aspects of software delivery that are outside the control of the developers. So much so that it seems unfair to hold them accountable for these metrics. For example, after submitting a pull request, an organization might have an elaborate review and testing process that takes weeks to complete - something the developer has no influence over.

A better name: Coefficient of sociotechnical friction?

A better way to think of these metrics is that they measure the degree of friction (or its absence) in the sociotechnical software delivery system, which consists of teams, development process, and architecture etc.

Perhaps, is a more accurate name for these metrics would be

Coefficient of sociotechnical friction

Furthermore, I’d argue what these metrics measure is not the productivity of developers but the effectiveness of engineering leadership in creating a sociotechnical system, culture and work environment where developers can be productive. Perhaps they should be:

Engineering leadership effectiveness metrics

Need help with accelerating software delivery?

I’m available to help your organization improve agility and competitiveness through better software architecture: training workshops, architecture reviews, etc.

Learn more about how I can help

Older messages

Microservices rules: what good looks like

Thursday, February 27, 2025

You are receiving this email because you subscribed to microservices.io. Considering migrating a monolith to microservices? Struggling with the microservice architecture? I can help: architecture

Reminder: Microservices rules: what good looks like

Thursday, February 27, 2025

You are receiving this email because you subscribed to microservices.io. Considering migrating a monolith to microservices? Struggling with the microservice architecture? I can help: architecture

What developer productivity metrics actually measure

Thursday, February 27, 2025

You are receiving this email because you subscribed to microservices.io. Considering migrating a monolith to microservices? Struggling with the microservice architecture? I can help: architecture

Reminder: Microservices ate my application - an anti-pattern

Friday, February 14, 2025

You are receiving this email because you subscribed to microservices.io. Learn about the service collaboration patterns (Saga, API composition, etc) in my online, self-paced bootcamp. It's

Reminder: The problem with tight runtime coupling and how to avoid it

Tuesday, January 14, 2025

You are receiving this email because you subscribed to microservices.io On Wednesday, January 22, 2025 at 6pm, I'll be giving a talk in Melbourne Australia.The talk is: Enabling DevOps and Team

You Might Also Like

Say Goodbye to Type Erasure

Thursday, February 27, 2025

View in browser 🔖 Articles Practical Kotlin: When and How to Use inline reified, noinline, and crossinline Master Kotlin's inline reified functions to tackle type erasure and boost performance!

SRE Weekly Issue #464

Thursday, February 27, 2025

View on sreweekly.com A message from our sponsor, incident.io: For years, on-call has felt more like a burden than a solution. But modern teams are making a change. On Feb 26 at 1 PM EST, hear why—and

Hands On: New VS Code Insiders Build Creates Web Page from Image in Seconds, More

Thursday, February 27, 2025

Home | News | How To | Webcasts | Whitepapers | Advertise .NET Insight February 27, 2025 THIS ISSUE SPONSORED BY: ■ Visual Studio Live! Las Vegas: .NET Developer Training Conference ■ VSLive! 4-Day

Re: Tomorrow's Password Class: How to sign up!

Thursday, February 27, 2025

Hi there, Do you reuse passwords? Do you struggle to remember unique passwords across accounts? Have you tried setting up a password manager but found it to be a hassle? You might not realize how

Documenting Event-Driven Architecture with EventCatalog and David Boyne

Thursday, February 27, 2025

If you're wondering on how to document Event-Driven Architecture, or you don't know that you should, I have something for you. We discussed with David Boyne, why data governance practices and

wpmail.me issue#708

Thursday, February 27, 2025

wpMail.me wpmail.me issue#708 - The weekly WordPress newsletter. No spam, no nonsense. - February 27, 2025 Is this email not displaying correctly? View it in your browser. News & Articles Shaping

Hackers stole 1Password logins - here's how

Thursday, February 27, 2025

Amazon AI races ahead; Research agents; Smartwatch trade-in -- ZDNET ZDNET Tech Today - US February 27, 2025 thief stealing passwords Hackers stole this engineer's 1Password database. Could it

New Golang-Based Backdoor Uses Telegram Bot API for Evasive C2 Operations

Thursday, February 27, 2025

THN Daily Updates Newsletter cover ⚡ LIVE WEBINAR ➟ Building Resilient Identity: Reducing Security Debt in 2025 Attacks Evolve, So Can Your Defenses--Learn How to Mitigate Risk and Optimize Identity

⚡ THN Weekly Recap: Google Secrets Stolen, Windows Hack, New Crypto Scams & More

Thursday, February 27, 2025

From Google espionage to crypto scams, this week's Cyber Recap uncovers it all—read more now ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌