A 20-item checklist a CTO, VP of Engineering, or platform lead can run through before committing budget and team time to a cloud or data platform migration project. Each item maps directly to one of the six stages of a structured migration pipeline: Inventory, Plan, Convert, Validate, Reconcile, Report.
How to use this checklist. Work through each item against your current infrastructure and team state today — not your aspirational state. Check the box if the item is fully satisfied. Leave it unchecked if it is partially done, unknown, or not yet addressed. Items tagged BLOCKING represent gaps that will surface as unplanned work during execution; addressing them before signing a migration SOW reduces the risk of scope and timeline overrun.
A migration cannot be scoped or priced without a complete, verified inventory of everything in scope. Gaps here cause scope creep at exactly the wrong moment — during conversion and parallel run.
Wave planning requires business owners, not just engineering owners. If stakeholders are not aligned before the plan is written, the plan will need to be rewritten mid-execution.
Architectural decisions left open past the wave plan become blockers during conversion. Each item below is a choice that must be made — and documented — before the first object is translated.
Validation is deterministic: row counts, schema parity, float-tolerant checksums, and query-result diffs run against every object before the parallel run begins. But it can only run against queries you have agreed on in advance.
Parallel run is where most migration projects stall. The items below represent the structural preconditions that keep the reconciliation window on schedule instead of extending indefinitely while consumer owners remain unavailable.
The migration does not close when the last consumer cuts over. Observability gaps, cost regression, and decommissioning delays are the most common post-cutover problems — and all three are preventable with upfront planning.
Each unchecked item is a gap that will surface as unplanned work, scope creep, or timeline extension during an engagement. This is not a pass/fail — it is a triage tool. Use the bands below to decide what to do next.