Skip to content
East Wolf
All insights
Digital TransformationJanuary 2, 202612 min read

Why Most Digital Transformations Fail (And How to Succeed)

These programmes fail for reasons that are visible before the first line of code is written, and the vagueness of the label is the first of them.

The phrase covers too much ground to mean anything on its own. It has been attached to a data centre migration, a CRM replacement, a change in how a company charges for its product, and a three-day training course for branch staff. Those are four different projects with four different risk profiles and four different definitions of finished. A term that stretches over all of them commits to none of them.

The label is the first symptom

A programme chartered under a term nobody can define is a programme nobody can declare to be going badly. There is no observable state of the world that contradicts it. Milestones can be met, budget can be spent, and the operation underneath can be exactly as it was on day one — and all three of those facts are compatible with being on track. The vagueness is load-bearing. It is what lets a two-year effort run without a moment of honest reckoning, because there is no number it promised to move and therefore no number that can embarrass it.

So the cheapest diagnostic runs before anything is approved. Ask five people in the steering group to write down, separately, what will be true about the business when this is finished — not what will have been delivered, what will be different in the operation. Five different answers means you don't have a programme, you have a budget line with a name on it. We have watched that test fail in rooms where the plan was signed and the vendor already chosen.

Six patterns account for most of what goes wrong afterwards. They are not independent — a programme with one usually has three — and none of them is exotic. Every one is visible in the first month if anybody is looking.

Replacing systems instead of evolving them

The old system is unpleasant to read, and that is routinely mistaken for evidence that it should be thrown away. It is better read as evidence of how much the business has learned. A fifteen-year-old order system is not merely badly written; it is a complete, executable record of every exception the company has agreed to over fifteen years. The customer invoiced on the 20th rather than at month end. The country where the tax rule inverts above a threshold. The warehouse that ships partial orders only on Fridays. None of that is in a requirements document, because nobody wrote one. It was written as code, one incident at a time, by people who have since left.

A rewrite discards that record and rediscovers it in production, in the worst possible order. The common cases surface first, because they are the ones anyone can describe in an interview. The rare cases surface last, after cutover, and the rare cases are where the margin and the regulator live. The shape is predictable: the new system handles ninety per cent of volume within a month, and the remaining ten per cent takes another year.

Evolution is slower to describe and faster to finish. Put a facade in front of the old system, move one capability behind it, keep the old path live and serving. Before touching anything, write characterization tests against the legacy behaviour — not what the specification claims, what the code actually does, including the parts that look like defects, because some of them are load-bearing. Behaviour nobody can explain is a conversation to have with the business, not a bug to quietly correct.

The big bang outruns the business

An eighteen-month programme is a bet that the business will hold still for eighteen months. It never does. A new product line, an acquisition, a regulatory change, a reorganisation — each arrives as a change request against a design frozen before anyone knew it was coming, and the programme pays twice: once in rework, once in the argument about whether the rework is in scope.

There is also personnel arithmetic that never appears in the plan. A programme outlasting the tenure of its sponsor will be inherited by someone who did not choose it, has no credibility invested in it, and can book an immediate win by cancelling it. That is not cynicism about executives; it is how the incentives are arranged.

The most expensive consequence is the quietest. The moment a replacement is announced, the existing system stops being improved — don't touch it, it's going away. For the whole duration the operation receives nothing: no new field, no corrected report, no small workflow change, while continuing to need those things weekly. It fills the gap with spreadsheets, shared mailboxes, and one very capable person who has written a macro. By the time the new system arrives it must absorb two years of undocumented workarounds that exist precisely because it was late. The programme manufactured the shadow processes it will be criticised for not supporting.

Buying a platform to avoid a decision

Plenty of platform purchases are correct. Where a capability is genuinely commodity and the decision is closed — payroll, identity, email, payments — buy it, take the vendor's process without negotiation, and stop thinking about it.

The failure mode looks similar from outside and is the opposite underneath. It happens when an organisation cannot settle an internal argument — how pricing should work, who owns the customer record, whether the branch or the centre approves an exception — and buys a platform instead of settling it. The purchase feels like progress, because it converts an unresolved question into a procurement exercise, and procurement has an owner, a schedule and an invoice. The question does not disappear. It gets answered by the vendor's model of a business like yours, and you find out the answer during configuration, from a consultant, at a day rate.

Then comes the drift. Configuration becomes customisation. Customisation becomes a codebase — one with no meaningful test coverage, weak version control, and a handful of people who understand it, none of whom work for you. Two release cycles later you cannot take the upgrade, which means paying platform pricing for frozen software and carrying the maintenance burden anyway.

One test is worth applying before signing. Would your strongest competitor's version of this capability be functionally identical to yours? If yes, buy it. If no — if this is one of the few places you actually differ — you are about to pay a large sum to make your differentiation contractually difficult to change.

The software changes, the org chart doesn't

Software encodes a process, and every process has an owner. If the software changes the process and the ownership does not change with it, one of the two will lose, and it will not be the org chart.

The pattern is easy to recognise once you have watched it happen. A new system assumes a single work queue triaged by one team. The company has three departments who each own part of the flow and are measured separately. Within six months the system has grown three queues, a routing rule, a status that means waiting for the other department, and a weekly meeting to reconcile them. The software has been bent back into the shape of the organisation, one feature at a time, and every feature arrived with a reasonable-sounding ticket behind it.

