Back to all topics
project-management

Goodhart's Law

When a measure becomes a target, it ceases to be a good measure.

Tiny Summary

Goodhart's Law: "When a measure becomes a target, it ceases to be a good measure." People optimize for the metric instead of the underlying goal, rendering the metric useless.


The Pattern

Measure productivity → Make it a target → People game it → Metric becomes meaningless

Software Examples

Commits/day: Target 10 commits → Break features into 20 micro-commits → Commit count up, velocity flat, metric useless

Lines of code: Target 1000 LOC/sprint → Verbose code, unnecessary abstractions → Bloated codebase, metric useless

Bug fix rate: Target 50 bugs/week → Mark hard bugs "won't fix", work on trivial bugs → Critical bugs ignored, metric useless

Code coverage: Target 90% coverage → Write tests that execute but don't validate → High coverage, low confidence, metric useless

Story points: Target 50 points/sprint → Inflate estimates, negotiate down complexity → Points meaningless, metric useless


Famous Examples

Soviet Nail Factory:

  • Quota: X tons of nails → Made huge useless nails (heavy)
  • Changed to: X number of nails → Made tiny useless nails (high count)

Wells Fargo: Target 8 products per customer → Employees opened fake accounts → Massive scandal


How to Avoid

Use multiple metrics: Track commits + code quality + bug rate + velocity (not just one)

Monitor for gaming: Watch for sudden changes, audit samples, talk to people doing the work

Focus on outcomes: Features shipped and user value delivered (not LOC written)

Keep metrics private: Use for insight, not targets. Don't tie compensation to single metrics.

Rotate metrics: Don't let people optimize for one metric long-term


Key Insights

Metrics are useful for tracking, but become useless as targets. People rationally optimize for what they're measured on. Gaming is inevitable—design assuming rational actors. Always ask: "How could this be gamed?" Use qualitative judgment alongside quantitative data.

Use the simulation to see how metrics get gamed!