Companies with legacy systems look to “digital transformation” through modernization to remain competitive and meet market demand. The challenge: lots of modernization strategies have emerged over the years, yet all of them have significant risks.
Good candidates for modernization tend to be large, established companies or government agencies. Often, they are plugged in to the lifeblood of the global economy, powering millions of daily transactions through systems designed and built on reliable-but-aging technology that is decades old.
As the pace of technological innovation speeds up, the need for agility grows for companies who maintain legacy systems and want to stay competitive. For many organizations, the competitive environment is so strong, a modernization project is no longer optional. A strategy is needed, now.
The pandemic has raised the stakes even higher, with remote work and remote buying more commonplace than ever. As the pace of technological innovation speeds up, the need for agility grows for companies who maintain legacy systems and want to stay competitive.
For many organizations, the competitive environment is so strong, a modernization project is no longer optional. A strategy is needed, now.
We look at the evolution and relevance of the big legacy modernization strategies below.
Off-the-Shelf
Decades ago, companies could buy off-the-shelf software similar to what they had internally built over the years, and adapt it. With a core code structure pre-built, they could get a head start towards a more modern system with updated capabilities. Unfortunately, modern enterprise systems are often too complex to adapt a mission-critical system to an off-the-shelf solution, so it’s become an option confined to companies with generic or less complex software systems.
Leave-and-Layer
The leave-and-layer approach involves adding modern capabilities to legacy systems with the use of interfaces or connectors, or even layering in robotic process automation (RPA) scripts. The legacy system remains intact, along with all of its inherent issues, and second system is tacked on top of it. This layer must be carefully constructed to avoid “brittleness” and add extra levels of maintenance.
The strategy buys time to implement a more robust modernization effort, rather than it being a modernization effort itself.
A spin-off variation of the Leave-and-Layer approach is the Strangler Application Pattern. Martin Fowler introduced the Strangler Application Pattern, an incremental approach to replacing old monolithic computer systems, way back in 2004, prompting CTOs and IT administrators to rethink how they might move to a brand new system from the old.
The basic idea is to slowly build a new application, piece by piece, in parallel with the old one. When the new application functionally replaces all of the old, the legacy app is effectively dropped (or “strangled”).
We wrote about the Strangler Application Pattern some time ago, and it’s just as relevant today as it was then.
Lift-and-Shift
A lift-and-shift effort duplicates a legacy application onto a modern platform. Since the core functionality remains the same as before, there’s rarely a value-add beyond the application being on a modern platform. And while the system is now on a modern platform, there is no guarantee the new environment, say for instance the cloud, will support the legacy language the app was written on.
For the effort, an organization may very well end up with increased technical debt, and no cost savings or agility expected from a modernization effort. An exception to this can be applications developed or generated in Java (I.e. from CA Plex). A Java application can easily be ported to different environments.
Projects take time while competitive advantages continue to evolve, leaving companies trying lift-and-shift with increased risk of falling behind.
Rip-and-Replace / Big Bang / Wholesale Application Rewrite
The cleanest break from a legacy application can be done with a wholesale application rewrite into modern technologies, also referred to as “Rip-and-Replace” or “Big Bang”. The obvious benefit of this strategy is the ability to leverage modern technologies to their fullest and match them to the company business model and/or operations.
The up-front challenge is documenting a decades-old system that may not have complete documentation, making phase I a potentially long and involved project. And when the project is done, you’re faced with introducing a whole new way of doing business to an organization that needs to adapt.
This can be considered a gun-slinger approach, a high-risk option with many failures making big headlines. If this approach is taken, it absolutely can be a success if planned with great care. Static code analysis tools can help illuminate how the legacy code is structured, so that critical business rules are not overlooked when designing the new system.
Code Refactoring
A newer strategy that has come into prominence is automated or semi-automated code refactoring. With this strategy, the code is restructured in places needed to conform the application to modern platforms, while maintaining the same functionality. The entire application might be a target for refactoring, but the important goal is to reduce technical debt, slim costs, and improve performance. For legacy systems that provide high-value and/or critical support to the company’s operations, a code refactor can keep important business logic in place while achieving cost benefits, scalability and multiple layers of efficiencies.
With better documentation and maintainability, improved performance, and better elegance and simplicity, an application can evolve into a much better candidate for full digital transformation. As the code refactoring strategy matures, we’re finding more successes to draw from and improved best practices to build on.
Conclusion
When the pandemic hit, workers worked from home needing remote access to enterprise systems. Consumers stayed in their homes and ordered online. The initial onslaught of unemployment claims brought state employment systems to the brink, driving state authorities to beg programmers of 60-year old COBOL to volunteer their time, or even leave retirement to help keep the systems afloat.
The COVID pandemic ushered in these new, unexpected variables into the modernization calculus, and increased the stakes considerably. For many, modernization is now critical with the new normal, and the need to pick the right strategy amongst the many options available is paramount.
At CM First, we’ve supported organizations with each one of these strategies across a variety of project implementations. Our deep experience can boost your legacy modernization ROI in profound ways. Get in touch and we’d be happy to tell you how.