The Short Answer
Replacing a CRM system with Salesforce isn't merely a technical "data transfer" project. It's an organizational decision about what's worth keeping, what to leave behind, and how to keep the business running during the transition. The most common failure isn't in the Salesforce design itself, but in the silent assumption that everything from the old system must be migrated as is.
The correct approach begins with process mapping, not table exports. This is followed by building a new data model that aligns with how the organization operates today, not a structure defined a decade ago in a different system. A controlled parallel operation period, and finally, a structured decommissioning of the old system with regulatory documentation, complete the process.
Organizations grappling with these questions will find additional context in Salesforce Implementation in an Organization, which details the comprehensive decision-making process for a Salesforce project.
Mapping Existing Processes: Not Export, But Understanding
The first step in any CRM system migration isn't to hit "Export," but to sit with process owners and understand what actually happens between lead generation and deal close, or between inquiry receipt and service case resolution. An old process document, if it even exists, is almost always outdated compared to current actual operations.
During mapping sessions, it's crucial to document not just the official steps, but also the "shadow processes" — parallel Excel files, fields no one uses, approvals happening via WhatsApp instead of through the system. These are precisely the areas where a new system, even if well-built, will fail adoption if not accounted for.
The mapping output should include a table of core processes, the process owner, frequency of use, and dependence on the old system. A process run once a quarter that generates a critical regulatory report demands a different approach than a high-volume daily process. This categorization also determines the order of migration and the level of testing required for each process.
What Not to Migrate: A Decision That Saves Half the Work
One of the most significant decisions in a CRM migration project is not what to migrate, but what not to migrate. Most venerable systems, accumulated over years, contain layers of duplicate fields, superseded statuses, and processes defined for a one-off project that has long since concluded.
A practical rule of thumb: any object or field untouched in the last two years goes onto the "do not migrate" list by default, unless a specific process owner provides a justified exception. This list is built against actual usage logs from the old system, not user memory, because human memory often describes how the system was supposed to work, not how it actually works.
It's important to distinguish between three categories of information:
- Live Data – Must be migrated to the new system as active records with all their relevant links.
- Relevant Historical Data – Migrated as an archive for viewing, usually without the need for editing or automation.
- Dead Data – Not migrated at all, kept only in an external backup in case of audit.
Further details on managing the boundaries between the planning and build phases can be found in Salesforce Scope Creep, as the tendency to "add a little more old data" is one of the most common sources of scope creep in these types of projects.
New vs. Old Data Model: Not Translation, But Design
A common mistake is approaching the data model as a 1:1 translation — every table in the old system becomes a Salesforce object, every column a field. Such an approach preserves all the weaknesses of the old system within a new platform, missing out on Salesforce's key advantage: the ability to build flexible relationships between objects, built-in automation, and a rich permissions layer.
A comparison between the two main migration approaches helps inform a conscious decision:
| Aspect | Lift-and-Shift (Migrate As Is) | Redesign (New Design) |
|---|---|---|
| Project Time | Relatively short, usually 6-10 weeks | Longer, typically 3-5 months |
| Business Process Fit | Low — preserves old limitations | High — built around current process |
| Technical Debt Risk | High, emerges after 1-2 years | Lower, as structure is planned upfront |
| Future Maintenance Costs | Increases over time | Relatively stable |
| Suitable for | Organizations with extreme time pressure or very limited scope | Most organizations moving from a system older than three years |
| Primary Risk | "New system, old problems" | Schedule overruns if scope isn't contained |
In practice, most organizations choose a hybrid approach: Redesign for the core model (accounts, contacts, opportunities, or service cases), and controlled Lift-and-Shift for secondary entities with no major procedural impact. This decision must be explicitly made during the planning phase, not emerge haphazardly during development.
Parallel Run Period: Maintaining Business Continuity
The parallel run period is the timeframe during which both systems operate side-by-side — typically between four and eight weeks. Its purpose is to expose gaps in real-time, before they become irreversible problems. A closed sale, an opened service request, or a generated commission report — all of these should be checked in parallel in both systems and show identical or explainable results.
A question that arises in almost every project: Which system is considered the "source of truth" during this period? The answer must be singular and predefined, usually Salesforce from day one, with the old system used only for validation and not for day-to-day operations. Users performing double entry in both systems is a recipe for fatigue and eventual abandonment of the new system.
Practical tools for managing the period:
- Daily or weekly comparison report between key data points in both systems (number of leads, deal value, open cases).
- A live exception list updated immediately upon gap discovery, with an owner responsible for closing it within a defined timeframe.
- A group of "anchor users" from each department who report daily on usability issues, not just technical glitches.
Much of the insights gathered during this period are also relevant to the formal testing process, detailed in the Salesforce UAT Guide, and the post-launch period, described in the Salesforce Hypercare Plan.
Decommissioning the Old System: Not a Single Event, But a Series of Decisions
Decommissioning the old system happens in stages, not with a single button press on cutover day. The guiding principle: the system is disconnected from daily operations immediately upon Go Live, but remains accessible for read-only access for a short grace period, usually 30-60 days, in case a missing data point or a question from the finance team arises.
Cutover Decision Checklist
Before announcing the official decommissioning of the old system, it's advisable to ensure:
- ☐ All reports regularly generated from the old system have been successfully replicated from Salesforce or from the archive.
- ☐ One full business cycle (e.g., a complete closing month) has been completed entirely within the new system.
- ☐ Data discrepancies between systems have fallen below a predefined threshold (e.g., less than 1% of records).
- ☐ Written confirmation has been obtained from the legal or financial department that the archive meets retention requirements.
- ☐ Responsibility for read-only access during the grace period has been defined, as has the timeline for its final closure.
- ☐ A full and verified backup of all old system data has been performed before license cancellation.
- ☐ Notification has been sent to all process owners regarding the final decommissioning date and how to access the archive.
Skipping any of these items is the most common reason why, months after the project, it's discovered that required information for a tax audit or legal dispute is inaccessible.
Archive and Regulation: What Must Be Stored and For How Long
Data retention requirements vary between industries, but there is almost always a mandate to retain financial, contractual, or customer complaint-related data for a period of seven years or more. A common mistake is trying to "push" all this history into Salesforce as live records, which burdens performance and confuses users who see decade-old transactions in their daily lists.
The common solution is a separation into two layers:
| Layer | Content | Location | Accessibility |
|---|---|---|---|
| Live Operational Data | Last 24-36 months | Salesforce | Full, including editing and automation |
| Regulatory Archive | Full history as required by law | External data warehouse or Salesforce Archive | Read-only, with search capability |
It's crucial to document the archiving policy in writing and obtain legal approval before revoking access to the old system, because once the license is cancelled, there's no turning back if data is found to be missing.
Example Organizational Scenario
A financial services company migrated from a 12-year-old on-premise CRM system to Salesforce. The team identified during the mapping phase that approximately 40% of existing fields had not been touched for two years or more, and decided to exclude them from the migration. This saved about a month of effort in development and testing.
During the six-week parallel run period, a discrepancy in commission calculation was discovered due to a difference in number rounding between the systems — an error that would not have been found without a daily comparison report. The team corrected the formula before it affected actual paychecks. The old system was disconnected from daily operations on Go Live day, but read-only access was maintained for an additional 45 days for verification of a quarterly report that was already in progress.
The result: within three months of final decommissioning, no further access to the old system was required, and the savings in licensing costs covered a significant portion of the migration project cost itself.
Common Risks and Prevention Measures
| Risk | How it appears in practice | Prevention Measure |
|---|---|---|
| Migrating "everything" without filtering | The new system is cluttered with dead data, slowing adoption | Define a filtering criterion based on actual usage in the last two years |
| Copied data model | The same limitations of the old system reappear in Salesforce | Design a new model around the current process, not the old tables |
| Parallel run without an Owner | Discrepancies between systems are discovered late or not at all | Periodic comparison report with a designated owner for each exception |
| Too hasty decommissioning | Missing data is discovered after the license has been cancelled | A grace period of read-only access before final cancellation |
| Ignoring archiving requirements | Regulatory audit reveals required information was not properly retained | Obtain written legal approval of the archiving policy before cutover |
How to Measure Migration Success
| Area | What to Measure | Measurement Frequency |
|---|---|---|
| Data Integrity | Percentage of records successfully migrated without error | Before and after each migration run |
| System Alignment | Discrepancies in key reports between old and new | Daily during the parallel run period |
| User Adoption | Percentage of work done in the new system versus reverting to old | Weekly in the first month |
| Operational Cost | Savings in licensing and maintenance after decommissioning | Monthly, starting three months after Go Live |
For a Salesforce CRM system replacement, it's advisable to choose only three to five metrics upfront and measure them both before and after the project – otherwise, it's difficult to prove that the migration actually improved a process rather than just moving it to another platform. The actual execution of such a process can be carried out with the assistance of Salesforce Implementation services, which guide organizations from the mapping phase all the way to decommissioning the old system.
Professional Resources
- Salesforce Well-Architected — https://architect.salesforce.com/docs/architect/well-architected/guide/overview.html
- HPI Pro – Salesforce Implementation — https://hpi.pro/salesforce-implementation
- HPI Pro – Methodology — https://hpi.pro/methodology
