Managing and Modernizing Legacy Applications

by Ian S. Hayes and Gerry Leitao

 

The Legacy Dilemma

In the world of Information Technology, the word “legacy” has anything but positive connotations.  It brings to mind complex, hard-to-maintain applications, aging, less-than-efficient technologies, high operating costs and lack of flexibility and responsiveness to business change. Too often, IT executives and staff consider legacy systems to be a drain of investment dollars from development efforts rather than valuable business assets that can be effectively managed.  Older applications require specialized and increasingly hard-to-obtain skills to support and have difficulty integrating with modern technologies and architectures.  Legacy applications consume a disproportionate amount of IT budget and resources for their support, accounting for as much as 80% of a company’s overall IT spending.

Yet despite these challenges, businesses run on legacy applications.  They dominate enterprise application portfolios and their functionality supports core corporate operations.  They are often the only complete repository of a function’s business rules and logic, critical knowledge that companies can ill afford to lose.  IT may create value by building new applications, but the business extracts that value by using those applications in production.  From the business perspective, legacy applications remain valuable as long as they can keep pace with changing business needs.  Unfortunately, their technology ages and a constant stream of maintenance changes adds complexity, obscures the original design, and degrades performance, driving up the cost of maintenance and support, and compromising their ability to respond to business needs.

Most IT organizations treat these legacy challenges as a cost of doing business, budgeting considerable sums to maintain their production application portfolios, while accepting their inevitable decline in value.  Thankfully, new tools, techniques and architectures provide new strategies for improving this bleak picture.  Through these advances, IT organizations can extend and enhance legacy application value, while improving performance, lowering support costs and freeing IT resources for development assignments.

 

Options for Managing and Modernizing Legacy Applications

IT organizations must treat legacy applications as financial assets in order to extract greater value from them.  Each application asset has an original investment for its development (or acquisition), ongoing costs for operations and support, and delivers quantifiable business value from its use.  Application assets differ in quality, lifecycle stage and level of business and financial returns.  Following this model, a portfolio of applications can be treated in the same way as other investment portfolios and managed to maximize overall returns.  Whether an individual application should be maintained, extended, modernized or replaced is a financial decision that weighs an application’s business value against its costs, condition and expected useful lifespan.

The first step of the application management and modernization process is to perform an application portfolio analysis to capture an accurate inventory of production applications and assess the condition and business value of each one.  Armed with this information, an IT organization can create application and portfolio level improvement roadmaps.  These roadmaps start with the current state, define the desired end state and lay out a systematic plan to reach the end goal of maximizing business returns.  Each roadmap includes chosen optimization strategies, schedules and resources, along with a calculation of costs and benefits.  Application level roadmaps are compared and prioritized for roll-up into a portfolio level plan.

Portfolio Level Approaches

Certain optimization approaches apply primarily at the portfolio level, where they govern how the individual application roadmaps are executed.  Key portfolio level strategies include:

·        Status Quo – solid portfolio management practices allow IT to leave execution of application roadmaps to individual application teams.

·        Rationalization - finds and removes applications that provide marginal or even negative business value to reduce costs and free resources for other activities.

·        Insourcing – sets up an internal IT group, armed with the latest application management practices and equipped with the latest technologies, to support the application portfolio as an alternative to outsourcing.

·        Outsourcing – transfers an application portfolio to a third-party for maintenance and support either on site, or at a separate on-shore, near-shore or offshore facility.

Application Level Approaches

The following approaches apply to individual applications and form the basis for developing the application’s improvement roadmap.

·        Retirement - terminates support and decommissions applications that no longer deliver sufficient value to justify continued investment.

·        Replacement- replaces required legacy functionality by building a new application, acquiring a software package or service, or subsuming that functionality within another application.

·        Sustain - maintains applications that meet functional and technical needs “as is.”

·        Enhancement - increases an application’s business value by investing in functional improvements. 

·        Optimization - upgrades technical quality to improve maintainability, use new technology features, reduce operational costs and/or prepare for migration, service enablement or transformation.

·        Outsourcing - transfers a single application to a third party for maintenance, improvement and support

·        Migration - moves application functionality from one technology/platform to another.

·        Service enablement - exposes legacy application functionality for use in other applications within a Service Oriented Architecture.

·        Transformation - captures, documents and models the application’s business knowledge to create new applications using SOA or other state-of-the-art architectures.

Benefits

Legacy applications are, and will continue to be, valuable corporate assets.  Proactive management of these assets is the best way to maximize their financial returns through improved business and operational performance, faster responsiveness, and reduced operating and support costs.  Regularly assessing application portfolios ensures that individual applications receive the type and level of attention and support justified by their value to their business users.  Relying on these assessments, IT organizations have many available paths to modernize and better manage their applications.  Factors such as functional and technical quality, life cycle stage, support and operating costs, and business performance determine whether an application should be sustained, enhanced, optimized or retired.

Finally, advances in technology and IT architectures make it possible to use legacy application components in ways undreamed of by their creators.  Whether broken into reusable services or used as a foundation for transformation, the legacy systems of the past can share their accumulated knowledge to enable the applications of the future.