PDF · 14 pages

Built to Break – Why Your Automation Keeps Failing

The dashboard costs a thousand pounds to fix and still fails. Here is why that keeps happening, and how large firms make it stop for good.

Almost every postmortem of a failed automation starts from the same false premise, that something which was working suddenly stopped. It rarely happens that way. By the time a payroll bot visibly goes down or a dashboard starts producing numbers nobody trusts, the real failure has usually been quietly accumulating for months, invisible right up until the moment it crossed a threshold nobody was watching for.

This is not the usual list of reasons automation projects fail. It is a specific account of the mechanism behind the pattern so many large firms recognise instantly, something that worked, that is now costing real money to keep patching, and that keeps failing again anyway. Understanding that mechanism is the difference between paying to fix the same thing for the fifth time and actually making it stop.

Most of what gets written about this subject stops at reassurance, automation is still worth it, these things happen, keep going. That is true, and it is not useful on its own. What follows is the specific diagnosis and the specific fix, the kind of detail that only tends to surface after seeing the same failure play out across many firms rather than living through it once inside a single one.

Automation does not break. It decays

A system that was built well and worked on day one does not, in most cases, suddenly stop working for no reason. What actually happens is quieter and considerably harder to notice. The world around the automation keeps moving, a data format shifts slightly, a connected system gets updated, a new kind of exception starts appearing more often, while the automation itself stays exactly as it was built, frozen at the moment someone stopped looking at it.

The visible failure, the payroll run that does not complete, the dashboard number that stops making sense, is not the beginning of the problem. It is the moment the accumulated drift finally became too large to absorb quietly. Everything before that moment was already broken. Nobody had simply noticed yet.

A system does not fail on the day it stops working. It fails on the day nobody was watching closely enough to notice it had already started.

The four things quietly eroding a working system

Upstream changes nobody flagged

A connected system gets updated, a supplier changes a file format, a client’s own software introduces a new field. None of this is announced to the team relying on it downstream, and an automation built to expect yesterday’s version of the world has no way to know today’s has changed.

Exceptions that were never handled, only tolerated

Every automation has a handful of unusual cases it was never quite built to cover properly. While these stay rare, they get quietly absorbed by whoever happens to notice. As they grow more frequent, that informal tolerance runs out, often without anyone realising the volume had been climbing.

The person who understood it leaves

Systems built without proper documentation live, in practice, inside the memory of whoever built them. When that person moves on, the firm does not just lose a colleague. It loses its only real understanding of how the automation actually works, and why.

Nobody was watching in between

Most automations are checked closely at launch and then, gradually, checked less and less as attention moves elsewhere. The gap between launch day scrutiny and the day something visibly breaks is precisely where all of this drift accumulates, unseen.

Why the same fix keeps costing money and never holds

A dashboard that costs a meaningful sum to fix, and fails again within weeks, is not evidence that the problem is hard to solve. It is usually evidence that the fix is being applied at the wrong layer. The visible symptom, a wrong number, a missing row, a report that will not load, is rarely where the actual fault lives. It is simply where the fault happens to become visible.

Patching the dashboard itself repairs the symptom for exactly as long as it takes the underlying cause, often a data or integration issue further upstream, to produce the next visible failure. Each fix looks reasonable in isolation. None of them addresses why the same problem keeps returning, because none of them ever reaches the layer where it actually originates.

If the same system has needed the same category of fix more than once, that repetition is not bad luck. It is a signal that the fault sits somewhere other than where the fix is being applied.

Why this compounds faster at your scale

A single decaying automation is a nuisance. A large firm rarely has just one. It has dozens, or hundreds, of systems built at different times, by different teams, several years into their own quiet drift simultaneously. The maths of decay does not stay flat as the estate grows. It compounds.

At any given moment, a large firm with a sizeable automation estate almost certainly has several systems already past the point of quiet decay, simply not yet visible. Scale does not just multiply the number of things that can fail. It multiplies the number of things currently failing invisibly, right now, while everyone’s attention sits on whichever one broke most recently and loudly.

At enterprise scale, the question is never whether something is quietly decaying somewhere in your estate. It is how many, and whether anyone would notice before a client does.

The cost that never appears on the repair invoice

The fee for the fix itself is rarely the largest cost involved. Several others rarely get counted alongside it, and together they usually dwarf it.

