Migrating the data costs more than the software that will receive it
The most underestimated line in an application replacement project is not development. It is the real condition of the existing data, which nobody measured before committing.

An application replacement project is priced on functional scope: the number of screens, business rules and interfaces. Data migration appears at the end of the proposal, often as a lump sum, sometimes in a single line. It is nonetheless the item that pushes out the schedule in most projects that slip.
What twenty years of records contain
A business file fed for two decades by successive staff holds states its structure never anticipated. Duplicates created because the search did not find the existing record. Fields diverted from their original purpose because no other was available. Dates of birth set to the first of January, the default value of unfinished entries. Identifiers that change format from a given year onwards, because the rule changed and the existing stock was never reworked.
None of these states is an anomaly from the organisation’s point of view: the service kept running with them. They become anomalies at the exact moment a new system, whose input controls are stricter, refuses to load them.
The count happens before, not during
A data quality audit carried out before commitment produces three numbers. The proportion of records that pass the target system’s controls without intervention. The proportion that needs a migration automatable by rule. The proportion that needs a human decision, case by case.
It is the third number that sets the schedule, and it is the only one that does not compress by adding resources. Reworking forty thousand cases by hand takes a number of hours that the number of developers assigned to the project does not change.
That audit runs in a few days on an extract, before the contract is awarded. It costs a fraction of what discovering it in month six costs.
Who decides
The question that blocks is almost never technical. Do two records refer to the same person? Which address governs when three are present? Should a case left incomplete since 2014 be migrated, archived or closed?
These decisions belong to the business, not to the supplier. They assume that a named person holds the mandate to settle them and the time to do so. A project that has not identified that person before kick-off will be looking for them during the phase in which they are most needed.
Cutover, and the way back
On cutover day the old system is stopped and the new one starts with the migrated data. Two arrangements make that moment survivable. The first is a full migration rehearsal, run on a copy of production and timed: the duration of the migration sets the duration of the service interruption, and that duration has to be known before it is announced to users.
The second is the ability to go back. The old system stays available read-only for a defined period, with its data as at the moment of cutover. Without that, a defect found on the third day has no remedy other than carrying on.
What to require
A data quality audit delivered before commitment, with its three proportions. A timed migration rehearsal on real volume before the cutover date. The list of transformation rules, written and approved by the business. And the old system kept read-only for a period written into the contract.


