Services

The system everyone is afraid to turn off

It runs on a server in a cupboard. The vendor stopped supporting it in 2018. Two people know how it works and one of them retires next year. Everybody agrees it has to be replaced and nobody wants to be the person who breaks it.

What are you replacing?

Tell us what the system is and what it holds. We will tell you what extraction looks like.

1 / 3
Extraction proven before cutoverParallel until it agrees twiceNo big-bang switch
Extractread source, no writesMapaccounts, customers, vendorsLoadinto a staged tenantReconciletrial balance, per periodgate · must tieReviewyour controller signsCut oversource goes read-onlygate · must tievariance → back to mapping, never waivednothing advances past a gate until the trial balance agrees to the penny

The situation

What makes legacy replacement different

The technical work is ordinary. The risk management is not.

Extraction comes first

Before anything is designed, we prove the data can be reliably and repeatedly extracted. A replacement plan built before that is a plan built on hope.

Undocumented behaviour

Legacy systems encode rules nobody wrote down — a rounding convention, an exception for one customer, a status that means something different on Fridays. Finding those is most of the work.

Reconciled continuously

The new system runs beside the old one and reconciles daily. Divergence is investigated as it appears rather than discovered at cutover.

Parallel, not big bang

Both run until the new one has agreed with the old one for two full cycles. The retirement date follows the evidence rather than the plan.

History preserved

The old system’s data is retained in an accessible, documented form after it is switched off, because somebody will ask about a 2019 transaction eventually.

The expert is central

The person who knows the system is the most valuable participant. Replacement projects that route around them fail at the edge cases.

Prove extraction before designing anything

The standard failure sequence is to design the target, build it, then discover in month four that the source data cannot be extracted at the grain the design assumed. Everything after that is renegotiation.

So the first phase is extraction and nothing else: can we get everything out, repeatedly, with a check that proves it is complete. Only then is it sensible to design what receives it. It feels slower and it is the reason these projects land.

Design before extraction is proven, and month four becomes a renegotiation rather than a build.

The rules nobody wrote down

A system running fifteen years has accumulated behaviour that exists nowhere in writing. An order type that skips a check. A customer with a bespoke discount hard-coded in 2011. A calculation that rounds differently from the documented method and has been quietly correct for a decade because everything downstream expects it.

These are found by comparing outputs, not by reading documentation. Running the new system against historical inputs and investigating every difference is the only reliable method, and each difference resolves into either a bug in the new system or an undocumented rule in the old one.

Parallel running is the control

Both systems run simultaneously, on the same inputs, with the outputs compared daily. It is more work for a period and it converts a high-risk cutover into an evidence-based decision.

The retirement criterion is that the new system has agreed for two complete cycles — not that a date has arrived. We have extended parallel periods on several engagements and it has never been the wrong call.

What happens to the old data

Switching a legacy system off usually means losing the ability to query anything that was not migrated. That is a problem three years later when a dispute, an audit, or an acquirer asks about a transaction from before the cutover.

Everything gets extracted into an accessible, documented archive whether or not it is operationally needed. Storage is cheap; reconstructing an unqueryable archive from a decommissioned server is not.

When we recommend waiting

If the person who understands the system is leaving in three months, do the extraction and documentation now and the replacement afterwards. Losing them mid-project is the single worst thing that can happen to one of these engagements.

Where to start

How it runs

01

Prove extraction

Repeatable, complete, verified against control totals. Nothing else is designed until this works, and occasionally this phase changes the whole plan.

02

Discover the rules

Historical inputs run through the new logic, every difference investigated. This is where the undocumented behaviour surfaces.

03

Parallel run

Both systems live, outputs compared daily, differences chased. Two full cycles of agreement before anything is retired.

04

Retire and archive

Old system switched off, its data retained in an accessible documented archive rather than left on a server nobody maintains.

Questions

What people ask.

What if the system has no API?
Database read access, file exports, or as a last resort screen automation. We establish which in the first phase and price accordingly.
How long does parallel running last?
Until the new system has agreed for two full cycles. Typically two to three months, and we have extended it rather than cut it short.
What happens to historical data?
Extracted into an accessible documented archive regardless of whether it is operationally needed. Somebody always asks about an old transaction eventually.
Our expert is retiring — what do we do?
Extract and document before they go, replace afterwards. Losing them mid-project is the worst outcome available.
Can you do this without disrupting operations?
Parallel running is designed for exactly that. The old system keeps operating until the evidence says it does not need to.

Turn it off, safely.

Tell us what the system is and who understands it. Extraction gets proven before anything else is designed.