Compliance exposure while the system is down

A payroll process that has been unreliable for months is not simply an internal inconvenience. Late or incorrect submissions carry real regulatory consequences, and every cycle spent firefighting a known problem is a cycle of exposure the firm is quietly carrying.

Staff time pulled away from the work that actually matters

Every hour a senior member of staff spends manually checking a dashboard they no longer trust is an hour not spent advising a client, priced nowhere, felt everywhere.

Client confidence, spent a little at a time

A client rarely hears the technical explanation for a delay. They simply notice that something that used to be reliable no longer is, and that impression outlasts the eventual fix by a considerable margin.

The maths of patching versus repairing properly

A single repair looks cheap next to a proper rebuild, which is exactly why it keeps getting chosen. The comparison that actually matters is not one patch against one rebuild. It is the running total of every patch paid for over a year against the cost of fixing the real cause once.

Approach What it actually costs over time
Repeated patching A modest fee paid again and again, on no fixed schedule, with the failure still likely to recur each time
A proper fix at the right layer A larger cost paid once, with the specific failure genuinely resolved rather than temporarily hidden

Firms rarely add up the first row honestly. Paid one invoice at a time, repeated patching feels like the cautious, low commitment choice. Paid as a running annual total, it is very often the more expensive option, and the one that never actually stops.

Signs a system near you is already decaying

Worth checking honestly, before the next visible failure:

  • The same system has needed the same category of fix more than once in the past year
  • Nobody currently employed at the firm was involved in building it
  • There is no written record of the exceptions it was never quite built to handle
  • Nobody could say, without checking, when it was last reviewed rather than simply used
  • A small, informal workaround has quietly become part of how it runs day to day

None of these signs guarantee an imminent failure. Together, they describe a system that has stopped being watched, which is, on its own, usually enough to explain why the next failure feels sudden when it finally arrives.

The ownership gap behind almost every case like this

Underneath nearly every automation that has quietly decayed into a recurring problem sits the same simple, uncomfortable fact. The person who built it is not the person maintaining it, and in a large number of cases, nobody is genuinely maintaining it at all. It was handed over, informally, to whoever happened to be nearby when something first went wrong, without the understanding, authority or time that role actually needs.

This is rarely anyone’s individual failing. It is what happens by default when a system is treated as a one time project rather than an ongoing responsibility. A build has a natural end date. Something that needs to keep working reliably, for years, across every upstream change nobody warns you about, does not.

Diagnosing which layer actually failed

Before fixing anything, it is worth tracing the failure back to where it genuinely originates, not simply where it was first noticed.

  1. Start from the visible symptom, then ask what fed it. A wrong number on a dashboard came from somewhere. Trace the data back through every system that touched it before it arrived.
  2. Check what changed upstream, not what changed in the tool itself. The automation likely did exactly what it was built to do. The far more useful question is what changed in the systems feeding it.
  3. Look for a pattern across previous fixes, not just this one. If the last three fixes all addressed the same symptom in slightly different ways, the actual fault has not yet been touched.

How to make it stop happening again

  1. Give it a named, ongoing owner. Someone accountable for how the system is actually performing, not simply whoever built it originally or whoever picked up the last support ticket.
  2. Monitor for drift, not just outright failure. Build alerts around the early signs, a rising rate of exceptions, an unusual pattern in the data, so the problem surfaces quietly, long before it becomes a visible failure.
  3. Document how it actually works, not how it was designed to. Capture the exceptions, the workarounds and the quirks that have accumulated since launch, so understanding does not live in one person’s memory alone.
  4. Treat a second identical fix as an escalation, not a routine job. The moment the same category of problem returns, stop repeating the patch and properly investigate where the fault actually lives.

What good looks like instead

Firms who get this right rarely experience a dramatic moment where a system visibly fails at all. Drift gets caught quietly, by monitoring built for exactly that purpose, and addressed before it ever reaches a client or a payroll deadline. Ownership sits clearly with someone who understands the system as it actually runs today, not as it was designed to run on the day it launched. And a repair, when one is genuinely needed, happens once, at the layer where the fault actually lives, rather than being paid for again every few months indefinitely.

None of that requires the original build to have been wrong. It requires treating what happens after launch as seriously as what happens before it, because that is where almost every one of these failures was actually decided.