👨‍💻
Mike's Notes
  • Introduction
  • MacOs Setup
    • System Preferences
    • Homebrew
      • Usage
    • iTerm
      • VIM
      • Tree
      • ZSH
    • Visual Studio Code
    • Git
    • SSH Keys
  • Developer Productivity
    • How To Measure
  • DevOps Knowledge
    • SRE
      • Scaling Reliably
        • Splitting a Monolith into Microservices
      • Troubleshooting Common Issues
      • Service Level Terminology
      • Toil
      • Monitoring
      • Release Engineering
      • Best Practices
      • On-Call
      • Alerting
    • Containers
      • Docker
        • Best Practices
          • Image Building
          • Docker Development
        • CLI Cheat Sheet
      • Container Orchestration
        • Kubernetes
          • Benefits
          • Cheat Sheet
          • Components
          • Pods
          • Workload Resources
          • Best Practices
    • Developer Portal 👨‍💻
      • Solution Overview 🎯
      • System Architecture 🏗️
      • Implementation Journey 🛠️
      • Cross-team Collaboration 🤝
      • Lessons & Future 🎓
    • Provisioning
      • Terraform
        • Installation
        • Usage
    • Configuration Management
      • Ansible
        • Benefits
        • Installation
    • Build Systems
      • Bazel
        • Features
  • Security
    • Secure Software Engineering
    • Core Concepts
    • Security Design Principles
    • Software Security Requirements
    • Compliance Standards and Policies
      • Sarbanes-Oxley (SOX)
      • HIPAA and HITECH
      • Payment Card Industry Data Security Standard (PCI-DSS)
      • General Data Protection Regulation (GDPR)
      • California Consumer Privacy Act (CCPA)
      • Federal Risk and Authorization Management Program (FedRAMP)
    • Privacy & Data
  • Linux Fundamentals
    • Introduction to Linux
    • Architecture
    • Server Administration
      • User / Groups
      • File Permissions
      • SSH
      • Process Management
    • Networking
      • Diagrams
      • Browser URL Example
      • Network Topologies
      • Signal Routing
      • DNS (Domain Name System)
      • SSL (Secure Sockets Layer)
      • TLS (Transport Layer Security)
  • System Design
    • Process
    • Kafka
      • Advanced Topics
    • URL Shortener
Powered by GitBook
On this page
  • The Balanced Approach: Qualitative + Quantitative
  • Evolution of Developer Productivity Metrics
  • Making Measurement Work
  • Setting Effective Targets
  • Making Measurement Work
  • Bottom Line

Was this helpful?

  1. Developer Productivity

How To Measure

PreviousSSH KeysNextSRE

Last updated 16 days ago

Was this helpful?

The Balanced Approach: Qualitative + Quantitative

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

Evolution of Developer Productivity Metrics

DORA Metrics (2018)

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.

SPACE Framework (2021)

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.

DevEx (2023)

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.

Making Measurement Work

The most effective approach is deliberately combining methods:

  1. Start with clear goals: What specifically are you trying to improve?

  2. Mix data types: Pair metrics (DORA) with experience surveys (SPACE/DevEx)

  3. Contextualize the numbers: A metric without context is just a number

  4. Measure consistently: Track changes over time, not just snapshots

  5. Involve the team: Developers should help define what productivity means

Setting Effective Targets

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).

Focus on Input Metrics, Not Outputs

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.

Preventing Metric Gamification

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

Best Practices for Target Setting

  1. Limit focus: Target 5-6 controllable input metrics at most

  2. Set contextual targets: Different teams need different targets based on their unique challenges

  3. Be realistic about improvement curves: Moving from the 75th to 90th percentile is much harder than from the 50th to 75th

  4. Consider metric types: Some metrics need percentage improvements, others need absolute targets or SLAs

  5. Create transparency: Clearly explain how metrics will be used and decisions they'll inform

Making Measurement Work

The most effective approach is deliberately combining methods:

  1. Start with clear goals: What specifically are you trying to improve?

  2. Mix data types: Pair metrics (DORA) with experience surveys (SPACE/DevEx)

  3. Contextualize the numbers: A metric without context is just a number

  4. Measure consistently: Track changes over time, not just snapshots

  5. Involve the team: Developers should help define what productivity means

Bottom Line

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.

https://cloud.google.com/blog/products/devops-sre/another-way-to-gauge-your-devops-performance-according-to-dora
https://axify.io/blog/space-framework
https://www.infoq.com/articles/devex-metrics-framework/