Many businesses still run on outdated and legacy software applications. For some businesses, these legacy systems are still robust and are critical to run their daily operations. Many of these systems are complex and are built over a time with substantial investment from business & IT departments. While all stakeholders agree that modernization of legacy systems is needed for various reasons, unfortunately there is no “one-click” solution for it. Many have tried big bang approaches to modernize and have failed due to inadequate planning and lack of a proper strategy. This blog provides a brief overview of legacy modernization challenges and provides a framework to decision makers who might be still straddling the fence.
Reasons to Modernize legacy systems
While the pain points could vary from business to business, the following are the most frequently cited reasons for legacy modernization:
- Accumulated technical debt
- Limited integration capabilities
- Data and Security Concerns
- Lack of agility to keep pace with changing business requirements
- Difficult to find skilled engineers to maintain the legacy system
- Outdated Ux with limited scope to extend the solution to mobile
- Inability to use emerging technologies and deliver new experiences to customers
- Cost of maintaining legacy systems (support cost, no upgrade or patches from the vendor etc.)
Challenges with legacy modernization
Most modernization projects are like complex surgeries performed by skilled surgeons. The surgeon and the patient have to carefully evaluate the risks and benefits of the procedure before getting it done. You cannot replace a fully functional organ just because it has some issues and expect the replacement to work just fine. Enterprises cannot simply replace an existing system that is operational and expect a new system to work like a charm.
One of the challenges that business leaders face today is that it is difficult to predict what will delight the customers and end-users. Given the fast pace of change, uncertainty, and disruption it is often a herculean challenge to clearly define business requirements and business models to the engineering teams and ask them to build a future-proof system. Disruptive business models (Uber, amazon), open source technologies becoming mainstream (Apache, Mongo db), cloud computing, and adoption of IOT, AL, ML by competitors is forcing leaders to have a sensible modernization strategy. When business leaders look at smaller companies achieving success by delivering products with customer delight, they see and feel the need to embrace modernization. Some of
the legacy modernization challenges faced by leaders can be summarized as below:
- Uncertainty of the end result, i.e. how will the modernized system will look like and how will it perform
- Open ended timelines and cost of modernization
- Which tools and technologies to use to keep pace with competitors
- Should the legacy system be rebuilt, refactored, or replaced?
- Inability to predict which features will deliver user delight
- Identifying new revenue streams from existing systems/products. For example, xerox corporation, which built its own document management system, transforming a photocopy business into a software business
So, what is the way forward?
Whatever be the strategy, rebuild, refactor, or replace, most important goals is to achieve customer delight. In my view, achieving customer delight is a continuous process, and the modernization strategy (rebuild, refactor, replace) and the tools or platforms you choose (traditional development or low code platforms), should give you flexibility to :
- obtain metrics of product or system usage, which can be analyzed to develop insights into the user experience
- Iterate fast and improve customer experience
- Generate new revenue streams: Improving the legacy system to be closer to the current state is the need, but the by-product should be the ability to build solutions on top of existing data
The solutions that are developed and released should have the ability to capture user experience, analyse usage-data and work on continuously improving the customer experience. Enterprises will have competitive advantage only if they close this loop and make quick releases with better user experience.
Business leaders can use the table shown below to guide their modernization strategies:
|Not supported by current vendor||✓||✓|
|Accumulated technology debt||✓||✓||✓|
|Significant effort for regulatory compliance (GDPR, Security etc.)||✓||✓|
|Fragile, Spaghetti Code||✓||✓|
|Custom user experience||✓|
|Difficulty in embracing agile development||✓||✓|
|Limitations on spend||✓|
|Scarcity of technology talent to support legacy systems||✓||✓|
|Flexibility to achieve product strategy and objectives||✓|
Enterprise leaders are confronted by problems and risks with legacy systems, and yet many of them hestitate to take the initiative and move forward with modernization. Some consider rebuilding and fail due to the massive amount of work that needs to be put in place before making an impactful release. Replacing legacy systems is not the only way to innovate and de risk. It is worthwhile to retain the core of the existing system and build apps that will enable innovation, and deliver improved user experience.
Focusing on business outcomes in the modernization journey is the key to success. Investment decisions should be made based on the outcomes than the technology choice. Going back to the surgery example, you don’t want to be in a blackout or recovery mode for a long time after your surgery. Similarly, enterprises cannot afford a blackout time before releasing a modern solution. The transition can be done in a phased manner by exposing a API layer around the legacy system and building modern apps for the users. Retiring the legacy system module by module without impacting the overall solution is another that will give you an opportunity to evaluate business outcomes, ROI, and manage the spend wisely.
To conclude, today’s modern systems could be tomorrow’s legacy. While moving towards modernization it is essential to:
- Reduce technical/legacy debt
- Build resilient applications
- Invest in a solution that will help you scale your infrastructure for future needs
- Build the solution with modular architecture