Skip to main content
Version: 2.0

Using Metrics For Improvement

For over two decades, I've seen engineering teams drown in data. Endless dashboards, complex reports, and a relentless pursuit of "measuring everything." But here’s a hard truth I’ve learned: metrics, in and of themselves, don’t improve anything. It’s how you use them – and, crucially, which metrics you focus on – that makes the difference.

Too often, we get caught up in "vanity metrics" – numbers that look good but don’t drive meaningful change. Rising lines are comforting, but if those lines don't translate into better software, faster delivery, or a happier team, they're just noise. This post will focus on shifting your team's focus from simply collecting data to actively using it for continuous improvement.

The Problem with "Measuring Everything"

The urge to track everything is understandable. We’re engineers – we like data. But a bloated set of metrics leads to several problems:

  • Analysis Paralysis: Teams get overwhelmed trying to interpret dozens of indicators.
  • Misaligned Focus: People optimize for the measured thing, even if it's not the right thing. (Think: lines of code written – a classic example of optimizing for the wrong outcome).
  • Erosion of Trust: If metrics are used punitively, or feel arbitrary, they create distrust and stifle innovation.

As research suggests, early indicators of success are crucial. Procaccino et al. (2002) found that early indicators of success are crucial, highlighting the importance of leading indicators for project success. Jalote & Agrawal (2005) emphasize the value of defect analysis feedback, highlighting how understanding why things go wrong is more valuable than simply counting defects.

Focusing on Lead and Lag Indicators

A helpful framework for thinking about metrics is distinguishing between lead and lag indicators.

  • Lead Indicators: These measure activities that predict future results (e.g., code coverage, number of pull requests reviewed per day, percentage of stories with acceptance criteria defined). They tell you how you're doing, and where you can proactively improve.
  • Lag Indicators: These measure results – the outcomes you’re trying to achieve (e.g., deployment frequency, mean time to resolution (MTTR), customer satisfaction). They tell you what happened. While important, they’re often a reflection of past efforts.

The key isn't to ditch lag indicators, but to use them to inform your focus on lead indicators. For example, if MTTR is high, don't just accept it. Investigate why. Is it because of insufficient test coverage (a lead indicator)? Lack of documentation? Slow build times?

Lead IndicatorLag Indicator
Code Coverage (%)Deployment Frequency
PR Review Time (hours)Mean Time to Resolution (MTTR)
Stories with Acceptance Criteria (%)Customer Satisfaction (CSAT)

Beyond Velocity: Key Metrics for Engineering Improvement

Here are a few metrics I’ve found particularly valuable, moving beyond the often-misunderstood “velocity”:

  • Cycle Time: From the moment a task is started to the moment it’s deployed. Reducing cycle time is a powerful way to improve delivery speed and responsiveness.
  • Change Failure Rate: The percentage of deployments that cause incidents in production. This is a direct measure of quality and stability.
  • Code Coverage: While not a perfect metric, it can indicate the thoroughness of your testing. Aim for a reasonable level of coverage, but don't treat it as a goal in itself.
  • Pull Request Review Time: Long delays in PR reviews are a significant bottleneck. Encouraging prompt reviews and breaking down large PRs into smaller, more manageable chunks significantly speeds up the development process and reduces bottlenecks.
  • Defect Density: The number of defects per unit of code. Track this over time to identify areas of code that are particularly prone to errors.

Important Note: Kaur & Sengupta (2011) highlight the importance of analyzing why projects fail. Don't just track defect density; investigate root causes to prevent recurrence.

Building a Culture of Continuous Improvement

Metrics are most effective when they're used within a culture of continuous improvement. Here are a few tips:

  • Transparency: Share metrics openly with the team. Don't hide bad news.
  • Focus on Trends, Not Just Numbers: Look for patterns and changes over time. A single dip or spike is rarely significant.
  • Retrospectives: Regularly discuss metrics in retrospectives. What’s working well? What needs improvement?
  • Empower the Team: Let the team own the metrics and come up with solutions to improve them.
  • Avoid Punitive Use: Never use metrics to punish individuals or teams.

It’s not always easy to shift a team’s focus from output to outcome, but the benefits are significant.

The Incremental Approach

Building this culture requires patience and a willingness to experiment. Start small, iterate, and learn as you go. Don't try to implement all of these metrics at once. Start with a few key indicators and iterate. As the TechStars mentors suggest ("Do More Faster"), focus on making incremental advances and continuously learning from your data.

Metrics are tools, not magic bullets. Used wisely, they can help you build a more effective, efficient, and happy engineering team. But remember: the goal isn’t to collect data, it’s to improve.

What one metric will you focus on this week to start driving real improvement within your team?

Key Takeaways:

  • Focus on Lead Indicators: Proactively address activities that predict future success.
  • Embrace Transparency: Share metrics openly to build trust.
  • Avoid Punitive Use: Foster a culture of learning, not blame.
  • Start Small: Implement metrics incrementally and iterate based on data.