When teams describe a system as “slowing down,” they rarely mean that work has stopped or that people have become less capable. Delivery continues. Features ship. Engineers remain busy, often more so than before. From the outside, the system appears active and productive.

What has changed is more subtle and more structural. Work that once moved cleanly through the system now requires explanation. Changes that could previously be made and validated in isolation begin to depend on context that is not immediately available. Decisions take longer, not because they are inherently more complex, but because their consequences are harder to determine without consulting others.

This shift is usually framed as a problem of scale or complexity. More users, more features, more moving parts. But those explanations describe the environment, not the failure. The more consistent pattern, observed across systems, is that the system itself has stopped being a reliable source of truth about how it works.


Where It Shows Up

The first signals are rarely captured in metrics. They appear in how the system is experienced by the people working within it.

Developers lose the ability to get immediate, trustworthy feedback on their changes. Local environments are incomplete or unreliable, forcing reliance on shared systems that cannot be fully controlled. A change can be made, but validating it requires coordination with other services, teams, or environments. Confidence becomes conditional rather than intrinsic to the work.

At the same time, the way work is described begins to shift. Stories and features stop expressing business intent and instead reference existing system behavior. Rather than defining what should happen, they describe how the system currently behaves and ask for adjustments. The codebase becomes the only authoritative description of the system, even when that description is fragmented or difficult to interpret.

Documentation does not fill the gap. It is absent, outdated, or too generic to be useful. The system does not explain how to work with it, and new contributors cannot rely on it to understand what is safe to change.

As a result, conversations take on an increasing share of the work. Developers, product managers, and QA spend more time clarifying behavior, reconstructing intent, and aligning on expected outcomes. The friction is not simply social; it is structural. The system no longer carries enough information to support independent action.


When It Becomes Clear

Over time, these signals converge into a recognizable pattern. The boundaries between roles and responsibilities begin to blur in ways that are difficult to resolve.

Product teams look to developers to explain how the system behaves, while developers look to product to define how it should behave. Neither side has a complete or authoritative view. Decisions are made, but their ownership is ambiguous, and their implications are not fully understood at the moment they are taken.

In parallel, feedback loops degrade. Developers cannot reliably run the system in a way that reflects production behavior, nor can they confidently isolate the impact of their changes. Validation becomes dependent on coordination rather than a property of the system itself.

Prioritization follows a similar trajectory. Teams are given multiple competing priorities without a stable ordering that holds over time. Work expands, but direction does not consolidate.

At this point, it becomes clear that the issue is not a lack of effort or capability. The system has lost its ability to provide a stable frame for decision-making.


What People Say — and What It Reflects

Organizations describe this condition in ways that are superficially reasonable but structurally revealing.

Product teams will often say that developers need to explain how the system works. This reflects a loss of control over product behavior; the system’s implementation has become the only source of truth, even for those responsible for defining intent.

Developers will describe the system as too complex to run locally. This reflects a deeper issue: the system’s behavior is not understood well enough to be reproduced in a controlled environment.

Managers will emphasize the need to satisfy customer demands or increase delivery speed. This reflects the absence of a predictive model connecting work to outcomes. Without that model, effort cannot be reliably translated into results.

Each of these explanations points to the same underlying condition. The system is no longer capable of explaining itself in a way that supports independent reasoning.


The Strongest Signal

The most reliable indicator of this condition is onboarding.

When a new developer joins the team, the system reveals its true state. If they cannot set up a working environment quickly, cannot understand how the system behaves, and cannot make and validate changes with confidence, the system is not explainable in any practical sense.

Existing team members often compensate through accumulated knowledge and informal guidance. They know which assumptions hold, which areas are fragile, and which paths are safe. That knowledge is rarely encoded in the system itself.

Onboarding exposes the gap between what the system actually represents and what the organization assumes it does.


What’s Missing

Across these scenarios, one absence is consistent.

No one owns the responsibility for ensuring that the system remains understandable.

Decisions are made, but the boundaries they establish are not enforced over time. Behavior emerges, but no one is accountable for maintaining its coherence. The system evolves, but its ability to explain that evolution is not preserved.

Without ownership, structure accumulates without clarity. The system grows, but its internal logic becomes increasingly opaque.


What Actually Breaks

When a system can no longer explain itself, the nature of work changes fundamentally.

A change is no longer something that can be evaluated where it is made. Its correctness depends on assumptions distributed across the system, many of which are implicit or outdated. Understanding those assumptions requires context that is not readily available.

As a result, evaluation shifts from the system to the organization. People must reconstruct the relevant context through discussion, coordination, and shared interpretation.

What was once a property of the system becomes a property of the team.


Why Velocity Degrades

Velocity does not degrade because there is more work to be done. It degrades because more of that work depends on reconstructing understanding.

When the system can no longer explain how it behaves, every meaningful change requires alignment. Coordination becomes a prerequisite for validation, and validation becomes a prerequisite for progress.

The system continues to move, but it does so through increasing effort rather than structural support.


The Principle

Systems maintain velocity when they can explain themselves clearly enough to support independent action.

They lose velocity when that responsibility shifts to the people operating them.

At that point, progress depends not on how quickly work can be performed, but on how much of the system must be understood, reinterpreted, and aligned upon before any work can safely proceed.