05Cutover, Change Management & Legacy Deprecation

I landed the change, retired the old, and owned what came after.

Transitioning 4,500 users, turning off legacy infrastructure, and controlling cloud cost creep — go-live was never the finish line for me. Adoption was.

Change management

Change Management & Regional User Enablement

I never treated this as end-of-project training bolted onto the schedule. It started at mobilization and ran the whole length of the program, because ~4,500 people had to trust the new numbers, not just get handed a login.

Why this artifact

"We'll train people before go-live" isn't a plan, it's a hope. Staging awareness, involvement, training, and adoption as distinct tracked stages is what let me catch that Sales was behind on champion recruitment two months out, not two weeks out.

Artifact · Adoption planawareness → adoption
StageWhenWhat I ranMeasured by
AwarenessMobilizeComms on the why; impact broken out by functionReach
InvolvementDesign → UATSMEs pulled into mapping and parity sign-off; champions recruited per functionSME participation
TrainingPre-cutoverRole-based training; office hours; quick-reference guidesCompletion %
AdoptionPost go-liveChampions support; usage nudges; feedback loopActive users vs. target

Adoption at scale

I recruited a champions network inside every function, one per business unit, and tracked usage against a target instead of assuming adoption would just happen because the platform was live.

~4,500
Users I migrated
94%
Active on new platform · wk 6
8
Function champion pods I ran

Retire the old, own the cost

Legacy Decommissioning & Cost Realization

I didn't switch off the SQL Server EDW on a date from the plan — I switched it off against criteria I set. A defined confidence window, adoption holding, and zero reconciliation gaps, before I signed off.

Artifact · Decommission gatemy criteria
CriterionStatus
Confidence window elapsed with no reconciliation gapsMet
Adoption steady above targetMet
No dependency still reading legacyMet
Archive & retention captured for complianceMet

Closing the program against my own baseline

Artifact · Closeoutplan vs. delivered
DimensionBaselineActualResult
Scope250 reports, 8 functions250 deliveredMet
Schedule~9 months+2 weeks (Wave 3 SME slip)Within tolerance
BudgetApproved baselineOn budgetMet
Financial parityZero-defect reconciliationZero variance at go-liveMet
BenefitLegacy retired; TCO reducedDecommissioned; scope cut 38% via my rationalizationRealized

Scar tissue

What I actually decided here

What I Actually Decided Here

Decision: Post-cutover, I found power users running unoptimized legacy-style SQL that was causing cost spikes. I set auto-suspend timeouts on the virtual warehouses and enforced a mandatory 15-minute optimization check for anyone running heavy queries.

Friction: Analysts complained about queries getting cut off during initial testing — cloud-native query discipline wasn't a habit yet, and it showed.

Outcome: I saved $50K in compute overruns in the first month alone, and it shifted the company's query culture toward cloud-native habits instead of just tolerating the old bad ones on a new bill.

What I'd tell the next TPM

Retrospective

Why this artifact

A program that closes without a written retro just repeats its mistakes on the next one, with a different TPM re-learning them the hard way. Writing down the SME-booking miss is what makes it a lesson instead of a grudge.

Artifact · Retroroot cause · action

What worked

Rationalizing first cut 38% of scope before I let anyone write a line of code. Daily dual-run reconciliation meant cutover held no surprises. Naming a business owner per field turned definition fights into decisions I could point back to.

What I'd change

I didn't book SME time far enough ahead — the one schedule slip I took traced straight back to it. Action for next time: reserve SME capacity per wave at planning, not at UAT.

Golden thread · closed

The close-amount field that surfaced a 6% variance in test became my proof point for the whole program: the reconciliation strategy did its job, the definition got fixed by the business, and go-live reconciled to the penny. The whole migration, in one field.