LogoLogo
AllClearStack
All articles
·8 min read

The DORA Metrics Delusion

Engineering management has collapsed into a branch of accounting. We no longer value the structural integrity of a system or the elegance of its logic. Instead, we worship at the altar of the dashboard, sacrificing long-term stability for the shallow dopamine hit of a green trend line. The DORA metrics—deployment frequency, lead time for changes, change failure rate, and mean time to recovery—were intended as a compass. They have become a set of shackles.

Goodhart’s Law dictates that when a measure becomes a target, it ceases to be a good measure. This is the rot at the core of modern software development. By focusing on the speed of delivery, we have incentivized the production of digital garbage. We are shipping faster than ever, yet our systems have never been more fragile or incomprehensible. The industry has mistaken motion for progress.

Velocity is a vector, not a scalar. It requires direction. A team shipping fifty times a day toward a cliff is more 'productive' by DORA standards than a team shipping once a week toward a sustainable future. We have weaponized the CI/CD pipeline against the very engineers who built it. The result is a landscape of fracturing services and layers of abstraction that serve no one but the vendors selling the telemetry tools.

Your Velocity Dashboard Is a High-Speed Lie

High deployment frequency is the ultimate vanity metric. It suggests a healthy, iterative environment where value is continuously delivered to the user. In reality, it often indicates a team that is afraid to commit to a significant architectural change. They break every task into microscopic, inconsequential fragments to keep the numbers up. This is not engineering; it is administrative theater.

When management demands high frequency, engineers respond by gaming the system. They ship half-finished features behind feature flags. They push trivial documentation updates as 'deployments.' They prioritize the appearance of activity over the substance of the work. This creates a noise floor that makes it impossible to distinguish between genuine innovation and frantic wheel-spinning.

This obsession ignores the cognitive cost of constant context switching. Every deployment requires oversight, verification, and monitoring. By forcing a high frequency, you are bleeding your senior talent dry. They spend their days babysitting the pipeline instead of solving the hard problems that actually define the competitive advantage of the business. The system is optimized for the graph, not the product.

Deployment Frequency Incentivizes Architectural Fragmentation

The drive for speed has birthed the microservices monster. While microservices have legitimate use cases, their adoption is now driven by the need to bypass the 'friction' of a unified codebase. Teams split their services into smaller and smaller pieces simply so they can deploy them independently and boost their DORA scores. This is architectural malpractice disguised as agility.

Each new service adds a layer of networking complexity, serialization overhead, and observability debt. We have replaced simple function calls with brittle HTTP requests and complex retry logic. The total system complexity grows exponentially while the actual business logic remains stagnant. We are building massive distributed systems to perform tasks that a single monolith could handle on a handful of cores.

This fragmentation leads to the 'distributed monolith' catastrophe. You have all the downsides of a monolith—tight coupling and shared data models—with all the pain of a distributed system. But the dashboard looks great. Each sub-team is deploying ten times a day. The fact that the system as a whole is a precarious house of cards is ignored until the entire stack collapses under its own weight.

Lead Time For Changes Is a Tax on Critical Thinking

Lead time for changes is the metric that kills deep work. When the goal is to move a ticket from 'In Progress' to 'Done' as quickly as possible, there is no room for reflection. Engineers are discouraged from performing deep refactors because they might take longer than the arbitrary SLA set by a Scrum Master. We are training a generation of developers to be janitors who only mop the visible part of the floor.

Technological debt is not something that happens by accident; it is the direct consequence of optimizing for lead time. If an engineer sees a fundamental flaw in the database schema, they will ignore it. Fixing it would take three weeks and ruin the team's 'velocity.' Instead, they will write a hacky workaround that takes three hours. Multiply this by a thousand commits, and you have a codebase that is essentially unmaintainable.

Real engineering takes time. It requires periods of silence and intense focus. The DORA mindset treats software like a physical assembly line, but code is not a physical commodity. It is a complex set of interlocking logical structures. You cannot rush the construction of a skyscraper by hiring ten times more laborers to lay bricks at night. You just end up with a building that falls over.

Mean Time to Recovery Cultivates a Culture of Recklessness

MTTR is the most dangerous metric in the DORA quartet. It suggests that as long as you can fix a problem quickly, the problem itself doesn't matter. This philosophy encourages a 'move fast and break things' attitude that is fundamentally incompatible with professional engineering. It treats the symptoms rather than the disease. It turns your developers into firefighters who never have time to investigate the cause of the fire.

Focusing on recovery rather than prevention leads to a culture of patches and hotfixes. When a production incident occurs, the pressure is on to restore service immediately. This usually involves a quick-and-dirty fix that leaves the underlying instability intact. Because the MTTR was low, management considers the incident a success. The technical debt remains, waiting to explode again at 3:00 AM.

Resilience is the ability of a system to withstand stress without failing. Reliability is the probability that a system will perform its function. Neither of these can be easily measured by MTTR. A system that crashes every day but recovers in five minutes is a failure, yet DORA metrics might rank the team behind it as 'Elite.' This is a perverse incentive that rewards incompetence.

The Infrastructure Complexity Crisis

To support these arbitrary speed metrics, we have built a Rube Goldberg machine of infrastructure. We have layers of Kubernetes operators, service meshes, and serverless abstractions that few people truly understand. The overhead of managing the platform has surpassed the effort of writing the application code. We are paying a massive 'velocity tax' to the cloud providers and tool vendors.

Engineers are losing touch with the hardware. They have no idea how their code actually executes on a CPU or how it interacts with the disk. Everything is hidden behind five layers of YAML and a 'managed' service that charges by the millisecond. This lack of sovereignty makes systems harder to debug and more expensive to run. We have traded performance and predictability for the illusion of developer convenience.

When the abstraction leaks—and it always does—the team is paralyzed. They don't have the fundamental knowledge to fix the issue because they've spent their careers learning APIs instead of engineering principles. To regain control, we must strip away the unnecessary bloat. Choosing a high-performance, transparent provider like Vultr allows engineers to return to the basics of compute and storage. It provides the predictability needed to build stable systems without the 'magic' that obscures the truth.

Technical Sovereignty Over Corporate Telemetry

The path forward requires a rejection of the DORA cult. We must stop measuring engineers like they are factory workers and start treating them like architects. The quality of a system is found in its uptime, its performance, and its ability to evolve without breaking. None of these things are captured by how many times you clicked 'deploy' in a given week.

We need to reintroduce the concept of 'Negative Work.' Sometimes the most productive thing an engineer can do is delete a thousand lines of code or spend a week thinking about a problem without writing a single line. This activity is invisible to a velocity dashboard, yet it is what prevents the total collapse of the system. We must protect the space for this work to happen.

Sovereignty means owning your stack and your decisions. It means refusing to adopt a technology just because it's the industry standard if it doesn't solve your specific problem. It means prioritizing the long-term health of the codebase over the short-term demands of a quarterly report. The engineers who built the foundation of the internet didn't have DORA metrics. They had pride in their craft and a commitment to excellence. It is time we found our way back to that.

Stop looking at the dashboard. Look at the code. Look at the architecture. If the system is a mess, the velocity doesn't matter. If the team is burned out, the lead time is irrelevant. We are here to build things that last, not to generate data points for a middle manager's slide deck. The delusion must end.

Not sure which tools to pick?

Answer 7 questions and get a personalized stack recommendation with cost analysis — free.

Try Stack Advisor

Enjoyed this?

One email per week with fresh thinking on tools, systems, and engineering decisions. No spam.

Related Essays