The 84% Problem
Why Faster Engineering Requires Fewer Decisions, Not More Tools
A familiar expectation has taken hold in discussions about AI-assisted engineering: that faster tools will finally make engineering organizations meaningfully faster. Code generation, automated refactoring, test scaffolding, intelligent reviews, all promise to compress work that once took days into minutes. In certain contexts, this promise is already being fulfilled.
And yet, for many teams, the lived experience is more ambiguous. Code may be written faster, but delivery timelines remain stubbornly resistant to improvement. Work still queues up. Pull requests still stall. Architectural questions resurface repeatedly. Coordination costs remain high. The sense of speed rarely matches the theoretical gains.
The problem is not that AI fails to accelerate coding. It demonstrably does. The problem is that coding was never the dominant constraint.
Over the last few years, multiple industry studies (notably from organizations studying developer experience such as Atlassian) have converged on a similar observation: the majority of engineering time is spent outside writing new code. The exact percentage varies by team and context, but figures in the range of 80–85% appear consistently when engineers are asked how their time is actually consumed. The precise number matters less than the pattern itself. Most engineering effort accumulates outside the editor, in work that is less visible, harder to instrument, and more sensitive to organizational design.
This is where speed is lost. And it is also where most attempts to regain it quietly fail.
Why Speed Breaks Outside the Codebase
The typical response to this observation is to look for better tools. If coding is no longer the bottleneck, perhaps planning, coordination, or review can be automated next. This instinct is understandable. It mirrors earlier attempts to industrialize software development: standardize inputs, increase throughput, reduce variability. Where problems are well-bounded and repeatable, this approach works. Where uncertainty dominates, it does not.
The non-coding majority of engineering work is slow not because it lacks automation, but because it is where decisions accumulate. Decisions about structure, boundaries, ownership, acceptable trade-offs, and long-term intent. These decisions cannot be dissolved simply by adding more information. When they are deferred rather than made, they resurface downstream as delay. Most engineering delay is unpaid interest on decisions that were never fully made.
Settled Decisions as a General Property of Fast Systems
Underneath all of this is a more general pattern, one that extends beyond engineering. Systems slow down not when they lack tools, but when they lack settled decisions. Where decisions remain implicit, they are paid for repeatedly through coordination, rework, review, and delay. Where decisions are made once and preserved, speed becomes an emergent property rather than a constant effort.
This distinction matters because modern organizations increasingly try to buy speed by adding capability, rather than by reducing undecided ground.
Why AI Helps Unevenly
AI is often introduced into this space as a universal accelerator. It summarizes documents, answers questions, reviews code, and proposes changes. In doing so, it promises to reduce the friction that surrounds engineering work outside the codebase.
In practice, the results vary sharply. In some organizations, AI shortens feedback loops and reduces coordination cost. In others, it increases noise, multiplies review effort, and deepens existing confusion. The difference is rarely the model itself. It is the structure of the system into which the model is placed. AI does not eliminate decision-making; it exposes where decisions were never settled in the first place.
Documentation as a Decision Surface
Consider documentation. In many organizations, documentation exists primarily as a human artifact: loosely structured text, diagrams embedded in slides, fragments of intent scattered across tickets and chat logs. Such documentation may be useful to a patient reader, but it does not function as a coherent system. It cannot be reliably queried, reasoned over, or kept in sync with reality. As a result, engineers repeatedly reconstruct context that once existed, and AI is left to guess where clarity is missing.
Where documentation is treated differently and architectural intent is expressed explicitly, where constraints are recorded rather than implied, and where diagrams are maintained in structured, machine-readable forms, a different dynamic emerges. Ambiguity collapses earlier. Questions are answered without interruption. AI becomes capable of reasoning over structure rather than inferring it indirectly. The speed gain here is not in execution, but in the elimination of repeated clarification. Fewer decisions need to be revisited because fewer decisions were left implicit.
Quality Gates as Stabilized Judgment
A similar pattern appears in quality enforcement. When standards live primarily in reviewers’ heads, every pull request becomes a site of negotiation. Naming, structure, complexity, and formatting are re-decided repeatedly, often by different people applying slightly different criteria. Reviews slow down not because changes are complex, but because low-level decisions are being made again and again.
When those same standards are encoded into tooling, the nature of review changes. Feedback arrives immediately. The surface area of disagreement shrinks. Both humans and AI operate within known boundaries. What changes is not control, but focus. Judgment is preserved for questions that genuinely require it, rather than being consumed by decisions that were already made but never stabilized.
Code Review as a Symptom, Not the Disease
Code review is where these dynamics become most visible. In many teams, pull requests remain open not because the changes are difficult to understand, but because review has become the primary mechanism for compensating for missing structure elsewhere. Architectural intent must be inferred rather than referenced. Standards must be enforced manually. Tests do not clearly delimit acceptable behavior.
Under these conditions, review time expands to absorb uncertainty, conflicts accumulate and momentum is lost.
Where the surrounding system is well-defined, review contracts instead of expanding. Attention shifts away from mechanical correctness toward intent, trade-offs, and risk (the places where human judgment is actually required). The result is not fewer reviews, but reviews that converge.
Tests and the Cost of Deciding
Testing plays a related role. When tests are tightly coupled to implementation, change becomes expensive and decisions are postponed. When tests stabilize behavior rather than structure, internal change becomes cheaper. Engineers can reason locally without revalidating the entire system. Decisions that once felt risky become routine. Speed follows not from automation, but from confidence.
Fewer Repeated Decisions, Not More Tools
The common thread across these examples is not tooling sophistication, but decision economy. Engineering organizations become faster when they make fewer decisions repeatedly. Decisions about structure, standards, and boundaries must be made deliberately, recorded explicitly, and enforced consistently. When this happens, large portions of the 84% cease to be sites of ongoing deliberation. They become background conditions.
The mistake many organizations make is to treat AI as a substitute for structural clarity. When clarity is absent, AI amplifies confusion. When clarity is present, AI amplifies speed. The difference is not subtle, but it is often overlooked.
The 84% problem is not solved by accelerating what is already fast. It is solved by deciding what no longer needs to be decided again. Engineering organizations that do this will find that AI becomes quietly effective, not because it is powerful, but because it is finally operating inside a system where judgment has already done its work.


Hats off, amazing article.