Use Continuous Modernization To Optimize Legacy Applications
Use Continuous Modernization To Optimize Legacy Applications
10 January 2024
- ID G00772826 - 12 min read
By Stefan Van Der Zijden, Deacon D.K Wan, and 1 more
Analysis
Use Continuous Modernization as an Alternative to Rip-and-
Replace Programs
For most organizations, legacy applications are still the center of gravity
within their application portfolio. These applications contain important
data, and they provide valuable functions to digital products and services.
However, these aging, custom and package-based applications impose
obstacles that negatively impact business agility and velocity. Four
common obstacles include:
They were not designed and built to match the pace of digital
business demand.
They may contain functions that other, more modern platforms and
technology are now better-suited to deliver.
They are closed systems. Functions and data are not easily
accessible.
They are aging. They have deteriorated over time due to
mismanagement. Their business fit, business value and agility have
declined while cost, complexity and technical risk have increased.
That being said, these obstacles do not always require you to discard
legacy applications entirely. In many cases, the 80/20 rule holds true —
20% of the functions and features of an old application are causing 80% of
the pain; and thus, 80% of the application is still fit for purpose.
Think of legacy applications in the same way you would think of an old
car. When it is time to overhaul the car, you look at the individual
components and assess their health and fitness. If the vast majority of its
components are worn out or bad, you have a total loss. But in many
cases, most of its components are good enough. In these cases, you
would be best served to clean, repair or replace the defective components
— thus extending the life of the car and making it a valuable, safe and
comfortable asset to own.
In short, applications and software engineering leaders should view legacy
applications as assets to manage — not merely problems to eliminate.
Applications and software engineering leaders should not ask, “how can
we get rid of these old applications?” They should instead ask, “how can
we optimize applications by addressing technical debt, improving the
business fit or modernizing their platforms?”
A gradual, continuous approach to modernizing legacy applications is
superior to rip-and-replace efforts due to:
Cost, risk and impact — In many cases, a rip-and-replace
approach for whole systems is too costly, too risky and too time-
consuming. Rip-and-replace efforts have a significant, disruptive
impact that most organizations are unwilling to accept.
Urgency — Even if you are willing and able to go through a rip-and-
replace approach, it will probably take a year or longer to execute.
Digital business cannot wait that long. It needs support as soon as
possible.
Uncertainty — It is difficult to predict what kind of services and
data will be required for upcoming digital business initiatives. New
and changing demands will challenge your rip-and-replace project.
There’s another reason why application modernization should be a
continuous process — you are never finished. Applications and software
engineering leaders often conceptualize legacy applications as those old
mainframe applications from the 1970s and 1980s. But when we are done
modernizing those applications, new legacy applications will emerge —
such as client/server applications from the 90s, and early Java and .NET
applications from the 2000s. Technology ages quickly and requirements
change constantly, which creates new legacy applications over time.
Implement Continuous Modernization
Continuous modernization is an iterative approach for identifying,
prioritizing and removing obstacles to digital business from legacy
applications. These obstacles — or friction points — are points at which
the technology platform and development ecosystem are not able to
provide satisfactory support for a business capability or keep up with
demand.
Continuous modernization is a multistep process, split out across three
key stages.
Assess and prioritize
Step 1 — Identify the business capabilities that are supported by
the legacy application. Assess how business capabilities contribute
to business value streams and customer value. Use value-stream
mapping or business-capability-impact mapping to highlight the
impact of change or opportunities for optimization.
Step 2 — Identify which components or parts or the legacy
application are supporting each business capability.
Step 3 — Assess the support for each business capability and
identify any modernization drivers, such as poor business fit, value
or agility, or high complexity, risk or cost. This assessment can be
performed using Gartner’s fitness and value review process (see
How to Assess the Fitness of Your Application Portfolio). In this case,
however, we are assessing support for each business capability and
not the whole of the application.
Step 4 — Identify and prioritize the friction points with TIME
analysis (see Using TIME for Application and Product Portfolio Triage:
Data From the Field). Discuss these friction points with business
stakeholders to create a backlog of modernization activities.
Transform
Step 5 — For each selected modernization activity, analyze the
cause behind the problem and select the appropriate modernization
approach to remove the friction point. These approaches include
encapsulating, replatforming, refactoring or replacing application
components.
Step 6 — Execute the modernization to remove the friction points
or obstacles and improve business support.
Refine and repeat
Step 7 — Reevaluate the backlog to include any new or changed
priorities.
Step 8 — Select the next activity from the backlog and go back to
Step 5.
Continuous Modernization Enables Composability to Improve
Business Support
Composability is a design approach that enables systems (for example, IT
systems, organizations and products) to adapt quickly to changes while
staying resilient. At the heart of composability is modularity. Basic
elements are partitioned into a system of building blocks that can easily
be configured into a solution.
Continuous modernization gradually enables legacy systems to become
more composable by replacing a component with more appropriate
technology or by encapsulating, reusing and extending a current function.
Figure 2 shows a legacy application that supports business capabilities in
the context of sales and marketing. In this example, we have assessed
how well these business capabilities are supported. The green capabilities
are fine, but the red ones have issues. These issues can be a combination
of any of the modernization drivers mentioned earlier — poor business fit,
value or agility, or high cost, complexity or risk.
Figure 2: Identify, Prioritize and Remove Friction Points to Optimize
Legacy Applications