How to navigate the issues of legacy system modernization? There are huge benefits to be had, but what strategies can be adopted to ensure that solutions are the most effective, both in terms of cost, increased efficiencies, and enhanced digital services?
We are all consumers and customers of something, and even IT professionals sometimes have to engage as users with the sort of systems that they are responsible for creating or maintaining. When that happens, the result is not always optimal. We expect and need our interface with organizations to be easy and seamless, but that is often not the case. Why? One of the most important factors preventing good customer experience is the continued reliance on legacy systems – usually core pieces of software that, for a variety of reasons, haven’t been replaced or upgraded despite the emergence of newer, better technologies.
While the temptation exists to ‘rip and replace’, that’s not always a good or easy option. In most cases, we have to retain legacy systems, and there has to be legacy system modernization or extensions, but the big question is, how to do that?
What is a legacy system?
First principles though – let’s define the term, ‘Legacy System’. Back in the Stone Age (which in IT terms was around the 1980s), Electronic Records Management was the perfect answer for businesses and organizations. There was one large central depository, including all customer records, billing, and a huge array of other back-office processes. The was the go-to source for every piece of business data and was smart, fast, and essential.
If problems surfaced, and the software didn’t do quite what it was supposed to, it could be patched or worked around. A typical ERM had add-on software constantly piled onto it as new apps and programs were introduced, each with a compelling business case on the road to digitalization. These couldn’t be stand-alone, because of their constant need to access the ERM, but every addition and fix along the way further compromised the overall system, slowing response, and bringing the possibility of catastrophic failure closer.
In today’s world, with customers and businesses needing seamless data exchange as part of digital process automation, these giant systems have become complex and inflexible for the dynamic needs of operational excellence.
Why modernize legacy systems?
1. Security and compliance risks in legacy systems
Security is an obvious area of concern. Hackers have had decades to discover vulnerabilities, and propagate information about how to penetrate them. Some systems are no longer even supported by the original vendor – which may have gone out of business, or been absorbed by another organization. As a result, legacy systems can be high risk, and patches to fix vulnerabilities may have to be created in-house, soaking up energy and valuable time for the IT department.
Compliance is also a headache. Requirements such as KYC are increasingly important to businesses, and usually mandatory in Banking, Finance and Insurance, along with data protection measures such as PSD2 and GDPR. That’s all so much harder to achieve across a legacy system because it was never designed for that degree of digital complexity and ‘Case management’.
2. Maintaining legacy systems
Maintenance and support for legacy systems are costly, most requiring specialized technical skills. Merely ‘winning’ means managing to keep the lights on. And remember, some systems are still running on archaic languages that might require an archaeologist rather than a programmer to understand! When interviewing young new staff, the question, ‘How well do you understand COBOL?’ is perhaps not the first an IT Manager wants to be asking, but it could be significant in keeping a legacy system up and running.
And for every new app bolted onto the system, there’s likely going to be complications and unforeseen knock-on effects. Everything has to talk to everything else, to enable contemporary needs such as mobile and the increasing use of AI, but how is that possible when there are different generations of software (and even hardware), all tied together across the same system? The Cloud is the way to go, but in the land where racks of in-house hard drives still rule, the way to the Cloud is hard to negotiate. Any change to one part of a legacy system is highly likely to result in unexpected conflicts in other parts of the system – so the firefighting teams are always on the move to deal with the next outbreak.
3. Improving operational efficiency
In many cases, departments adopt their own software solutions to suit their own particular needs. These solutions are very often not accessible to the organization at large, resulting in siloed operations. Removing siloes becomes even more challenging with legacy systems and connecting aging core systems to the new, specialized apps often presents major difficulties for IT.
4. The cost of maintaining legacy systems
Bundle all of these issues together, and cost is the final decisive downside to legacy systems because they will always require more attention and maintenance than newer systems. IT Managers are constantly having to keep up the performance, while at the same time delivering on great Digital Roadmaps. ‘Keeping up,’ means additional cost, none of which adds to the profitability of the business, with legacy systems draining resources and funds from the essential route forward. According to the U.S. Office of Management and Budget, in 2019 ‘Over 80% of all IT spending is on the Operations and Maintenance of aging legacy systems, which pose efficiency, cybersecurity, and mission risk issues, such as ever-rising costs to maintain them, and an inability to meet current or expected mission requirements.’
Strategies to fix the problems of legacy systems
So that’s the history and the problems, but what are the solutions? Well, there are many strategies, each with different levels of complexity, and some varied benefits. You have to choose the right approach to legacy system modernization.
Re-architecting and Re-factoring are other strategies to modernize legacy applications, which promise benefits. Improved capabilities can come from re-programing code to move it to new application architecture, but that’s time-consuming, costly… and how perfect and bug-free will the new code be anyway? The old phrase, ‘If it ain’t broke, don’t fix it,’ springs to mind here. Re-factoring works on the structure of the existing code to make it optimal for current needs. The system behaves ‘like new’, but sweeps aside some of the technical debt which has built up over time. Does it make anything better though? It’s still the same old same old, smoother and leaner, but without any significant value-added.
Passing the hot potato on to another server for Re-Hosting is another strategy that has its attractions. There are companies that will do this for you, migrating all your data, and providing greater functionality that is in keeping with the digitalization needs of a business – such as contemporary social, mobile, and analysis requirements. Now the problem of legacy system modernization is – apparently – solved, without too much disruption.
There remain two significant issues: the risk that your data is now out of your hands, and cost. Re-hosting doesn’t come cheap, and a little like the old definition of a Consultant who, ‘Borrows your watch to tell you the time’, many of the core functions which are now re-hosted were actually being perfectly well looked after in-house. It’s almost always the add-ons and ad-hoc patches which compromise legacy systems, not the database functions they were architected to do in the first place.
’Rip and replace’ is one way forward, and drastic though it is, sometimes this is a way which can’t be ignored, for example when one company acquires another and requires standardization of IT procedures. Similarly, if the original system vendor is no longer in business, or is no longer offering support for a particular system, it may be time to look at the beginning from the ground up. The end result may be a fit-for-purpose, contemporary Cloud-based system, but getting there will be a world of pain. It will also mean almost certain disruption to business during the period of ‘teething problems’. So attractive though it is in some ways, ‘Burning it down and starting again’ is an extreme. It may be great to begin again from year zero, but in doing so the vast resources of the legacy system which were performing perfectly well in themselves can be compromised. It’s not that legacy systems are inherently bad, but that they are massively overburdened.
There is a way forward to achieve digitalization goals, and produce cost efficiencies, is to de-couple apps from the system, by abstracting them from it. Data, data sources, and data security can all be abstracted if the right platform is utilized. This ’wrap and renew’ approach ’liberates’ apps to reach their potential and the core system isn’t continuously burdened by constant demands on it. The apps become ‘agnostic’ and don’t care where the data is coming from, as long as that data comes easily, and fast.
Easy to describe, hard to do. Or is it? With the advent of low-code solutions, the provision of visually Integrated Development Environments (IDEs) is now available for even citizen developers to make significant leaps forward in the efficiency and operation of systems. That means simple and understandable Graphic User Interfaces (GUIs) allowing drag and drop functionality, and – sometimes –hand-coding if needed. Most of the time however workflows can be produced using existing templates, requiring only minimal customization.
Back in 2016, research firm Forrester said low-code platforms can produce applications six to twenty times faster, and that low-code platforms accelerate digital transformation through rapid app development. In terms of software, Forrester also estimates a ten times uptick in speed of development. Utilizing low-code achieves results fast.
Typically, low-code solutions still require some specialist oversight from the IT department, and certainly do once a solution is ready to go live. However, in the development period, the resources and cost of specialist IT staff (or external consultants and programmers) are not tied up in developing an app. Instead, the people who know best how the app should perform to produce the best results at the maximum efficiency, get to design their perfect system.
With the new wrap and renew option, organizations of all types and sizes are cost-effectively providing better customer experiences by leveraging the latest UX technology connected to all their relevant systems. With this approach, customers benefit from automated processes from end-to-end.
You can learn more about legacy system modernization in practice by seeing the Oriana low-code platform in action.