More AI-Generated Code Is Not the Same as More Software Shipped
AI coding agents can increase code volume quickly. Serious teams should measure review, integration, reliability, maintainability, and shipped product value instead.
Kyluke McDougall
Software Architect & Founder
Table of Contents
- Code Volume Is a Weak Metric
- The Bottleneck Moved to Verification
- The Product Question Still Belongs to Humans
- What Founders and CTOs Should Measure Instead
- 1. Accepted Changes
- 2. Review Load
- 3. Integration Quality
- 4. Change Failure Rate
- 5. Time to Understand
- 6. Product Impact
- A Better Operating Model for AI-Assisted Delivery
- The Real Advantage Is Delivery Discipline
AI coding agents are getting very good at producing code.
That is no longer the interesting part.
The more important question is whether a team can turn that extra code into software that is reviewed, integrated, tested, deployed, operated, understood, and still changeable six months later.
That question became visible again this week after a Forbes article, widely discussed on X, reported a striking gap from an MIT-linked analysis: AI coding agents may increase the amount of code written by around 180%, while shipped software rises by only about 30%.
Whether the exact numbers hold across every company is less important than the pattern. Many teams are already feeling it. AI makes implementation feel cheaper. It does not automatically make the rest of software delivery cheaper.
In some cases, it makes the hidden work louder.
More branches. More diffs. More generated tests to inspect. More duplicated logic. More edge cases. More code that compiles but does not quite fit the product, the architecture, or the operational reality.
For founders, product owners, CTOs, and Mittelstand teams, the lesson is not “avoid AI coding tools.” That would be the wrong conclusion. The lesson is simpler and more useful:
AI-assisted development should be measured by shipped product value, not by generated code volume.
Code Volume Is a Weak Metric
Lines of code have always been a poor proxy for progress.
They are easy to count, so they are tempting. But code is not the deliverable. The deliverable is a working product capability inside a real system.
A team can write a lot of code and still move slowly if that code creates:
- unclear ownership;
- brittle integrations;
- inconsistent patterns;
- poor test coverage;
- duplicated business logic;
- hard-to-debug behaviour;
- deployment risk;
- documentation gaps;
- future migration pain.
AI coding agents make this old problem sharper because they reduce the friction of creating implementation. A developer can ask for a feature, a refactor, a test suite, a migration, a new component, or a CLI script and receive a plausible result quickly.
That speed is useful.
But code generation is only one stage in the delivery chain. The chain also includes product judgement, architecture, review, testing, integration, release management, observability, support, and maintenance.
If only the writing stage gets faster, the bottleneck moves.
It often moves to the senior engineers who have to review the output. Or to the product owner who has to decide whether the feature actually solves the right problem. Or to operations, where generated changes meet real data, real permissions, real users, and real failure modes.
This is why a team can generate much more code without shipping proportionally more software.
The Bottleneck Moved to Verification
The phrase “it works” is doing too much work in AI-assisted development.
An agent can run a command and report success. It can add tests. It can update a README. It can explain what it changed in confident language. Some of that will be correct. Some of it will be incomplete. Occasionally, it will be confidently wrong.
The practical question is not whether the agent says the change works.
The practical question is what evidence the team requires before accepting that claim.
For a serious product, evidence usually means:
- the relevant tests were run and are meaningful;
- the diff is small enough to review;
- the change follows existing architecture;
- edge cases were considered;
- data migrations are reversible or at least well understood;
- permissions and security implications are explicit;
- observability is sufficient for production;
- documentation changed where future maintainers will look;
- the release path and rollback path are clear.
This is not bureaucracy. It is how software becomes dependable.
AI can help with this work too. It can propose tests, explain diffs, find likely regressions, write migration notes, compare implementation options, generate observability checklists, and prepare review summaries.
But the team has to ask for those things. More importantly, the delivery process has to require them.
Otherwise AI mostly accelerates the easiest part: producing more text that looks like software.
The Product Question Still Belongs to Humans
AI coding tools are especially attractive when a team already knows what it wants.
They are much weaker when the real problem is ambiguous. That is common in product work. The hard part is often not implementing a button, endpoint, dashboard, or workflow. The hard part is deciding whether that thing should exist, how it should behave, which constraints matter, and what trade-offs the business can live with.
When generated code becomes cheap, weak product decisions become expensive faster.
A founder can now build three versions of an internal tool in an afternoon. A product team can generate a complex onboarding flow before agreeing what activation actually means. A CTO can ask an agent to refactor a subsystem without first deciding which boundary should become stable.
The output looks like progress. Sometimes it is.
But if the underlying decision is wrong, AI simply gives the wrong decision more surface area.
This is where McDougall Digital’s architecture-first approach matters. Architecture is not about drawing boxes before anyone writes code. It is about making the important product and technical decisions visible early enough that fast implementation does not run in the wrong direction.
The better question before using an AI agent is not:
“Can it build this?”
It is:
“What decision are we trying to validate, and what would count as a good result?”
That keeps AI-assisted development connected to product value instead of output volume.
What Founders and CTOs Should Measure Instead
If code volume is the wrong metric, what should leaders watch?
Start with delivery outcomes.
1. Accepted Changes
How much AI-assisted work survives review without major rework?
Generated code that is deleted, rewritten, or endlessly corrected is not free. It consumes review attention. It creates noise. It may slow the team down even if the first draft appeared quickly.
Track accepted changes, not generated changes.
2. Review Load
AI can produce diffs faster than people can responsibly review them.
That means review quality becomes a capacity constraint. If senior engineers become full-time inspectors of AI output, the process is not scaling. It is moving work from typing to supervision.
Useful signs include smaller diffs, clearer intent, better test evidence, and less back-and-forth before merge.
3. Integration Quality
Does AI-assisted work fit the existing system?
This is where many generated changes fail quietly. They solve the local task but introduce a second pattern, a hidden dependency, a leaky abstraction, or a deployment assumption that does not belong.
Good AI adoption should make integration smoother, not more fragile.
4. Change Failure Rate
Does the extra output increase incidents, rollbacks, hotfixes, or support load?
If yes, the team is not gaining speed. It is borrowing from operations. For serious products, this is the wrong trade.
5. Time to Understand
Can a developer understand the changed area a month later?
Maintainability is often invisible until the next change. AI-generated code that is clever, inconsistent, or poorly documented may pass today and slow down every future task.
For Mittelstand and long-lived SaaS products, this matters enormously. Most business software is not a weekend prototype. It becomes part of operations.
6. Product Impact
Did the change improve the metric, workflow, or customer outcome it was meant to improve?
This is the metric that prevents AI adoption from becoming theatre. More commits do not matter if activation, retention, support efficiency, reliability, or revenue do not improve.
A Better Operating Model for AI-Assisted Delivery
The right response is not to slow everything down until AI becomes pointless.
The right response is to design the delivery system so speed has somewhere useful to go.
A practical operating model might include:
- clear task briefs before implementation starts;
- repository instructions that explain architecture, naming, boundaries, and test expectations;
- small, reviewable diffs rather than giant agent-generated batches;
- mandatory evidence from tests, type checks, migrations, and manual verification where relevant;
- explicit human approval for architecture changes, data model changes, security-sensitive changes, and production operations;
- documentation updates for decisions that future maintainers will need;
- observability and rollback expectations for production-facing work;
- metrics that compare AI-assisted delivery against real outcomes, not prompt activity.
This does not make AI coding agents less useful.
It makes them more useful.
The best use of AI in software development is not to produce as much code as possible. It is to reduce the cost of doing the right work well: exploring options, tightening tests, improving documentation, refactoring safely, preparing migrations, reviewing edge cases, and turning rough ideas into maintainable product changes.
That is a much better target than “more code.”
The Real Advantage Is Delivery Discipline
The companies that benefit most from AI coding tools will not necessarily be the ones that generate the most code.
They will be the ones that can absorb AI speed without losing control of the product.
That requires architecture. It requires review habits. It requires product judgement. It requires operational maturity. It requires knowing which work should be automated, which work should be accelerated, and which decisions still need a human owner.
For a small team, that can be a competitive advantage. AI can help a focused team move faster than a larger organisation, provided the team keeps the system understandable.
For a Mittelstand company, it can reduce the cost of modernising internal tools, workflows, and legacy systems, provided the work is designed around maintainability and data responsibility.
For a SaaS company, it can improve delivery speed, provided the team measures shipped value rather than generated output.
That is where McDougall Digital can help.
We work with teams that want the benefits of AI-supported software development without turning their product into a pile of plausible code. That means architecture-first delivery, pragmatic AI workflows, maintainable implementation, security-aware operating models, and a clear line between prototype speed and production responsibility.
AI coding agents can absolutely help serious products move faster.
But the goal is not more code.
The goal is more software that should exist, works reliably, can be changed safely, and still makes sense when the next team has to own it.