The latest insights from 50 techies who love what they do.
One of the critical questions you need to tackle when modernizing a legacy application is whether to migrate it to the new platform first or refactor it before doing so.
During the discovery and planning process we often encounter custom applications that already have a roadmap for modernization and refactoring. In other cases our discovery process uncovers end-of-life frameworks and software components, unpatched security vulnerabilities and poor documentation such that the list of applications that need refactoring gets longer. I’ve written about these types of applications in a series of posts on Migration Resistant Applications.
When planning cloud migration for legacy applications that either have a modernization roadmap in place or newly discovered need for refactoring, the issue of order becomes important. Should we migrate first or should we refactor first?
It depends, of course! Here are some of the principles that I use when helping organizations decide between those two options.
THE RATIONALE FOR MIGRATING FIRST
Migrating first is a good strategy when:
The benefits of migrating first are:
THE RATIONALE FOR REFACTORING FIRST
Refactoring first is a good strategy when:
The benefits of refactoring first are:
So, yes, it does depend on your situation. Whether you migrate or refactor first depends on a mix of factors that include the number of applications to be moved, the quality of the applications in question, time pressures and organizational preference for front-loading the cost of refactoring or spreading it out. Although the decision can be complex, these principles can help you make the right decision for each application.