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:
- They don’t measure productivity, at least not directly.
- 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.
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:
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
JSK Daily for Mar 21, 2025
Friday, March 21, 2025
JSK Daily for Mar 21, 2025 View this email in your browser A community curated daily e-mail of JavaScript news Introducing the New React MultiColumn ComboBox The React MultiColumn ComboBox is a
Dispatch 049: March Madness
Friday, March 21, 2025
AlexNet Open Sourced • Microsoft's Inflection • Yahoo's TechCrunch • CoreWeave's Swap The Spyglass Dispatch is a newsletter featuring links and commentary on timely topics found around the
Daily Coding Problem: Problem #1724 [Medium]
Friday, March 21, 2025
Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Airbnb. You are given a huge list of airline ticket prices between different cities
Ranked | The World's 50 Most Valuable Brands in 2025 💰
Friday, March 21, 2025
American tech firms largely dominate the most valuable brands, but large Chinese competitors are quickly rising up the rankings. View Online | Subscribe | Download Our App Why We're Going All-In on
iOS Dev Weekly – Issue 704
Friday, March 21, 2025
How do you think about choosing package dependencies? Do you have any hard “No”'s?
iOS Cocoa Treats
Friday, March 21, 2025
View in browser Hello, you're reading Infinum iOS Cocoa Treats, bringing you the latest iOS related news straight to your inbox every week. Rendering Pixel Art with SwiftUI The main challenge of
Issue #585: Publishing games on Steam, GIMP 3.0, and A Very Tiny Game
Friday, March 21, 2025
View this email in your browser Issue #585 - March 21st 2025 Weekly newsletter about Web Game Development. If you have anything you want to share with our community please let me know by replying to
ASP.NET Core News - 03/21/2025
Friday, March 21, 2025
View this email in your browser Get ready for this weeks best blog posts about ASP.NET Core! How to log to Azure Application Insights using ILogger in ASP.NET Core — by bellonedavide .NET 10 Preview 2
The Android for iPhone die-hards📱
Friday, March 21, 2025
AI video's secret cost; CTO vs. CMO; Amazon phone deals -- ZDNET ZDNET Tech Today - US March 21, 2025 Planck SSD I found an Android phone that can convince iPhone users to make the switch - and
⚙️ Claude's upgrade
Friday, March 21, 2025
Plus: ChatGPT tells a father he killed his sons