If lines of code measured programming success, we'd celebrate developers who write the most verbose code. If commit frequency measured engineering value, we'd reward those who make trivial changes.
Yet these are exactly the metrics many engineering organizations still use.
The Allure of Activity Metrics
Activity metrics are seductive because they're easy:
- Easy to measure
- Easy to track over time
- Easy to compare across developers
But easy to measure ≠ meaningful to track.
The Three Fatal Flaws
1. They Reward the Wrong Behavior
When you measure lines of code, developers write more code. Not better code—just more of it.
The best engineers often write less code:
- They delete unnecessary complexity
- They refactor 500 lines into 50
- They prevent problems before they happen
Activity metrics punish this behavior.
2. They Miss Context Completely
A one-line bug fix can be more valuable than 10,000 lines of new code. A thoughtful code review that prevents a bad decision is invisible in activity metrics.
Context matters. Activity metrics ignore it.
3. They Create Perverse Incentives
Teams optimize for what you measure. When you measure activity:
- Developers split meaningful work into trivial commits
- Code reviews become rubber stamps to hit targets
- Technical debt accumulates as "visible" work gets prioritized
The metrics go up while actual productivity declines.
What Actually Matters
Instead of measuring activity, measure impact:
- Code Impact: Does this change solve real problems? Create technical debt? Enable future work?
- Review Impact: Does this review catch issues? Teach something valuable? Improve the codebase?
- People Impact: Who's mentoring? Who's unblocking others? Who's preventing bad decisions?
At Maestro, we use AI to understand code changes and surface real impact—not just count lines and commits.
Stop measuring how busy your team looks. Start measuring what they accomplish.




