Measuring AI Delivery Success

Measuring Success in AI-Assisted Software Development

Reviewed by Juan Pablo Lorandi, CTO for Azumo

AI coding assistants inflate output metrics such as lines of code, commits and story points, so those numbers stop telling you whether a team is productive. Measure outcomes instead: cycle time, escaped defects, review time, change failure rate, recovery time, test quality and rework rate, alongside business metrics such as adoption and support volume. Compare the same team on the same codebase against a baseline taken before AI adoption.

The most common mistake teams make when measuring the impact of AI coding assistants is measuring the wrong things. Lines of code generated. Number of commits per day. Story points completed per sprint. These metrics were already imperfect proxies for productivity before AI entered the picture. With AI, they become actively misleading.

An AI coding assistant can generate hundreds of lines of code in minutes. It can produce commits at a pace no human developer would match. It can clear a sprint backlog in days. None of these outcomes tell you whether the software is valuable, reliable or maintainable. AI productivity is not measured by how much code was generated. It is measured by how much useful software reached users safely.

The Problem with Output Metrics

Output metrics measure activity. They count things that happened: lines of code, commits, pull requests opened, tickets closed, story points burned. Without AI, these metrics had a rough correlation with productivity because producing them required effort, and effort loosely correlated with value delivered. A developer who closed more tickets was probably contributing more than one who closed fewer, all else being equal.

AI breaks this correlation. A developer using an AI assistant can close ten tickets in the time it previously took to close two. But if six of those ten require rework within a week, if three introduce subtle bugs that surface in production, if the code adds complexity that slows future development, the raw ticket count overstates the actual contribution. The output increased. The value may not have.

This is not a theoretical concern. Anthropic's research on AI coding assistant adoption found that developers who used AI tools made more commits, touched more repositories and worked across a broader range of programming languages. These are real behavioral changes. Whether more commits across more repositories in more languages translates into better software outcomes is a question that requires different measurements entirely.

Story points deserve particular scrutiny. Story points were designed to estimate relative effort, not to measure productivity. When AI reduces the effort required for a category of work, the story-point scale loses its calibration. A task estimated at eight points based on historical effort might take two points of actual effort with AI assistance. If the team recalibrates, historical comparisons become meaningless. If it does not recalibrate, velocity inflates without reflecting any real productivity improvement. Either way, story points stop being a useful signal.

Engineering Metrics That Measure Outcomes

The metrics that reveal whether AI-assisted development is working measure outcomes rather than outputs. They focus on how effectively code moves from idea to production, how reliably it performs once deployed and how much follow-up work it generates.

Cycle time measures the elapsed time from when work begins to when it reaches production. It is one of the most revealing metrics for AI-assisted teams because it captures the entire delivery process, not just the coding phase. If AI cuts coding time in half but review time doubles because reviewers struggle with AI-generated code, cycle time may not improve at all. Cycle time exposes bottlenecks wherever they occur: development, review, testing or deployment.

Escaped defects count the bugs that reach production. This metric matters more with AI-assisted development because AI-generated code can pass automated tests while containing subtle logical errors, integration issues or edge-case failures that only surface in production. An increase in escaped defects after AI adoption signals that the team's quality assurance practices have not kept pace with the increase in code throughput, a dynamic the QA chapter of this handbook covers in detail.

Review time measures how long pull requests wait for review and how long the review takes once it begins. As the chapter on code review in the AI era discusses, review practices must evolve for AI-generated code. Tracking review time alongside review effectiveness, measured by the rate at which reviews catch issues that would have caused production problems, shows whether the review process is keeping pace with development speed or becoming a rubber stamp.

Deployment frequency and change failure rate, two of the core DORA metrics, give complementary views of delivery performance. Deployment frequency alone is a vanity metric. A team that deploys ten times a day but breaks production twice a week is not outperforming a team that deploys twice a week with zero failures. The relationship between deployment frequency and change failure rate is what matters. Healthy AI adoption shows deployment frequency increasing while change failure rate stays stable or decreases.

Mean time to recover measures how quickly the team resolves production incidents. It becomes more important with higher deployment frequency because more deployments mean more potential incidents, and the cost of each incident depends on how quickly it is resolved. Teams that invest in rollback mechanisms, feature flags and monitoring, as described in deployment practices for AI-generated code, see lower MTTR because they have the tools to contain and resolve problems quickly.

Test coverage quality is distinct from test coverage percentage. A codebase with high line coverage, where the tests are superficial assertions AI generated to satisfy a coverage requirement, is not well tested. Test coverage quality measures whether the tests verify meaningful behavior, catch real bugs and give confidence that the code works. It is harder to measure quantitatively, but code review can assess it, and mutation testing scores provide an objective proxy.

In the Azumo SDLC, test adequacy has its own review checklist, separate from the checklists for correctness and security, and work missing a test goes back to build. The question at review is whether the tests are adequate for the change, not whether a coverage number was reached.

Rework rate, the fifth DORA metric, is perhaps the single most important metric for evaluating AI-assisted development. It measures the percentage of changes that require follow-up changes within a defined period after deployment. If deployment frequency doubles and rework rate triples, the team is not more productive. It is generating technical debt faster. The AI is producing code that clears initial quality gates but fails under real-world conditions, and the additional work consumes the time saved by faster initial development.

AI-authored code percentage tracks what proportion of the codebase was generated with AI assistance. It is not a quality metric on its own, but it gives context for interpreting other metrics. If escaped defects increase while most recent code is AI-authored, the correlation suggests that the team's review and testing processes need to adapt to the characteristics of AI-generated code.

Business Metrics That Complete the Picture

Engineering metrics tell you whether the team is building software efficiently and reliably. Business metrics tell you whether the team is building the right software. Both are necessary. Neither is sufficient alone.

