Within the Salesforce ecosystem, there are many projects that corporations perform to stay relevant and competitive. For instance, as a company evolves, it will usually take the time to evaluate and adjust its Salesforce customizations to make sure they are aligned with Salesforce best practices and built on suitable features. This is called “refactoring.” At the same time, Salesforce has evolved, developing a new and improved platform called Lightning that puts the Classic version in the past. Transitioning to Salesforce’s new UI is referred to as “Lightning migration.” And because both refactoring and Lightning migration projects involve a change from one state to another, many people believe that they are parts of the same project. At Ntegro, we offer a different approach.
Refactoring and Lightning migration projects may seem similar on the surface, but each project has many intricacies that can cause trouble if combined together. In this article, we will explain the differences and propose a solution for tackling both of them together.
What Is Refactoring?
In almost every case, a company’s initial Salesforce implementation needs review every five to ten years after the original design. This is because companies grow, processes change, and improvements are made along the way. Custom solutions become outdated or better solutions become available, and companies need to adapt. Simply adding features over time without cleaning up existing ones can lead to inefficient processes and crowded page layouts and in some cases performance degradation.
In order to remedy this, companies must refactor. This means that they must evaluate all of their customizations to determine which ones should stay, which ones can go, and which ones can be updated. These types of projects deal with changing the foundation of a Salesforce instance to match current business needs. And while they are often large projects, much of the work is done on the backend, and the user experience should not be impacted very much.
What Is A Lightning Migration?
On the other hand, a Lightning migration is a bit different in that it is mostly frontend. The Lightning platform contains a revamped UI optimized for speed and usability. If a company wanted to move from Classic to Lightning, they would have to go through a Lightning migration.
Because the differences between Classic and Lightning are extremely apparent on the frontend, companies doing a Lightning migration have to train their employees on how to use the new interface. You will update UI components like forms, layouts, and pages, and the system will look entirely different even if not much changes on the backend.
Why Not Combine Them?
In short, a refactoring project mainly deals with backend adjustments while a Lightning migration is largely frontend. Many companies see these two projects as falling under the umbrella of “redesign,” but they are complex in their own ways and should be separated. At Ntegro, we can break the reasons down into four main points:
- Lack Of Overlap – While these two projects both deal with “redesign,” one is a frontend project and one is a backend one. If you were to list out all of the tasks for each project, there would be very little overlap.
- Executive Support – A Lightning migration is easily explained to executives: Salesforce is changing its model and dropping support for Classic, so we should switch to Lightning. It’s easy to understand he value and importance. However, a refactoring project requires a lot more hard data. Executives may be hesitant to invest in refactoring if the benefits are not readily transparent. However, performing a Lightning migration can surface issues with the backend, serving as a way to gather support for a refactoring project.
- Individual Complexity – Alone, each of these projects covers a significant scope. If you combine them, this scope can become challenging to manage, and the project team can quickly become overwhelmed.
- Project Management – When it comes to managing each project, the goals are completely different. For a Lightning migration, the aim is to introduce a new UI and end-user experience. For a refactoring project, the aim is to preserve the same user experience while improving the backend processes.
So, what is the best approach for a company aiming to perform a refactoring project as well as a Lightning migration?
After working with many different clients, we’ve found that it’s best to do a Lightning migration first and a refactoring project second. However, you do not need to completely isolate them. You can actually use the Lightning migration to gather requirements about what may need to be refactored in the future. We suggest taking the following steps:
- Lightning Migration
- Identify all custom Salesforce components
- Use the Lightning Readiness Report to help
- Link each component to a process and department/user that uses it
- Determine how to make each component Lightning ready and if it will require refactoring
- The end result should be a spreadsheet that lists all of the customizations with ones that need refactoring flagged. Include how to migrate each component to Lightning
- Create a Lightning migration plan
- Group components that you will migrate by department and by process
- Create a phased migration plan that includes migrating a single department and their active components to Lightning while all other users and components remain on Classic.
- Build in time for user feedback and improvement so each iteration of moving a new department to Lightning is better than the last
- Implement the migration plan
- Identify all custom Salesforce components
- Use the documentation from your Lightning migration to identify components that need to be refactored
- Document how you need to change these components with time estimations
- Create a test plan to test each refactored component before deploying the changes in the production environment
- Iterate through each change until you have refactored all necessary components. Use each iteration to improve the next
Need Help With These Projects?
If you’d like to tackle a refactoring project or a Lightning migration, Ntegro has the tools to help you succeed. On top of that, we’ve done these projects before. We know the ins and outs of each one, and we can help you account for every contingency. We can provide accurate timelines for each project and configure sure your Salesforce instance to match your business needs. Schedule a FREE consultation with us online to learn more about our services!