Paula Neary is CEO of Ribbonfish, a Salesforce partner with an expert team made up of Sales Cloud, Service Cloud, Pardot, org convergence and app consultants and developers.
Organic or acquisition-based growth often means multiple Salesforce instances used in the same organisation leading to fragmented reporting and sales pipeline.
Whilst in some cases it can be a conscious decision to continue using multiple orgs e.g. when customer or product sets do not overlap, most organisations would benefit from unifying Salesforce instances, and by extension reporting and processes. A unified Salesforce instance also helps integration with other applications especially ERP and marketing automation solutions, and simplifies system and data maintenance. The key benefits of a single org strategy are collaboration and the ability to see a 360° view of your business and the customers. There is a cost overhead in having multiple orgs due to the need to maintain multiple administration, support and development teams.
Once agreement has been reached on the need to converge instances, the next step is to work out the most appropriate approach. Migrating data only from source to target org is one possible option. While it can be the fastest way of merging instances, it also means the target state will not support functionality and business processes for users from the source orgs. Another approach is to move source orgs into a new empty instance. While there is an advantage of not having to disrupt the production instance, the migration and configuration effort can be higher.
The approach our clients usually take is to merge data and configuration of the smaller orgs (defined as having lower configuration complexity and data) into the largest org (typically designated the ‘master’). As long as the analysis and process ensures consistent validation rules and agreed data sets/picklists, this approach strikes a balance between the need to converge quickly and ensure continuity in business process.
In an ideal scenario the Salesforce org should be analysed with close business involvement. This is an ideal opportunity for the business to compare the original design against how the target system is actually used and rationalise processes and components that may no longer be required.
Analysis and convergence can be broadly split into two streams –
- Metadata components & code
Metadata components and code
The first task is to identify, extract and analyse configuration of the source orgs in order to estimate effort required based on number of data objects, customisation level etc.
1. Extract all customisations from source org.
The extraction framework helps analyse the xml configuration file, log errors and create backups. At the same time it allows us to determine the extent of customisation and potential issues with the high level opportunity process, standard dropdown values etc.
2. Build configuration spreadsheet for the target org which includes
- Standard and custom objects
- Data fields per object including pick list values and potential conflicts like same field names
- Validation rules from the source org
- Email templates
- Workflow and approval rules
- Page layouts and user profiles
3. Document and review integration points and extended apps
4. Review with the business the differences in conflicts and configuration between the source and target orgs
5. With direction from business agree on scope and decisions regarding the target org and the customisations to be retained/transferred from the source org
6. Build release based on agreed scope
Data migration can be restricted to mapping source data to target org fields, extracting and importing into the new instance. However a project can often be the ideal opportunity to re-evaluate and clean data.
Data analysis helps to determine the extent of duplication (both within and between the orgs) and usage. The process to determine master data, merge or delete records can then be done by business users before importing into the target or after import by leveraging de-dupe tools in Salesforce.
Ribbonfish also use apps like ‘Field Trip’ to analyse both standard and custom data on a per object basis and determine utilisation. This allows the business to remove/deactivate fields which are no longer needed.
In order to move data from the source org to the target org, Ribbonfish uses the data loader command-line interface with an inhouse framework to extract and load from one org to the other.
Challenges with data migration
The key issue in any convergence project is to ensure the integrity of data linkages from the old org in the new org. For instance, when a contact is moved to a new org, it is assigned a new Salesforce ID. However any other field linked to the contact still retains the old ID. In order to overcome this, Ribbonfish uses a staging table to retain the old ID in a new custom convergence ID field. This allows the use of the old ID and prevent any broken linkages.
This approach works for most objects but can still be an issue for objects like tasks activities and for attachments. Tasks activities can be associated to multiple objects while attachments are only associated with an owner ID. In order to overcome this issue and for reasons of consistency and speed, Ribbonfish have developed code which creates the custom convergence field, assigns it the old Salesforce ID and maps to the appropriate data while extracting into a staging table.
Other challenges include ensuring the dates format is maintained and any UTF8 formats are transformed appropriately in staging before migration into the new instance.
Ribbonfish have successfully delivered convergence projects ranging from 8 weeks (2 orgs, approx. 10,000 records with minimal customisation) to 6 months (2 orgs, over a million records and heavy customisation).
The time required to deliver a converged org will depend on the following parameters:
1. Number of orgs to be merged
2. Number of records
3. Extent of customisation
4. Time taken for business to agree and sign off on data and design of the target org
5. Need for data de-duplication
6. Business change and training requirements on the target org
Unifying systems is a key element in realising efficiency gains from mergers. The frameworks developed by Ribbonfish to merge Salesforce instances ensures:
- Migration of data can be accelerated
- Consistency and integrity of target state configuration is maintained
- Minimise disruption of the production instance and to business continuity
To find out more about Ribbonfish, or about building and working with Salesforce Orgs in general, please get in touch.