The most basic business question is whether the team is building features that users want. User adoption metrics, such as feature activation rates, daily and monthly active usage and engagement depth, show whether the software is solving real problems or just satisfying specifications. AI makes it possible to build features faster, but building the wrong feature faster does not create value. It creates waste at higher velocity.

Support ticket volume and patterns give a direct signal about software quality from the user's perspective. An increase in support tickets after a feature launches suggests that the feature does not work as users expect, regardless of whether it works as the specification describes. A decrease in tickets for a workflow that was redesigned with AI assistance suggests real improvement. Tracking tickets by category, separating bugs, usability issues and feature requests, shows where the software is succeeding and where it is failing.

Revenue impact, retention impact and workflow efficiency impact connect software development to business outcomes. These metrics are harder to attribute to specific features or practices, but they are ultimately what matters. A team that ships twice as many features but sees no improvement in customer retention is not creating value. A team that ships fewer features, each of which measurably improves a key business metric, is outperforming despite lower output.

The DORA research program has consistently found that software delivery performance correlates with organizational performance, not with tool usage or technology choices. Teams that deploy frequently, with low failure rates and fast recovery, tend to work in organizations that perform better financially and deliver more value to their customers. AI coding assistants can contribute to this performance, but only when they are embedded in delivery practices that put outcomes ahead of activity.

The Estimation Challenge

AI-assisted development creates a specific challenge for project estimation and cost modeling that teams need to confront honestly. Productivity gains from AI compound over time as teams learn to use the tools well, as codebases accumulate the context that makes AI assistance more accurate and as organizational practices adapt. Baseline productivity is a moving target.

A task that was estimated at ten hours six months ago might be estimated at seven hours today, not because the original estimate was wrong but because the team's capability with AI assistance has improved. Each quarter of AI adoption shifts the baseline that estimates are measured against.

This creates a practical problem for fixed-price contracts, project budgets and capacity planning. Historical data becomes a less reliable predictor of future effort because the team's productivity is changing. The answer is not to abandon estimation but to update baselines frequently, measure the same team working on the same codebase over time and track the rate of improvement rather than assuming a static productivity level. If you hire a custom software development company, ask how its estimates account for a moving baseline. For how we handle it, see how Azumo prices custom software.

Establishing Baselines and Measuring Change

The most reliable way to measure the impact of AI-assisted development is to compare the same team working on the same codebase before and after AI adoption. Cross-team comparisons are confounded by differences in team composition, codebase complexity, domain difficulty and organizational context. Before-and-after comparisons within the same team control for these variables and isolate the effect of AI assistance.

This requires establishing baselines before AI adoption begins. Teams should measure cycle time, escaped defects, review time, deployment frequency, change failure rate, rework rate and the relevant business metrics for at least two to three months before introducing AI tools. These baselines are the reference point against which improvements are measured.

After AI adoption, track the same metrics continuously and watch trends rather than point-in-time comparisons. A single sprint where cycle time improves sharply might reflect an easy set of tasks rather than a real productivity gain. A sustained trend of improvement over several months is more meaningful. Similarly, a single sprint with high escaped defects might be an outlier, but a trend of increasing defects alongside increasing deployment frequency signals a systematic quality problem.

The comparison should also track rework rate alongside deployment frequency. This bears repeating because it is the most common blind spot. Teams that celebrate doubling their deployment frequency without noticing that rework has tripled are mistaking activity for progress. The combined view shows whether faster delivery is turning into faster value creation or faster debt accumulation.

Warning Signs and Course Corrections

Several patterns in the metrics should trigger investigation and, if needed, course correction. Deployment frequency increasing while change failure rate also increases suggests that quality gates are not keeping pace with throughput. The response is not to slow down deployment but to strengthen the gates: more rigorous automated testing, better code review practices, tighter integration testing.

Rework rate increasing while cycle time decreases suggests that the team is shipping code that is not ready for production. The speed gain is illusory because the follow-up work to fix problems consumes the time that was saved. The response is to examine what kinds of rework are occurring and address the root causes, whether that is insufficient testing, inadequate requirements or review processes that miss issues in AI-generated code.

Deployment frequency increasing while user adoption stays flat suggests that the team is building faster but not building the right things. More features reach production, but users do not engage with them. This is a product strategy problem more than an engineering problem, but AI-assisted development can make it worse by making it easy to build features without validating whether they are needed.

Test coverage percentage increasing while escaped defects also increase suggests that the tests are not testing the right things. AI can generate tests that achieve high coverage percentages without meaningfully verifying behavior. The response is to focus on test quality rather than quantity: meaningful assertions, integration tests and end-to-end validation rather than chasing coverage numbers.

Measuring What Matters Instead of What Is Easy

The common thread across all of these metrics is the distinction between measuring what is easy and measuring what matters. Lines of code are easy to count. Business value is hard to measure. Deployment frequency is easy to track. Delivery reliability is harder to assess. Story points are easy to sum. Real productivity improvement requires careful analysis.

AI-assisted development sharpens this distinction because it greatly increases the easy-to-measure outputs while leaving the hard-to-measure outcomes unchanged or even degraded. Teams that focus on the easy metrics will convince themselves they are more productive. Teams that focus on the hard metrics will know whether they are.

The DORA research, Anthropic's adoption research and the experience of teams that have used AI coding assistants over an extended period point to the same conclusion. AI-assisted development works when it is measured by outcomes, governed by quality practices and embedded in delivery processes that put value ahead of volume. The measurement framework a team adopts is not just a reporting exercise. It shapes how the team uses AI, what it optimizes for and whether the investment in AI tools pays back.

Related chapters