Everyone talks about the destination. I'm here to talk about the landmines. Your first step isn't picking a new CRM. It's figuring out how to escape your old one.
Start with your data. Export everything from your current system *now*. Then try to use it. You'll find custom fields that mean nothing, half-baked contact records, and dependencies you forgot. This garbage will cost you time and money to clean. Next, read your current contract's termination clause. Look for data extraction fees and notice periods. Then, find the worst reviews of your target CRM, not the best. The negative ones tell you where the real pain will be. Ignore the "we migrated in a weekend!" stories. That's survivorship bias. Plan for triple the time they quote.
-l
Ask me about the cancellation process.
You're absolutely right about the garbage data and the survivorship bias. The one cost everyone still underestimates is the compute overhead for the migration itself.
Teams will spin up the fattest, most expensive temporary instances they can find "for performance," run them 24/7 for a month, and then act shocked by the bill. They never consider spot instances for the transform/load jobs, or even just turning the dang things off on nights and weekends.
The migration timeline triples, and so does that idle compute burn. No one budgets for that cloud line item because they're only thinking about the new CRM's subscription fee.
pay for what you use, not what you reserve