7 Engineering Metrics That Actually Matter for Agile Teams

7 Engineering Metrics That Actually Matter for Agile Teams
Your engineering team ships code every sprint. But how do you know if you're actually getting better? The right engineering metrics can answer that question—while the wrong ones can destroy team morale and incentivize the exact behaviors you want to avoid.
In this guide, we'll cover seven metrics that engineering managers and agile coaches actually find useful, why vanity metrics cause more harm than good, and how to build a measurement culture that improves performance without creating dysfunction.
Why Engineering Metrics Are Tricky
Before diving into specific metrics, let's acknowledge the elephant in the room: measuring knowledge work is hard. Software development isn't a factory assembly line. A developer who writes 50 lines of elegant, maintainable code may deliver more value than one who writes 500 lines of spaghetti.
As Goodhart's Law reminds us: "When a measure becomes a target, it ceases to be a good measure."
This doesn't mean we shouldn't measure anything. It means we need to be thoughtful about what we measure and how we use those measurements.
The best engineering metrics share three characteristics:
- They measure outcomes, not just outputs
- They're difficult to game without actually improving
- They drive behaviors aligned with team and business goals
Metric 1: Deployment Frequency
What it measures: How often your team ships code to production.
Why it matters: Deployment frequency is one of the four key metrics from the DORA (DevOps Research and Assessment) research. Teams that deploy more frequently tend to have higher-quality code, faster feedback loops, and better business outcomes.
How to use it: Track deployments per day or per week. Don't mandate a specific number—instead, use this metric to identify bottlenecks. If deployments are rare, ask why. Is it fear of breaking things? Manual testing requirements? Lack of automation?
Target range: Elite teams deploy multiple times per day. High performers deploy between once per day and once per week.
Metric 2: Lead Time for Changes
What it measures: The time from code commit to code running in production.
Why it matters: Short lead times indicate a healthy deployment pipeline. Long lead times suggest bottlenecks in code review, testing, or release processes.
How to use it: Measure in hours or days, not weeks. If your lead time is measured in weeks, you're likely batching too many changes together—which increases risk with each deployment.
Target range: Elite teams have lead times under one hour. High performers aim for under one week.
Metric 3: Mean Time to Recovery (MTTR)
What it measures: How quickly your team recovers when something breaks in production.
Why it matters: Failures are inevitable. What separates high-performing teams isn't the absence of failures—it's how quickly they detect and resolve issues. Low MTTR indicates good observability, clear incident response processes, and empowered teams.
How to use it: Track the time from when an incident is detected to when service is restored. Focus on reducing MTTR rather than preventing all failures.
Target range: Elite teams recover in under one hour. High performers recover within one day.
Metric 4: Change Failure Rate
What it measures: The percentage of deployments that cause a failure in production.
Why it matters: This metric balances deployment frequency. A team deploying 50 times a day isn't impressive if half those deployments break something. Change failure rate tells you whether your speed is sustainable.
How to use it: Calculate as: (failed deployments / total deployments) × 100. A "failure" is any deployment that results in degraded service, rollback, hotfix, or incident.
Target range: Elite teams have change failure rates between 0-15%. High performers stay below 30%.
Metric 5: Sprint Velocity (With Caveats)
What it measures: The amount of work a team completes in a sprint, typically measured in story points.
Why it matters: Velocity helps with sprint planning and forecasting. When tracked over time, it reveals patterns and helps teams understand their sustainable pace.
Why the caveats: Velocity is frequently misused. It should never be used to compare teams, justify cramming more work into sprints, or evaluate individual performance. Story points are team-specific and intentionally abstract.
How to use it: Track velocity as a trailing average over 3-4 sprints. Use it for capacity planning, not performance evaluation. If velocity drops, investigate—don't pressure.
Tools like ScrumDeck help teams estimate consistently, making velocity more predictable over time without the dysfunction that comes from treating it as a productivity measure.
Metric 6: Cycle Time
What it measures: The time from when work starts on a task to when it's complete.
Why it matters: Cycle time reveals how long work actually takes to flow through your system. Unlike lead time (which includes waiting), cycle time focuses on active work time—helping you identify process inefficiencies.
How to use it: Track cycle time for different work types (features, bugs, tech debt). Compare them to spot patterns. Long cycle times often indicate unclear requirements, scope creep, or blocked work.
Target range: This varies by work type, but most teams aim for cycle times under two weeks for typical stories.
Metric 7: Team Health and Satisfaction
What it measures: How the team feels about their work, processes, and collaboration.
Why it matters: All other metrics become meaningless if your team is burned out. Sustained high performance requires engaged, motivated people. Team health is a leading indicator—problems here predict future problems in delivery metrics.
How to use it: Run regular retrospectives and health checks. Use anonymous surveys if needed. Pay attention to trends over time, not just absolute scores. Act on feedback.
Tools: Spotify's Team Health Check model, team NPS, or simple happiness scores tracked each sprint.
Metrics to Avoid (or Use Carefully)
Some commonly tracked metrics cause more harm than good:
Lines of Code
More code isn't better. This metric incentivizes verbose, hard-to-maintain solutions and punishes developers who simplify or delete code.
Commit Count
Similar to lines of code, this measures activity rather than outcomes. Some of the most valuable work involves thinking, not typing.
Individual Velocity
Tracking story points per developer destroys collaboration and encourages sandbagging estimates. Software development is a team sport.
Bug Count (as a performance metric)
Tracking bugs found in someone's code creates fear of reporting and incentivizes hidden complexity. Bugs are opportunities to improve, not crimes to punish.
Hours Worked
Knowledge work doesn't correlate with hours at a desk. Tracking hours signals distrust and encourages performative busyness over actual productivity.
Building a Healthy Metrics Culture
Having the right metrics isn't enough—you need the right culture around them.
Make Metrics Visible, Not Weaponized
Display metrics on team dashboards. Discuss them in retrospectives. But never use them punitively. The goal is improvement, not judgment.
Focus on Trends, Not Snapshots
A single sprint's velocity or this week's MTTR tells you very little. Look at trends over months. Are things getting better, worse, or staying flat?
Pair Quantity with Quality
Never track a speed metric without a quality counterbalance. Deployment frequency should pair with change failure rate. Velocity should pair with bug escape rate.
Let Teams Own Their Metrics
Teams should choose which metrics matter most for their current goals. Imposed metrics feel like surveillance. Chosen metrics feel like tools.
Revisit Regularly
The metrics that mattered six months ago might not matter now. Revisit your measurement strategy quarterly. Retire metrics that no longer serve you.
Getting Started
If you're not currently tracking engineering metrics, start small:
-
Begin with DORA metrics (deployment frequency, lead time, MTTR, change failure rate). They're well-researched and widely applicable.
-
Add team health to balance output metrics with input quality.
-
Review monthly as a team. What do the numbers tell you? What should you investigate further?
-
Resist the urge to track everything. More metrics create more noise. Focus on a handful that drive meaningful conversations.
Conclusion
The best engineering metrics illuminate, not intimidate. They help teams understand their current state, identify improvement opportunities, and track progress over time.
Focus on outcomes over outputs. Balance speed with quality. Let teams own their measurements. And remember: metrics are tools for learning, not levers for pressure.
When measurement becomes a partnership between leadership and teams—rather than surveillance from above—that's when real performance improvement happens.
Ready to improve your team's estimation accuracy? Consistent estimation is the foundation of reliable velocity. Try ScrumDeck free to run seamless planning poker sessions with your team.
Ready to improve your team's agile ceremonies?
Sign up to run retrospectives, planning poker, and more with your team.
Get Started