How To Measure
Last updated
Was this helpful?
Last updated
Was this helpful?
Developer productivity isn't just about lines of code or tickets closed. It's a complex interplay of efficiency, quality, and satisfaction. The most effective measurement approach combines quantitative metrics (the numbers) with qualitative data (the human experience).
Why this combination works best:
Quantitative data provides concrete benchmarks and trends
Qualitative insights reveal the "why" behind the numbers
Together, they create a holistic view of developer experience and output
The DevOps Research and Assessment (DORA) team at Google, led by Dr. Nicole Forsgren, Jez Humble, and Gene Kim, introduced four key metrics that have become industry standards:
Deployment Frequency: How often code is deployed to production
Lead Time for Changes: Time from code commit to production deployment
Mean Time to Recovery (MTTR): How quickly service is restored after failures
Change Failure Rate: Percentage of deployments causing failures
DORA metrics focus on delivery performance and have been validated through rigorous research across thousands of teams. They're primarily quantitative but reveal important patterns in team effectiveness.
Developed by researchers from GitHub, Microsoft, and the University of Victoria (including Nicole Forsgren, Margaret-Anne Storey, and Eirini Kalliamvakou), SPACE offers an approach with five dimensions:
Satisfaction and well-being: Developer happiness and health
Performance: Quality and impact of work
Activity: Design, coding, review, and collaboration actions
Communication and collaboration: How teams work together
Efficiency and flow: Ability to work without blockers
SPACE deliberately balances quantitative measures with qualitative experiences, recognizing that productivity is multidimensional.
The Developer Experience (DevEx) framework emerged from research by McKinsey and the SPACE team to focus specifically on the developer experience:
Feedback loops: How quickly developers can validate their work
Cognitive load: Mental effort required for daily tasks
Flow state: Ability to work without interruptions
DevEx represents the latest evolution in productivity thinking, acknowledging that developer experience directly impacts output quality and velocity.
The most effective approach is deliberately combining methods:
Start with clear goals: What specifically are you trying to improve?
Mix data types: Pair metrics (DORA) with experience surveys (SPACE/DevEx)
Contextualize the numbers: A metric without context is just a number
Measure consistently: Track changes over time, not just snapshots
Involve the team: Developers should help define what productivity means
Setting targets for developer productivity metrics requires careful consideration to avoid distorting the system you're trying to improve. Research shows that "when a measure becomes a target, it ceases to be a good measure" (Goodhart's Law).
The key to effective target-setting is distinguishing between:
Output metrics: Results you want to improve but can't directly control (PR throughput, change failure rate)
Controllable input metrics: Specific behaviors and processes teams can directly influence (code review turnaround time, build time)
Never set targets on output metrics. This creates confusion and encourages gaming the system. Instead, identify the controllable inputs that drive those outputs and focus your targets there.
To prevent teams from "gaming" metrics:
Use multi-dimensional measurement (never rely on a single metric)
Emphasize learning and improvement over hitting specific thresholds
Give teams sufficient time to make systemic improvements
Involve developers in selecting metrics and setting realistic targets
Make the connection between input metrics and business outcomes clear
Limit focus: Target 5-6 controllable input metrics at most
Set contextual targets: Different teams need different targets based on their unique challenges
Be realistic about improvement curves: Moving from the 75th to 90th percentile is much harder than from the 50th to 75th
Consider metric types: Some metrics need percentage improvements, others need absolute targets or SLAs
Create transparency: Clearly explain how metrics will be used and decisions they'll inform
The most effective approach is deliberately combining methods:
Start with clear goals: What specifically are you trying to improve?
Mix data types: Pair metrics (DORA) with experience surveys (SPACE/DevEx)
Contextualize the numbers: A metric without context is just a number
Measure consistently: Track changes over time, not just snapshots
Involve the team: Developers should help define what productivity means
The best productivity measurement combines quantitative metrics with qualitative data. Neither approach alone tells the complete story. Together, they provide actionable insights that drive meaningful improvements in how developers work.
Your measurement approach should be as thoughtful and multifaceted as the work you're measuring.