Automation

Why automation projects fail

Most automation fails for design reasons, not technical ones. The gap between automating a workflow and designing a system, and how to close it.

Most automation projects do not fail on launch day. They fail quietly, over the following months. The scripts keep running, but people start keeping a spreadsheet on the side. A report stops matching the numbers finance trusts. Someone discovers that half the orders from one channel have been skipped since a vendor changed a field name. By the time anyone looks closely, the automation is still technically working and nobody relies on it.

The cause is rarely the tool. It is the difference between automating a workflow and designing a system. Automating a workflow means taking the steps people already do and making software do them faster. Designing a system means deciding what the process should be, who owns it, how it behaves when inputs are wrong, and how you will know whether it is working. The first is a task. The second is an operating decision.

Automating a broken process makes it fail faster

Manual processes accumulate workarounds. An approval step exists because of a problem three years ago. A clerk re-types data from one system into another because the two never agreed on a customer ID. When you automate these steps as they stand, you encode every workaround into software, where it becomes harder to see and harder to change.

Before any automation, walk the process end to end with the people who do it. For each step, ask what would happen if it simply stopped. Some steps turn out to protect against real risk. Many exist only to compensate for an earlier step that was never fixed. Remove or redesign those first. The cheapest automation is the step you no longer need.

No owner means no system

An automated process still needs a person who is accountable for its output. Not the developer who built it, and not a shared inbox, but a named role in the business that notices when results look wrong and has the authority to change the rules. Without that owner, every failure becomes a ticket that nobody prioritises, and every business change (a new product line, a new tax rule, a new warehouse) quietly breaks an assumption the automation depended on.

Ownership should be decided before the build starts. If no one is willing to own the outcome, that is useful information: the process may not matter enough to automate.

Point-to-point integrations are brittle by design

The quickest way to connect five tools is to wire each one directly to the others. It works for the first demo. Over time, each connection carries its own mapping, its own error handling and its own assumptions about the data. When one tool changes its format, several connections break at once, and nobody has a full picture of what depends on what.

A more durable pattern is to agree on a small number of core records (customer, order, job, asset) with one clear source of truth for each, and to route changes through that shared model. It takes slightly longer to set up. It makes every later change cheaper, and it makes failures visible in one place instead of scattered across a dozen small scripts.

If you do not measure it, you cannot defend it

Many projects are approved on the promise of saved time, and then never measured. Months later, nobody can say whether the system pays for itself, or tell when it starts to degrade.

Pick two or three measures before you build, and record the baseline while the process is still manual. Useful measures are usually simple: time from request to completion, number of items that needed human correction, number of items that failed silently. Then make those numbers visible to the owner as part of the system, not as a one-off report.

The happy path is the demo. The exceptions are the system.

Exceptions are where the real work lives

Most automation is designed around the normal case: the order with a valid address, the invoice that matches the purchase order, the form that was filled in correctly. In practice, a meaningful share of daily work is exceptions, and those exceptions are exactly where experienced staff spend their judgement.

A well-designed system decides in advance what happens to an item it cannot handle. It should stop, flag the item with a clear reason, route it to a named person, and keep a record of how it was resolved. Over time, that record tells you which exceptions are common enough to automate next. A system that silently drops or guesses on exceptions will eventually lose the trust of the people who depend on it, and once trust is gone, the side spreadsheets come back.

Start small, and ship something real

Large automation programmes tend to spend months on specification and then discover their assumptions were wrong. A better approach is to pick one process with a clear owner, build a first working version quickly, run it alongside the manual process, and refine it against real data. Only when it holds up should you expand.

A checklist before you automate

  • Have we walked the current process with the people who do it, and removed steps that only exist as workarounds?
  • Is there a named owner in the business who is accountable for the output and can change the rules?
  • Do we know the single source of truth for each core record the automation touches?
  • Have we recorded a baseline for two or three simple measures before building anything?
  • Is there a defined path for exceptions: flagged, routed to a person, resolved and logged?
  • Will failures be visible to the owner, rather than discovered weeks later in a report?
  • Can we run a first version alongside the manual process on a small scope before expanding?
  • When the vendor or the builder steps away, can the team understand, run and change what we built?

If most of these answers are yes, the tool you choose matters much less than you think. If most are no, no tool will save the project.