Legacy systems complicate digital transformation efforts but replacing them isn’t always a choice. Fortunately, with a little effort they can be folded into a more modern digital architecture
One thing that holds companies back from modernizing their digital strategy is the amount they have invested in legacy systems. There’s a misperception that digitization has to include scrapping existing technology and starting over. The sheer scale of such an endeavour keeps companies plugging along with outdated systems.
The thing is, companies don’t have to raze their entire digital infrastructure to take advantage of modern technology. There are ways to adapt legacy systems to meet the demands of today’s business world without starting from scratch.
The drawbacks of legacy systems
Unmodified legacy systems carry some baggage. For one thing, they require a significant amount of upkeep. Hardware maintenance only gets more expensive as equipment ages, especially in comparison to cloud storage. Vendor support may end when it falls out of common usage.
Even when legacy software is still supported, it may be unmanageably complex. Legacy systems tend to be massive monoliths with large code bases and poor documentation. Besides the added maintenance burden, complexity discourages developers from experimenting with new technology because even small changes could cascade into larger problems. It’s also harder to find qualified technicians to work with outdated technology.
All these issues contribute to the main problem with legacy systems: they’re expensive. The cost drains resources from other business projects—but it doesn’t have to. There are ways to modify legacy systems into something more compatible with modern technology.
When adding—not scrapping—is the answer
Despite the risks, there are a lot of sensible reasons that companies resist scrapping their legacy systems in favour of an all-new stack. First and foremost, those systems represent serious investment. More than money went into them: There’s also considerable operational inertia involved. Companies spend a lot of time and effort training staff and shaping policies to work with their legacy systems.
Being old doesn’t mean technology doesn’t add value, either. When a legacy system still meets the current requirements, it’s hard to justify spending resources to stay up to date.
The initial cost of new technology poses another barrier to the “clean slate” method. A lack of working capital can kill a business’s upward momentum. Some companies do see a need for the agility of modern systems but replacing everything at once would put them in a precarious financial position.
Sometimes time, not money, holds companies back. In fields with extremely high operational tempos, there’s no time for a system overhaul. Many legacy systems serve critical functions. Switching to a new system—even if it eventually leads to greater efficiency—causes a loss of productivity and revenue. Companies might not see ROI on their investment fast enough to compensate for the disruption.
Best practices for integration
Rather than replacing everything, reach for the middle ground. Leave legacy systems as the foundation and overlay the next generation platform on top of them. Reduce working complexity by building modern tooling to control both legacy software and newer components. This creates a hybrid system that allows companies to use cutting-edge tools while retaining the functional parts of their legacy system.
That middle ground isn’t easy to find. For best results, start with a complete audit of the company’s technological infrastructure. A lot of companies don’t know every piece of technology they use on an institutional level. Before changing anything, make a point of cataloguing every component in the stack.
This should go beyond simple identification. Include an assessment of each component’s contribution to the stack, including factors like:
- Maturity: Which components are still being supported? Do they interface easily with more modern tools or has technology moved well past them?
- Value added: Is the component essential to the business? Is it a peripheral system that could be pared without affecting the core business, or are other components dependent on it?
- Cost of maintenance: How much is being spent on maintenance? Projecting that cost over the expected length of time until ROI of replacing the component, is it more expensive than the potential loss from disruption?
Next, identify and establish optimal points of integration for legacy systems. Implement new functionality outside the code, adding the legacy system to the process at the last possible point to allow new systems to be used for the heavy lifting. Consider wrapping legacy applications into web services to expose them to the new processes.
Efficiency is a primary goal of creating a hybrid system, so this is a good time to implement a business rule management system (BRMS). A BRMS creates a central oversight point for all decision logic. It puts control in the hands of actual users rather than the IT department, making the overall system more responsive to operational demands.
Finally, prioritize small steps over sweeping change. Remember that choosing integration rather than replacement is often done to minimize disruption. Plan to modernize in stages rather than all at once. Be careful to drive towards ultimate functionality rather than patching small issues with something that won’t integrate well or scale with the rest of the stack.
Useful tools for modernization
There are many approaches to legacy system modernization, but a few tools have found their way into common usage.
Service layers can serve as middleware between a legacy system and a new application. It works by either translating or transforming information before it’s sent to a new system or received by the existing system. Service layers provide the option to extend single functions from the legacy system to reduce strain on or provide more current features. It is not uncommon for service layers to be added to modernize existing systems.
Data access layers (DALs)
A DAL abstracts the database, offering simplified access to data stored there and allowing developers to switch between data stores. It also separates the logical data model from the business layer. The logical data model can then be modified without affecting the business layer. This may be very common even at modern systems when the need to extend arises. DAL can mitigate the requirement to deploy a dedicated business intelligence, data intelligence, or artificial solution by replicating or implementing a data solution that allows for data to be accessed in a way that frees the existing system’s resources.
Application program interfaces (APIs)
APIs can expose functions of the legacy system to outside integration that would otherwise be highly complex (or even impossible). It is today one of the most common approaches to extend and modernize legacy systems. APIs come in different shapes and sizes and tend to be an efficient way to deliver performance and flexibility.
It should be noted that the viability of integration is extremely situationally dependent. Building onto legacy systems isn’t always an option. Modern development philosophy tends towards highly flexible modular development, but older systems tend to be monoliths. Some legacy systems are too complex or rigid to integrate with new technology.
Outdated and unmaintained code can react unpredictably when introduced to new features or updates. Any components that are no longer supported should be phased out to minimize the risk of resulting security vulnerabilities. For companies that deal with consumer data or other sensitive information, the risk of keeping legacy components could be too severe to be a feasible option.
While stacks built from scratch may provide the best possible performance, a well-designed hybrid system is still a vast improvement in most cases. It solves many of the problems presented by legacy systems. Plus, it gives companies an edge over their peers who are too daunted by the prospect of a complete overhaul to address their legacy issues at all.
Remember: Perfection is the enemy of the good. Don’t struggle with a legacy system that can’t support modern operations just because the optimal solution isn’t an option.