Data migration is often the highest-risk phase of any Salesforce implementation. Strategy:
1. Inventory and Profiling (Week 1-2)
- Source systems: identify every system holding migrate-able data.
- Object mapping: source tables -> Salesforce objects.
- Data profiling: row counts, field completeness, data quality issues, duplicates.
- Cleansing decisions: what gets migrated, what gets archived, what gets fixed.
2. Mapping Specification (Week 2-4)
- Field-level mapping: source field -> Salesforce field, with transformation rules.
- Default values for required Salesforce fields not in source.
- Lookup translations: source IDs -> Salesforce IDs (often via External Id fields).
- Picklist value mappings: source values -> Salesforce picklist values.
- Special handling: nested data, attachments, audit history.
3. Order of Operations
Migrate parents before children:
- Users (system context for ownership).
- Accounts.
- Contacts (linked to Accounts).
- Opportunities (linked to Accounts).
- Activities (linked to anything).
- Custom objects and dependent records.
4. Migration Tooling
- Salesforce Data Loader / Dataloader.io — for moderate volume, structured migrations.
- Bulk API 2.0 — for high volume.
- Custom ETL (Mulesoft, Talend, custom Python/Node) — for complex transformations.
- Workbench — for ad-hoc fixes.
5. Iterative Migration Testing
- First pass: tiny subset (10-100 rows). Validate mapping, identify issues.
- Second pass: larger subset (5-10% of full volume). Performance check.
- Third pass: full volume in dev sandbox. Time the run.
- Final pass: production cutover (rehearsed in Full Sandbox first).
6. Validation
- Row counts match (within tolerance for cleansing).
- Spot-check sample records: every field correctly populated, relationships intact.
- Reports comparing source totals to Salesforce totals.
- Critical reports / dashboards rendering correctly.
7. Cutover Plan
- Freeze source system before final extract.
- Final extract and load with rehearsed timing (typically a weekend).
- Validation period before users see Salesforce live.
- Rollback plan: what if the migration fails late?
8. Post-Migration
- Reconciliation: any records that failed to migrate need attention.
- Audit trail: full record of what was migrated, with errors logged.
- User support during early days for "where's my data?" questions.
Common pitfalls:
- Underestimating cleansing: legacy data is dirty. Plan 30-50% of migration effort on cleansing.
- Ignoring duplicates: migrate dirty, you carry the mess forward.
- Not testing with full volume: scaling surprises (sharing recalc, governor limits).
- Insufficient sandbox time: rehearse the migration; don't do it first time in production.
- Missing audit history: legacy may have years of historical change records; decide what to keep, where, in what format.
Senior data architects bring mapping spreadsheets, cleansing dashboards, and rehearsal playbooks as standard tooling. Migration is a project within a project.
