The situation
An enterprise approaches a platform migration carrying years of accumulated business-specific customisations, legacy user interfaces tightly woven into the core, and a long backlog of one-off behaviours that nobody quite remembers the justification for. The migration sponsors want the target platform live; the architects know that lifting that estate forward unchanged will inflate complexity, cost, and timeline — and produce a target that is simply the source with a newer version number.
The default move is to lift the entire estate, debt and all, and address the cleanup after the migration. It feels lower-risk in the planning room. It is higher-risk everywhere else. The migration absorbs the debt; the new platform inherits a backlog that nobody will fund a second programme to address; the technical-debt curve resumes its climb from a higher starting point.
The discipline
The discipline is to clean before the migration begins, not after. Identify which customisations are doing necessary work and which have outlived their reason. Move the necessary ones to the appropriate extension layer; retire the obsolete ones; rebuild the legacy interfaces on the modern UI stack the target platform expects. The migration target is then a clean platform from day one.
This work feels counter-intuitive at the start. By the time the migration begins, it is obviously correct — the cutover is simpler, the regression surface is smaller, the user experience is consistent with the platform’s modern direction, and the post-migration backlog is short instead of long.
Where it sits
This pattern exercises two foundations. Data, because the cleanup is fundamentally a data-quality and entity-resolution exercise — the customisations exist to handle data that the standard model could not, and the cleanup forces the conversation about what the data model should actually look like. Workflows, because the legacy interfaces being rebuilt are the visible surface of workflows that were also worth re-examining.
In sequence, this pattern is what makes the practical sequence’s diagnose-honestly step bear fruit before the lighthouse stage begins. An enterprise that diagnoses honestly, then lifts and shifts, has wasted the diagnosis. An enterprise that diagnoses honestly, cleans before migrating, then runs the lighthouse on the clean target, compounds the benefit at every step that follows.