If you need to modernize legacy applications, the best approach depends on the problem you’re trying to solve.
Digital transformation has made it imperative for application leaders to find effective ways to modernize legacy systems. The biggest challenge? Knowing the risk-to-reward ratio before acting.
“For many organizations, legacy systems are seen as holding back the business initiatives and business processes that rely on them,” says Stefan Van Der Zijden, VP Analyst, Gartner. “When a tipping point is reached, application leaders must look to application modernization to help remove the obstacles.”
The Gartner three-step evaluation process provides direction in determining how to approach application modernization. The best approach depends on the problem that needs to be solved.
There are six main drivers for application modernization. These are the issues, concerns or impediments that have been created by the legacy application as a result of its technology, architecture or functionality.
Three of these drivers come from a business perspective — business fit, business value and agility. If the legacy application is not meeting the new requirements imposed by digital business, it needs to be modernized to fit properly, and should be upgraded to provide greater business value. Applications that lack the agility to keep pace with the demands of digital business may be a cost or risk liability.
The three other drivers come from the IT perspective, and involve cost, complexity and risk. If the total cost of ownership is too high, the technology too complex, or security, compliance, support or scalability are being compromised, it’s time to modernize.
The best modernization opportunities are those with multiple drivers from both a business and an IT perspective.
STEP 2: Evaluate modernization
Once the opportunity is selected and the problem is identified, look at modernization options. Gartner has ranked seven options by ease of implementation (the easier it is, the less risk and impact it will have on the system and the business processes; the harder, the more risk and impact it will have.)
- Encapsulate. Leverage and extend the application features by encapsulating its data and functions, making them available as services via an API.
- Rehost. Redeploy the application component to other infrastructure (physical, virtual or cloud) without modifying its code, features or functions.
- Replatform. Migrate to a new runtime platform, making minimal changes to the code, but not the code structure, features or functions.
- Refactor. Restructure and optimize the existing code (although not its external behavior) to remove technical debt and improve nonfunctional attributes.
- Rearchitect. Materially alter the code to shift it to a new application architecture and exploit new and better capabilities.
- Rebuild. Redesign or rewrite the application component from scratch while preserving its scope and specifications.
- Replace. Eliminate the former application component altogether and replace it, considering new requirements and needs at the same time.
STEP 3: Choose the modernization approach with highest effect and value
Finally, choose the modernization approach that will have the highest effect and value to your organization by mapping the seven modernization options in terms of their effect on technology, architecture, functionality, cost and risk.
Ultimately, modernizing legacy applications means choosing between rearchitecting, rebuilding or replacing. Rearchitecting has medium costs and risks, whereas rebuilding or replacing provides best results with higher costs and risks. The key is to weigh all options to help identify the extent to which each will have the desired effect — with the minimum effort and maximum positive impact.
This article has been updated from the June 1, 2018 original to reflect new events, conditions and research.