A Technical Program Manager's walkthrough of how a cloud data-warehouse migration is actually run: eight business functions, thousands of users, one legacy platform retired — planned, governed, cut over, and adopted without breaking trust in the numbers.
At a glance
// A reference walkthrough illustrated with a representative scenario, generalized from hands-on migration work. Specifics are defensible in conversation.
The mental model
Strip away the tooling and every EDW cloud migration is these three jobs happening in parallel. Everything in the plan serves one of them — and the third is the one most teams underbuild.
01 · Move the data
Migrate ~1,200 objects from SQL Server to Snowflake so the numbers are provably identical — code converted, history loaded, integrity preserved where the target won't enforce it.
02 · Preserve the reports
Every dashboard and extract that the business relies on keeps working after cutover — re-pointed or rebuilt, and parity-tested old-vs-new before anyone switches.
03 · Drive adoption
~4,500 people trust and use the new platform. Change management runs the whole length of the program, not a training week bolted on at the end.
The lifecycle
The program moves through Waterfall phase gates — you can't cut over before you've built and reconciled — while build and test happen in Agile sprints inside each wave. Click into any phase.
Charter, business case, stakeholders, and the report rationalization that shrinks the whole program.
Field mapping, wave plan, migration architecture, reconciliation strategy, risk, and change management.
RAG status, RAID log, change control, and the test strategy that defines "done."
Go/no-go criteria, the cutover runbook, dual-run, and hypercare.
Training at scale, legacy decommission, benefits realized, and the retrospective.
The artifact library and the reusable principles behind running any migration.
How to read this
Rather than a tour of every object, this case study follows a single field — the Sales/Revenue close amount — through all five phases: how it's discovered, mapped, built, reconciled, cut over, and adopted. One thread makes an abstract lifecycle concrete.
The thread
dbo.FactOpportunity.CloseAmt → SALES.FACT_OPPORTUNITY.CLOSE_AMOUNT_USD
MONEY → NUMBER(19,4), normalized to USD. Owned by a Sales Finance SME. Watch for it in the green callouts on each phase page.