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!