Companies today must be highly agile to meet ever-evolving marketplace demands. But the legacy applications many still depend on for much of their business-critical processing are ill-equipped to support that kind of agility. That’s why identifying and overcoming app modernization challenges is critically important.
The Consortium For Information & Software Quality (CISQ) highlights the necessity for app modernization in this way:
After decades of operation, they [legacy apps] may have become less efficient, less secure, unstable, incompatible with newer technologies and systems, and more difficult to support due to loss of knowledge and/or increased complexity or loss of vendor support. In many cases, they represent a single point of failure risk to the business.
CISQ notes that companies now spend 75% of their IT budgets on their legacy systems. That’s money that’s not being spent to provide the innovations that are critical for success in today’s market environment.
For that reason, modernizing legacy systems and applications so that they can fully participate in today’s cloud-centric ecosystem is critically important. Yet according to a 2022 survey of senior IT professionals, 79% of app modernization efforts fail, and those failures represent an enormous waste of time and resources. In this article, we want to examine the particular app modernization challenges that may give CIOs sleepless nights as they contemplate upgrading their legacy applications.
Why Overcoming App Modernization Challenges is Critical
More than half (56%) of the respondents to a survey of corporate CIOs say that their legacy applications are significant obstacles to their efforts toward digital transformation. But because those applications still perform functions that are critical for day-to-day business operations, they can’t simply be eliminated.
Rather, to gain the technological agility that’s necessary for meeting ever-changing marketplace demands, companies must find ways to integrate their legacy apps into today’s cloud-centric ecosystem.
That’s what application modernization is all about. Industry analyst David Weldon puts it this way:
“Application modernization is the process of taking old applications and the platforms they run on and making them “new” again by replacing or updating each with modern features and capabilities that better align with current business needs.”
When done well, application modernization not only provides the flexibility and agility that enables companies to react quickly to changing marketplace conditions, but it also yields better application performance, increased efficiency for developers, and reduced overall costs.
Challenges of Application Modernization
The app modernization challenges most likely to keep CIOs awake at night fall into three major categories: costs, time, and risk. Let’s take a closer look at each.
There’s no question that any significant legacy app modernization effort will require a substantial investment of both money and time. According to one survey, the average application modernization project costs $1.5 million and takes 16 months–and still, 79% of these initiatives fail.
Obtaining the necessary budget commitment is often the biggest obstacle CIOs face in initiating a legacy app modernization project. That’s especially the case when a company’s legacy apps seem to still be functioning as intended and providing value to the organization. That perception may cause senior management to take an attitude of “if it ain’t broke, we can’t afford to fix it.”
Yet, the risks and costs of doing nothing are substantial. Using a standardized metric it calls the Cost of Poor Software Quality, CISQ calculated that in 2020 it cost businesses $520 billion to maintain legacy software.
In addition, as the technological context for which they were designed recedes further and further into the past, legacy apps become more brittle (easily breakable) and may constitute, as CISQ notes, a “single point of failure risk” that could trigger huge unexpected costs if a breakdown should occur.
How can a CIO deal with the inevitable budget limitations that could seriously curtail any effort at legacy app modernization? First, costs must be contained; second, senior management must be shown the positive ROI that legacy app modernization can yield.
Containing Legacy App Modernization Costs
Legacy application modernization, which normally involves refactoring monolithic legacy codebases to convert them to a cloud-native microservices architecture, requires a high level of expertise within the development team. Not only must developers understand the legacy app itself (and its technological framework), but they must also be skilled in navigating the open-source environment of the cloud.
That presents a two-fold problem. First, the developers who were most familiar with the legacy app are usually no longer available, and finding equally knowledgeable replacements is nearly impossible. Second, while developers who are at home with cloud technologies are available, they come at a cost that is often beyond what companies can pay to staff a modernization project.
The answer is to not try to do everything yourself. Instead, you’ll want to work with partners that already have the skills and experience required for efficiently modernizing monolithic codebases.
Making the ROI Case for Legacy App Modernization
Getting the budget commitments needed for an app modernization effort requires getting buy-in from the executive team. You’ll need to present quantitative information that establishes the ROI that can be expected from such a project. That data can be acquired by use of an AI-enabled automated tool that can help you assess the technical effort required, the associated costs, and the savings that will ultimately be gained.
Refactoring legacy apps to give them an essentially cloud-native architecture is a highly complex task. A monolithic codebase is basically a single unit that has function implementations and dependencies woven throughout the code in non-obvious ways.
Manually unraveling millions of lines of code to expose those functions and dependencies requires both a high degree of technical expertise and the investment of many months or even years of developers’ time. A report by McKinsey quotes one IT leader as saying,
“We were surprised by the hidden complexity, dependencies and hard-coding of legacy applications, and slow migration speed.”
But the key word in this scenario is “manually.” The degree of complexity, and the time required to manage it, can be substantially reduced by employing the kind of AI-enabled, automated analysis tool we mentioned before. The use of such a tool can allow developers to accomplish in just weeks what would take many months if done manually.
Perhaps the scariest of the app modernization challenges that may keep a CIO up at night is the potential that after a significant investment of time and money, the project might fail to deliver the expected benefits. Even worse is the risk that faults might be inserted into a business-critical legacy app, causing significant disruptions to company operations.
Those risks are real. As we’ve seen, almost 80% of legacy app modernization efforts end in failure. And there are risk factors inherent in the process of refactoring monolithic codebases into microservices that can rarely be avoided.
For example, there’s often a knowledge gap caused by the fact that the original developers of a legacy app are no longer available, and written documentation is often incomplete or outdated. In its many years of service, legacy code will usually have been modified, adapted, and patched to meet specific needs of the moment, but such changes are rarely adequately documented. As a result, developers engaged in a modernization effort might overlook important functions that are hidden in the code.
Minimizing the Risk Factor
How can such risks be mitigated? The key is good planning and taking a step-by-step approach that allows you to fully test changes before they are incorporated into the application.
Start by assessing your legacy app portfolio to identify and prioritize those apps that need immediate modernization to meet current or future business goals versus those that can be left alone for now or simply migrated to the cloud (via rehosting or replatforming) with minimal changes. This is another area in which having an automated, AI-based analysis tool is critical.
In a microservices architecture, each service embodies a single function that can be implemented and thoroughly tested without impacting the application as a whole. Your modernization plan should be based on adding or replacing functionality one at a time with their microservice implementations. The plan should also include a process for quickly and seamlessly backing a microservice out if problems arise when it’s incorporated into the application.
How vFunction Helps CIOs Overcome App Modernization Challenges
We’ve seen how having an AI-based, automated tool can make a huge difference in minimizing the cost, time, and risk factors of legacy app modernization. And that’s exactly what the vFunction Platform provides.
The vFunction Assessment Hub can automatically analyze legacy apps and generate quantitative measures of code complexity and interdependence. It produces hard numbers that quantify the amount of effort required to modernize each app, providing the information you need to prioritize your modernization efforts and estimate ROI for the project.
The vFunction Modernization Hub automatically transforms complex monolithic applications into microservices. It uncovers hidden process flows and dependencies in applications, thereby minimizing the chance that important functions will be overlooked or incorrectly implemented.By making use of such automated features, vFunction accelerates modernization projects by 10-15x, saving hundreds of thousands of dollars per application. To see first-hand how vFunction can help you overcome app modernization challenges and sleep well at night, schedule a demo today.