So ask a blunt question at the start: whose job description changes? If the honest answer is nobody's, this is a re-platform — same process, newer runtime, lower running cost. That is a perfectly good project and should be scoped and funded as one, with a smaller budget and a shorter horizon. Trouble starts when a re-platform is financed on the promise of an operational change that nobody in the room has the authority to make. The engineering finishes, the benefits do not arrive, and the review afterwards blames the technology, because the technology is the only participant that cannot argue back.

Nobody owns the seams

Programme structures staff the boxes on the architecture diagram and leave the arrows unstaffed. Every system gets a team, a budget line and a name on a slide. The joins between them get a work package, usually near the end, usually estimated by someone who has read neither interface.

The arrows are where the operation actually lives. The identifier mapping between CRM and ERP that has three special cases. The nightly file that arrives late twice a month and truncates silently when it does. The reconciliation between what the warehouse system believes and what finance believes, currently performed by one person with a spreadsheet whose retirement is the real risk on the programme. Across twenty years of this work, integration and reconciliation have regularly consumed a third to a half of total effort, and they remain the line most consistently underestimated at the start.

Two things fix it, and neither is technically difficult. Every interface gets a named owner and an explicit contract — schema, delivery guarantee, latency expectation, defined behaviour on failure — versioned like an API, because it is one, whether or not it travels over HTTP. And reconciliation becomes a feature with a screen and an alert, not a report someone reads on Monday morning. Two systems capable of disagreeing eventually will; the only question is whether you hear it from a monitor or from a customer.

Measuring the plan instead of the operation

Ask a struggling programme how it is going and you get delivery metrics: milestones closed, stories completed, environments stood up, percentage of scope migrated. All of them can be green while the operation is untouched. They measure the project's metabolism, not its output. Two hundred completed milestones is not an outcome, it is an activity log.

The alternative takes about a day to set up and gets skipped almost every time. Before anything is built, choose three to five numbers that describe the operation itself, and instrument them:

  • Cycle time for the transaction that matters — quote to order, order to cash, claim to payment, request to provisioned.
  • Manual-touch rate: the share of transactions needing human intervention, with reason codes for why.
  • Override rate: how often staff work around the system rather than through it. The most honest available measure of whether the design matches the work.
  • Time to make a small change — one field, one rule, one report — measured from request to production, not from start of development.
  • Fully loaded cost per transaction, including the people doing the reconciling and fixing the exceptions.

Baseline them for a full cycle before the programme starts, and make sure that cycle includes a quarter end, because that is when the workarounds come out of hiding. Then report them monthly alongside the delivery metrics, and give the steering group explicit permission to stop the work when delivery keeps improving and the operational numbers do not. That permission is the point of the exercise. Without it, the reporting is theatre with a spreadsheet.

A programme that cannot name the number it is supposed to move is not a transformation. It is a budget with a schedule attached.

What works instead

None of this argues for leaving things alone. The systems really are old, the running costs are real, and the option to do nothing expires — usually on the day the last person who understands the batch job retires. It argues for a different shape: smaller units of change, each useful on its own, each reversible, aimed at where the value is concentrated rather than at whichever system is easiest to name.

Find the highest-value seam

Start with the most expensive joint, not the largest system. Follow the money and the manual effort: the handoff that consumes the most human time, where errors cost most to correct, or where the business waits longest for an answer. That is almost always a seam between two systems or two departments rather than a system in itself. Replacing an application is a two-year argument with an uncertain payoff; making one handoff automatic, observable and reversible is six to ten weeks with a number attached — and it buys the credit needed to do the next one.

Build alongside, not instead

The new component runs beside the old path rather than in place of it. Mirror the traffic, compute both answers, compare them, and refuse to switch until every difference is explained rather than merely small. Each discrepancy is either a defect in the new implementation or an undocumented rule in the old one, and you need to know which before taking live traffic. Slower for the first capability, considerably faster by the fifth, because by then the comparison harness works and the team understands the domain from evidence rather than from interviews.

Keep every step reversible

Design so any single step can be undone in an afternoon by whoever is carrying the pager, without convening a meeting. Flags scoped per capability rather than per release. Dual writes, with the old store remaining the source of truth until you deliberately promote the new one. Keep the old path warm long enough to cross a full business cycle including a quarter close. The migration that survives an ordinary Tuesday and fails at year end is one of the most common stories in this work, and an entirely avoidable one.

Change the process and the software together

When a step is automated, somebody's work changes. Decide in advance what that person now does, who signs off on the exceptions the system escalates, and which meeting stops happening. Ship that change in the same fortnight as the code. Separate the two by a quarter and the organisation reverts to the old process, operating the new system as an expensive replica of the one it replaced — quietly, because nobody is measuring the override rate.

How we run this work

We build this way partly because we have had to live with the results. Twenty years in Bucharest, more than a hundred projects delivered, and seven ventures of our own where we were both the engineering team and the operator holding the consequences at quarter end. That second role changes your taste. You stop enjoying rewrites, and you start valuing systems that can be changed on a Tuesday without a committee.

In practice that means a small senior core doing the architecture and the seam work, a wider engineer network when a slice needs more hands, and agents carrying the volume: characterization tests over legacy behaviour, migration scaffolding, the comparison harnesses that make building alongside affordable. That last part is what genuinely changed recently. Incremental replacement was always the correct pattern and frequently too expensive to execute properly, which is most of why organisations chose the big bang in the first place. That cost has moved, and the argument for the big bang moved with it.