Dabish Digital
Data

Data migration: a practical guide

The version of this that works is simpler than the version most people imagine. This guide covers what data migration actually involves, where it usually goes wrong, and how to tell whether yours is in reasonable shape.

Numbers get quoted in meetings long after anyone remembers how they were calculated. Nothing below assumes a large team or a large budget — most of it is a decision somebody has to make and then write down.

What it costs to ignore

Migrations fail on the data nobody knew existed. Small and consistent beats large and occasional here. The failure mode is not doing it wrong, it is doing it once and assuming it stays done.

For most businesses the question is not whether this matters but how much of it is worth doing right now. That depends on what you are trying to achieve in the next few months, not on best practice in the abstract. In practice this is a scheduling problem more than a technical one.

What good looks like

Run it against a full copy before the real thing. This is the sort of thing that compounds, quietly, in both directions. It is worth deciding this deliberately rather than inheriting whatever the last person set up.

Most data problems are ownership problems that turned into technical ones. The version that works in practice is usually less elaborate than the version described in the guides.

Always have a documented way back. It is worth being explicit about, because assumptions differ quietly. Budget a little time for it every quarter and it never becomes a project of its own.

A working checklist

If you want a quick read on where you stand, work through this. Anything you cannot answer confidently is where to start.

  • Migrations fail on the data nobody knew existed
  • Run it against a full copy before the real thing
  • Always have a documented way back
  • Someone is named as the owner, not just assumed to be
  • There is a date in the calendar to review it again
  • The decision and the reasoning behind it are written down somewhere findable
  • You could explain the current setup to a new hire in five minutes

Where it usually goes wrong

The most common failure is not doing this badly. It is doing it once, during a launch, and never revisiting it. Circumstances move, the setup does not, and the gap widens quietly until something breaks or somebody notices the numbers.

  • It was configured during a launch and has not been touched since
  • Different people in the business believe different things are true about it
  • There is no way to tell whether the last change helped or hurt
  • The only person who understands it has left, or is about to

Data outlives the applications built on top of it, which is why the model deserves more thought than the screens. This is the sort of thing that compounds, quietly, in both directions.

How we approach it

On our projects this gets handled during the build rather than added afterwards, because retrofitting it costs several times more than including it. We write down what was decided and why, so the next person to touch it is not guessing.

If you are working with someone else, the questions worth asking are simple: who owns this, how will we know it is working, and what happens when it needs to change?

A reasonable first step

Pick the single item from the checklist above that would cause the most trouble if it turned out to be wrong. Fix that one, confirm it worked, then move on. The point is not perfection, it is knowing which of these you have consciously chosen to skip.