Migration Planning
A migration is a sequence of reversible steps, not a weekend.
Plan shape
- Why — the invariant the old system cannot keep.
- Inventory — data, callers, jobs, SLAs, rollback windows.
- Strategy — expand/contract, dual-write, shadow-read, or one-time copy. Pick one and say why the others lost.
- Steps — each step is deployable, observable, and reversible on its own.
- Backfill — batch size, idempotency, how you know it finished.
- Cutover — the flag, the watch, the abort.
- Cleanup — when the old path dies, and who turns it off.
- Risks — the two ways this pages the on-call.
Do not schedule "migrate everything" as step 1. Do not skip the abort criterion.