How to deliver high-quality software with AI-native development / Manage the team and the numbers
Measure delivery, not how much code was generated
Every AI coding tool reports how much it produced, and none of those numbers tell you whether customers received working software. This page covers the delivery metrics worth using to run an AI-native team, why self-reported speed is unreliable in both directions, and how to read the numbers when throughput and stability move in opposite directions.
Published September 1, 2026. Editorial.
Key takeaways
- DORA's current model uses five metrics, split into throughput and instability [1]. None of them counts code produced.
- Self-reported speed is unreliable. In METR's 2025 trial, developers who were 19 percent slower with AI believed they had been 20 percent faster [2].
- Expect throughput and stability to move in opposite directions at first. That pattern matches DORA's 2025 finding and tells you where to look [3].
- Rework is the number most teams are missing: how often merged work comes back for correction within two weeks.
The first question a board asks about AI adoption is what it achieved. The easiest numbers to produce are the worst ones to answer with: lines generated, pull requests opened, tokens spent, tools adopted. All of them measure activity, and activity was never the slowest step.
What to measure instead
DORA's current model uses five metrics, divided into two dimensions. Throughput is change lead time, deployment frequency, and failed deployment recovery time. Instability is change fail rate and deployment rework rate, where rework counts unplanned deployments that happen as a result of a production incident [1].
Those five are worth adopting as they are, for two reasons beyond their quality. They are defined by someone outside your company, so nobody can redefine one, without others noticing, when it looks bad. And they describe the delivery of working software rather than the production of code, which is the distinction this whole page exists to protect.
To those five we add one that DORA does not name and every AI-native team needs: rework rate at the change level, meaning the share of merged changes that come back for correction within two weeks. It is the clearest signal of whether generated work is actually finished, and it is usually the first number that moves when a team tightens its definition of done.
Why code-output metrics mislead
Three specific ways, all of which we have watched happen.
They measure the cheap part. Producing code is no longer the slowest step. Reporting how much of it exists is reporting on the resource you have plenty of.
They are easy to manipulate, and get manipulated without anyone deciding to. An engineer who knows pull request count is being watched will open more pull requests. Nobody has to be cynical for this to happen; people optimise for what is measured because that is what measurement does.
They draw attention away from the real limit. If review capacity is your limit, more generated code makes the queue worse, and a rising count of generated code looks like progress while delivery slows. That is the pattern behind our post on the review queue is the new bottleneck.
Do not trust how fast it feels
There is a specific and well-measured mistake here. METR ran a randomised controlled trial in 2025 with 16 experienced open-source developers across 246 real issues in repositories they knew well. The developers took 19 percent longer when allowed to use AI tools. They estimated afterwards that AI had made them 20 percent faster, and had forecast a 24 percent speed-up before starting [2].
That is a gap of 39 percentage points between measured and perceived, in the direction of optimism, among experienced engineers on familiar code. METR is explicit that this does not show AI fails to speed up most developers, and the setting matters: mature codebases the participants knew deeply [2].
The lesson for a leader is narrow and important. Do not base adoption decisions on how the team says it feels, in either direction. The engineer who says AI made them twice as fast and the one who says it wastes their time are both reporting a perception that the only controlled study we have found to be wrong by a wide margin.
Expect the two groups of numbers to move apart
When a team adopts AI seriously, the normal early pattern is throughput up and stability down. DORA's 2025 report of nearly 5,000 professionals found exactly that pattern: a positive relationship between AI adoption and delivery throughput and product performance, and a negative relationship with delivery stability [3].
Read that as a diagnosis rather than a warning. It means change volume rose faster than the control systems around it, so the next investment is in the controls: automated testing, release practice, feedback speed. Google's summary names those directly [3].
The failure is reporting only one dimension. A leader who reports throughput sees a triumph. A leader who reports incidents sees a disaster. Both are looking at the same team, and only the pair together tells you what to do next.
A reporting set that fits on one page
For a monthly or quarterly report, six numbers and one paragraph.
Change lead time and deployment frequency, for throughput. Change fail rate and failed deployment recovery time, for stability. Rework rate, for whether work is finished when it is called finished. And one product or business number that the engineering work was supposed to move, because a team can be excellent on all five and still be building the wrong thing.
The paragraph is what the numbers do not show: which constraint you are working on now, and what you expect to move next quarter. Numbers without that look like a list of scores rather than a management plan.
What not to do with these numbers
Two failure modes, both common enough to name.
Do not compare teams. Change fail rate on a payments service and on an internal dashboard are different numbers describing different levels of acceptable risk, and ranking them leads people to manipulate the numbers instead of improving. Compare a team to its own trend.
Do not report a single number as a verdict. Throughput without stability shows only how fast you are producing risk, and stability without throughput shows only how safely you are making no progress. Report the two together, and reporting one of them alone is the most common way these metrics get used to argue for something that was already decided.
Do not target individuals. The moment a metric is attached to a person's review, it stops measuring the system and starts measuring the person's response to being measured. Our post on measure engineers by outcomes, not output makes the argument, and it is more urgent now that individual output figures are easy to produce.
Getting the data without starting a platform project
The usual objection to all of this is that the team does not have the instrumentation to produce the numbers. In practice you can get every one of them from systems you already run, in an afternoon, and a simple version is enough to see a trend.
Deployment frequency comes from your deployment tooling or, failing that, from tags in version control. Change lead time is the gap between the first commit on a change and the deployment that carried it, both of which are already recorded. Change fail rate needs one convention, not a system: mark the deployments that required immediate intervention, in a field, at the time. Failed deployment recovery time is the gap between that mark and the deployment that fixed it. Rework at the change level needs one label applied during triage.
The only real requirement is that someone marks incidents and corrections consistently, which is a habit rather than a tool. Teams that wait for a platform to produce these numbers perfectly usually wait for a year and manage from single stories in the meantime, which is worse than managing on approximate figures that are honest about being approximate.
One caution: whatever you build, keep the definitions stable. A metric whose definition changes is a metric with no history, and history is the whole value here, since the comparison that matters is against your own past rather than against anyone else.
What a board actually asks
The question from outside engineering is rarely about lead time. It is some version of: is this working, and what did it give us.
Three sentences answer it honestly. Here is what we released and how often, from the throughput pair. Here is what it cost us in stability, from the fail rate and recovery time. Here is the constraint we are fixing next, and the number we expect to move.
That answer holds up under close checking because it does not claim more than the data supports, and because it treats a stability cost as a fact to manage rather than a failure to hide. The alternative, presenting throughput alone as evidence that the adoption succeeded, holds up exactly until the first bad quarter of incidents, at which point every number you presented becomes suspect at once.
Cost belongs next to delivery, not inside it
Token spend and tool licences are real costs and worth tracking, but they are inputs and they belong in the same conversation as headcount rather than in the delivery metrics. The useful framing is cost per delivered change over time, which is covered in budgeting agent capacity and cost. Mixing spend into a delivery scorecard makes it too easy to celebrate a cost reduction that came from releasing less.
Where this connects
These numbers tell you which part of the model to work on: rework leads you to the definition of done, change fail rate to the gates and release practice, recovery time to observability. The code-quality counterpart, measuring the software rather than the delivery, is metrics for AI code quality. The main guide shows how it all fits together.
Common questions
What metrics should we use to measure an AI-native engineering team?
DORA's five: change lead time, deployment frequency and failed deployment recovery time for throughput, plus change fail rate and deployment rework rate for instability. Add rework at the change level, meaning how often merged work returns for correction within two weeks, which is the clearest signal that generated work is genuinely finished.
Why are lines of code and pull request counts bad metrics now?
They measure the part that stopped being scarce. They are also manipulated without anyone deciding to manipulate them, because people optimise for what is watched, and they draw attention away from the real limit: if review capacity is your limit, more generated code makes the queue worse while the count of generated code looks like progress.
Can we trust engineers' reports of how much faster AI makes them?
No, in either direction. METR's 2025 randomised trial found 16 experienced developers took 19 percent longer with AI tools on 246 issues in codebases they knew well, while estimating they had been 20 percent faster. That is a gap of 39 percentage points between perception and measurement among experienced people.
Is it normal for stability to get worse after adopting AI coding tools?
It is the common pattern. DORA's 2025 report of nearly 5,000 professionals found a positive relationship between AI adoption and delivery throughput and a negative one with delivery stability. Read it as a diagnosis: change volume grew faster than the control systems, so testing, release practice and feedback speed are the next investment.
What is deployment rework rate and why does it matter?
DORA defines it as the ratio of deployments that are unplanned but happen as a result of an incident in production. In a team whose change volume has risen it is often the earliest quantitative sign that gates are letting something through, because it counts the deployments you did not intend to make.
How many numbers should an engineering report contain?
Six and a paragraph. Change lead time and deployment frequency for throughput, change fail rate and failed deployment recovery time for stability, rework rate for whether work is finished, and one product number the engineering work was meant to move. The paragraph says which constraint you are working on and what should move next.
Should we compare delivery metrics between teams?
No. Change fail rate on a payments service and on an internal dashboard describe different levels of acceptable risk, so ranking them leads people to manipulate the numbers instead of improving. Compare each team against its own trend, which is the only comparison where a change in the number means a change in the system.
Should individual engineers be measured on AI-assisted output?
No. Once a metric is attached to someone's review it stops measuring the system and starts measuring their response to being measured, and individual output figures are now trivially easy to produce. Measure the delivery of the team and judge individuals on outcomes and judgment, as before.
Where do token spend and tool costs belong?
Alongside headcount as an input, not inside the delivery scorecard. The useful framing is cost per delivered change over time. Mixing spend into delivery metrics makes it easy to celebrate a cost reduction that actually came from releasing less, which is the opposite of the intended result.
Which metric moves first when a team fixes its process?
Usually rework, because tightening what counts as done stops half-finished work being merged, and that shows up within a fortnight. Change fail rate follows once gates and release practice improve, and lead time last, since it depends on the whole pipeline rather than on any single control.
References
- [1] DORA, DORA metrics: the four (now five) keys: change lead time, deployment frequency, failed deployment recovery time (throughput), change fail rate and deployment rework rate (instability), with deployment rework rate defined as “the ratio of deployments that are unplanned but happen as a result of an incident in production”. Accessed 1 September 2026.
- [2] METR, Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity (July 2025): 16 developers, 246 issues, 19% longer with AI tools, self-estimated 20% speed-up, forecast 24% speed-up. Accessed 1 September 2026.
- [3] Google Cloud / DORA, 2025 State of AI-assisted Software Development report: positive relationship between AI adoption and software delivery throughput and product performance, negative relationship with delivery stability, from nearly 5,000 respondents. Accessed 1 September 2026.
Related reading
How to measure whether AI is actually helping
Developers in one study were 19 percent slower with AI tools and believed they had been 20 percent faster. That gap is the reason you cannot judge this programme by how it feels.
You cannot measure engineers by how much they produce
Lines of code, tickets closed, and hours logged all measure activity rather than progress. Here is how we think about engineering output without numbers that only look good.
The review queue is the new bottleneck
When code got faster to write, the slowest step became the one place nobody measures. A review queue is invisible for about a quarter, and by the time you can see it the fastest-moving work is also the least read.
More in Manage the team and the numbers
Team shape and ownership when agents do the typing
When typing is no longer the slowest step, a team built around typing no longer fits the work. This page covers what the roles become, why ownership has to be explicit rather than implied by who wrote the code, how the review load should be distributed, and what happens to junior engineers.
Budgeting agent capacity and cost
Agent spend behaves unlike a software licence: it varies with how the work is done, it can rise sharply without anyone approving anything, and the cheapest run is often not the cheapest outcome. This page covers what actually drives the cost, how to budget it, which controls work, and how to compare it against the thing it replaced.