When to retire legacy applications

Contact Us

Contact a Microsoft Representative

Your satisfaction Matters!Let us know your thoughts about your Microsoft experience.




Related Links

Web Service Façade for Legacy Applications

Access to Legacy Applications and Data

TechNet Webcast: Examining Virtualization with Windows Server 2008

If you're debating the merits of maintaining a core application, consider whether it's making your organization less competitive.

In summary:

Consider the risks involved in maintaining or eliminating a legacy application.

Consider modernization alternatives, such as replacing applications in a modular fashion or implementing Web services to reuse legacy code.

Don't forget about intangible benefits, such as easier integration with other data, that a modern application can offer.

There's a reason why legacy applications become legacy applications. They might be old, but they work. IT has already fixed all the bugs, customized them heavily, and understands the quirks and how to work around them. Parting with systems that have such history and familiarity can be difficult for IT departments and the people who depend on those aging applications.

The time may come, however, when the maintenance and customization costs for a legacy application are too onerous. Then you have to conduct a rigorous cost-benefit analysis to look at three facets of the real cost of your legacy application:
Maintenance costs. What you pay to keep it running
Ancillary costs. Such as increased costs for integration or support
Opportunity costs. Value you are forgoing because your legacy application prevents you from taking advantage of new technology

Unfortunately, there is no correct answer. New technologies—virtualization, Middleware Services, and Web services, which enable service-oriented architecture (SOA)—are making it easier than ever before to maintain the value of legacy applications. But it is important to consider all the ramifications so that you can make an informed decision.

The question of risk


*In your cost-benefit analysis, you have to consider transaction costs. If you have a system that requires employees to look for information, such as inventory levels, in different places, that can take a lot of time. You could lose a sale.*
Sam Dharmasiri
managing director, ePartner Solutions

The decision about legacy applications relies upon a thorough cost-benefit analysis. Frequently, legacy applications are the result of years of modifications until they are familiar in terms of logic, business processes, and architecture. Tested by time, legacy systems often become a competitive advantage.

The opposite may also be true. Long before he became global vice president for solution architecture and strategy at South Africa–based Dimension Data, a global consulting firm and Microsoft Gold Certified Partner, Anthony Baron worked at a bank. There, the problem wasn't so much the application as the outdated hardware on which it ran. "No one had a clear idea how to maintain it," he remembers. But, because the bank relied on the application, they had to do so.

The bank ultimately decided to move off the platform after analyzing the benefits and risks. Yes, it was risky—and expensive—to convert the application to a new operating system. Yet, it would have been more of a liability if the hardware failed someday and no one could fix it.

Certainly, the cost of change is high, but so is the cost of doing nothing. As technologies age, the number of staff trained to support them diminishes, either because they retire or they become interested in newer technologies. "There are lots of countries where there is a significant shortage of technology skills," says Baron. "If you try and recruit technicians [for an older technology] in, say, Australia, you may only get one or two candidates." Even if you find people, they may be expensive.

One of the other factors to consider in your cost-benefit analysis is downtime, experts say. If you know that downtime costs you a certain amount per hour, and your team devotes at least an hour a week maintaining a legacy application, consider whether you can apply those costs toward the deployment of a new application instead.

Incremental change can ease fears

Sam Dharmasiri knows well the trepidation companies face when they consider moving away from legacy applications. As managing director of London-based ePartner Solutions, a Microsoft Gold Certified Partner, he says he sees companies keeping patchwork systems because they are afraid of the consequences of a new deployment that goes wrong.

Dharmasiri's suggestion: Deploy a noncritical application first. An ePartner customer in Ireland, for instance, is now deploying a customer relationship management application. After that, it will upgrade its finance application and then integrate it into the legacy application. "Rather than replace everything [at once], do it in a staged way, so you mitigate the impact and the risk," he says.

The benefits of modernization, SOA

Take time to evaluate the advantages your organization can derive if it completely modernizes an application. "In your cost-benefit analysis, you have to consider transaction costs," Dharmasiri says. "If you have a system that requires employees to look for information, such as inventory levels, in different places, that can take a lot of time. You could lose a sale."

Capabilities such as SOA favor modernization, because it promotes the reuse of code across different distribution channels. For instance, when you want to conduct a transaction with your bank, you can do this through an ATM machine, with a teller at a branch, from your home PC, or even from a wireless handheld.

The bank doesn't want to build four different applications to accomplish this, but its legacy application may not have the flexibility to allow it to reuse code so efficiently. Still, there is a middle ground. SOA enables organizations to add an integration layer on top of legacy code, so that it can exchange information with other applications. In this way, SOA becomes a viable alternative to maintain legacy applications while moving toward a more flexible infrastructure. (For more information about Microsoft SOA strategy, read .NET Frequently Asked Questions.) Similarly, virtualization allows companies to run older operating systems as a partition on a new server.

The fact is that your legacy application decision is not a binary decision. There's a spectrum of possibilities that ranges from maintenance to integration to modernization—and the choices are improving all the time.


Howard Baldwin

Silicon Valley-based freelancer Howard Baldwin writes regularly for the Microsoft Midsize Business Center. His work has also appeared on AllBusiness.com and in CIO.



Was this information useful?