Skip to content
Writing
How we build

Migration day: a decade of spreadsheets, one weekend

There is a moment in every implementation when the old system stops being the truth and the new one starts. Everything before it is preparation; everything after it is operation. It usually takes a weekend, and it is where implementations fail visibly.

2 min readOadbox

Rehearse the whole thing first

A migration that has been run once, end to end, on a copy, is a different proposition from one being attempted for the first time on the night. The rehearsal finds the encoding problem, the duplicate identifiers and the balance that does not tie — with a week left to fix them.

We do not schedule a cut-over that has not been rehearsed with the customer's own data. It is the single highest-value rule we have.

Freeze, extract, load, reconcile, release

  • Freeze the old system at an announced time, with one person authorised to break the freeze.
  • Extract, with a record count and a control total captured at source.
  • Load, rejecting rather than coercing anything that does not validate.
  • Reconcile counts and totals against the source before anyone logs in.
  • Release to users only after reconciliation passes, not in parallel with it.

Decide what does not come across

Not everything should migrate. Ten years of transactional history usually should not — it slows the load, complicates validation and is rarely queried in the new system.

The honest approach is to migrate open items and current balances, keep the old system readable for historical lookups, and tell users exactly where to find what. Pretending everything came across is worse than saying it did not.

Have a way back

A rollback plan that has been written down and timed changes the temperature of the room. It is rarely used, and knowing it exists is what allows a team to make a clear decision at 2am instead of pressing on because stopping feels like failure.

Set a go or no-go time in advance. If reconciliation has not passed by then, you roll back and try again next weekend — which is a bad outcome and a much better one than opening on Monday with books that do not tie.

Product teamRolloutData

Written by the Oadbox team. Something here not match how it works in your business? We would genuinely like to hear it — connect@oadbox.com.

Eleven products, already running. One of them probably fits how you work.

See it on your own data rather than in a slide deck — thirty minutes with someone from the product team.