See it as a diagram
Everything below, as a diagram you can edit. Describe yours and see it in seconds.
No account needed · Editable canvas, not a picture
Three diagrams, not two
The current state and target state pair is the standard, and it hides the expensive part. Between them sits a transition architecture: replication services, change data capture streams, dual writes, reconciliation jobs, and mediating platforms that exist for the migration and are supposed to be decommissioned after it. They have to be provisioned, secured, paid for, and then removed, and the removal is what gets forgotten.
Draw it as its own view. A transition component that appears on a diagram with an owner and an expected end date is a component somebody eventually turns off. One that lives only in a runbook step becomes permanent infrastructure that nobody can explain two years later.
The transition view is also the one your security reviewer should see. Temporary replication infrastructure often carries production data through a path that no threat model covers, precisely because everyone considers it temporary.
Show what moves, what is rebuilt, and what is left alone
The question every stakeholder asks about a migration is whether their thing is affected. A diagram that answers it directly saves a quarter of the meetings. Group the current-state systems by fate rather than by layer: lifted as-is, rebuilt on the new platform, retired, and untouched. Four zones, and most people can find their answer without asking.
For a data platform migration, the field level matters as much as the system level, because the breaking changes are usually renames and type changes rather than moved tables. Column-level lineage from the old model to the new one is what the analytics team needs, and it is a different artefact from the box diagram the sponsor reads. See lineage.
Label the edges with what changes about them, not just with what they carry. An arrow that says nightly extract becomes streaming CDC is doing more work than an arrow that says data, because it tells a downstream consumer that their assumptions about freshness are about to change.
Keeping the target diagram honest over two quarters
A target architecture drawn at kickoff is a forecast, and forecasts drift. Six months in, the target diagram in the project wiki usually describes a design that was abandoned in month two, and the people making decisions from it do not know that.
Connect the repository of the new platform as soon as it has one. From that point the target diagram stops being a forecast and becomes a report: the branch is re-read about once a day, the diagram and the architecture document regenerate, and the commit that quietly replaced the streaming layer shows up in the picture without anybody filing a documentation ticket. The current-state diagram stays hand-drawn, because the system it describes is the one you are leaving.
On a Terraform target platform the environment story comes out of the parse rather than out of a caption. A resource whose count resolves to zero in an environment is drawn as not deployed instead of being silently omitted, and a for_each driven by a variable is resolved against the tfvars files under the environments directory, so the node label carries the per-environment split, two in DEV and one in QUAL, rather than a vague plural. On a migration where two environments run at different speeds, that one label answers the question every steering meeting opens with.
At cutover the target diagram simply becomes the current one, with no redraw, and the transition view can be archived as the record of what needs to be switched off. That is the moment to go through it component by component.
One project per view
Getting it in front of the people it affects
Migration communication fails by attachment. A picture emailed in March is the picture people are still working from in July, and every correction since then lives in a thread they were not on. Send a link instead: a view-only page opens without a sign-in, so the finance analyst who owns a downstream dashboard can look at the current target without an account.
Embed the target diagram in the migration page on your wiki with one markdown image line and the page stops needing an owner who refreshes screenshots each sprint. Over a two-quarter migration, that is the difference between a page people trust and a page people check with you before believing.
Export PNG or JPEG for the steering committee deck. The deck is a snapshot by nature, so date the figure and keep the link in the appendix for anyone who wants the current version.
FAQ
What is a transition architecture in a migration diagram?
How should the current-state diagram be organised?
How do we stop the target diagram from drifting during a long migration?
Should the three views be one diagram or three?
How do downstream teams find out what changes for them?