Insights · Blog
Salesforce data migration: a cutover playbook for complex orgs
Published
Cutover weekend anxiety is normal when millions of rows, dozens of integrations, and revenue-critical batch jobs are involved. The playbook below reflects patterns from large-scale migrations where success came from rehearsals, narrow blast radius, and explicit ownership—not from heroic all-nighters alone.
Freeze windows and delta strategy
Declare a code and metadata freeze ahead of final extract. Define how deltas will be captured after the baseline load: change data capture, timestamp filters, or queue drains from upstream systems. Ambiguity here is what creates “mystery rows” on Monday morning.
Rehearse the full sequence twice
Run at least two end-to-end rehearsals with production-like volumes on a scrubbed environment. Measure load duration, index rebuild time, and batch Apex windows. Use the second rehearsal to validate fixes from the first; skip straight to production only if you enjoy gambling with ARR.
Rollback signals that are objective
Write down measurable triggers: error rate thresholds on integration jobs, reconciliation variance above X percent, or authentication failure spikes. Agree who can call rollback and how data will be rewound or forward-corrected. Debating philosophy at 3 a.m. wastes minutes you cannot buy back.
Communication cadence
Provide stakeholders a single status page or chat channel with timestamps: extract complete, load complete, validation queries green, integrations enabled, smoke tests green. Silence breeds rumor; predictable updates reduce escalations.
Post-cutover hypercare
Schedule extra eyes on integration logs and user support for the first two business weeks. Capture defects in a dedicated backlog with severity so engineering can sequence fixes without thrashing the org.
Lessons learned session
Within ten business days, run a blameless retrospective documenting what estimates were wrong, which tests caught issues, and what to automate next time. That document is more valuable than any single migration script.