Updated: Dec 22, 2021
Following forecasts, the digital transformation market will grow from $ 469 bln in 2020 to over $ 1000 bln by 2025, considering the damage caused by the pandemic. But what is the first active step towards a new digital philosophy? Let's skip the formation of strategies and mental staff training and get straight to the point. It all starts with upgrading existing software. The result becomes powerful support for the new products and approaches introduction. Therefore, today we offer to talk about how to perform legacy systems transformation and what it means for business. Most fascinating ahead.
You should define what's the digital transformation for your company. Is it digitizing - becoming more operationally excellent, or its about digital - delivering rapid business innovation? Is it neither or both?
Jeanne Ross, Research Scientist
at MIT Center for Information Systems Research
When it comes to legacy system definition, many talks about old software purchased 5+ years ago. Partly, it is a delusion. The legacy systems can be completely different (new or old). Their main feature is that they hinder business development in some way. For example, a legacy system can be called a product developed on an outdated stack that has become difficult to maintain. Deloitte participated in the renewal of a large US Department of Motor Vehicles system, handled vehicle registrations and titles. It was created 20 years ago based on ADABAS/NATURAL and COBOL. The solution didn't provide flexibility and easy analytical operations and turned out to be expensive in maintenance. It was a legacy.
Moreover, a legacy system is also a poorly integrated product, regardless of when it developed: yesterday or ten years ago. It is a fairly common situation when an enterprise chooses a step-by-step transformation. It happens that management invests in a solution that subsequently does not integrate well with existing software. It slows down the service provision and leads to colossal profit losses.
One more legacy system peculiarity is its low-security level. Here the example can be the National Background Investigations Bureau (NBIB) HR management system that became the subject of a hacker attack in 2015. Chinese hackers gained access to the sensitive personal data of 22 mln employees. Among other things, the migration of over 4 million devices to Windows 10 was vital for cybersecurity.
But don't think that only the public sector suffers from outdated software. The private one also needs frequent updates. Among examples of legacy systems in retail is an order management one with a low scalability level. It hindered a 27 mln audience retailer to proceed with over ten thousand orders simultaneously.
Thus, every enterprise has at least one outdated system that acts as a bottleneck. Here are some signs of a classic legacy system, so you can easily recognize it:
The app lends only to manual settings.
The product processes a limited amount of one-type data and does not guarantee a high level of security.
The solution provides a low throughput.
Legacy software does not integrate with other systems.
The maintenance of such a product is quite expensive and time-consuming.
Why Companies Need To Modernize Legacy Systems
Following Statista, companies have two main reasons for tech initiatives: digital transformation (54% of respondents) and cybersecurity (49% of respondents). Management often pursues two goals at the same time. But what motivates the business side to generate ideas for changing legacy systems? Our experts try to answer.
The principal decision that management has to make concerns questions: "Does our business need migration from a legacy system? What commercial opportunities does this change open for us? Will this change bring more commercial success than the current system does?" Such a transformation is necessary if the product does not perform its functions efficiently or reduces the entire mechanism productivity in any other way.
Taras Chornyi, CTO at JEVERA
The first reason why a company should change the legacy system is an outdated stack. The product seems to work, but not as well as it should. It is arduous to find engineers who can maintain such a solution. You see, developers are always keeping up with the times and in a hurry to master new tools to remain in demand. Moreover, it may well be that the existing system cannot solve new challenges. For example, it cannot quickly deploy new services or support real-time mode. In other words, legacy systems may lack technical functionality. If management notices such issues, then it makes sense to consider migration.
Anatoliy Medvedchuk, Software Architect at JEVERA
Legacy System Modernization: Approaches And Stages
Legacy enterprise systems modernization undoubtedly brings significant benefits to a company that reasonably performs it. Meanwhile, software updating is not an easy task. Among the principal obstacles on the way to a modern product are:
the conflict of a new system and data formats,
time-consuming and expensive process
an insufficient understanding level of what the switching is for and how to perform it.
We have already talked about the necessity of legacy application modernization. The next step is to get acquainted with the approaches engineers use to migrate. So, let's consider three main methods, helping businesses get a robust, updated product.
It applies when it is necessary to change a product, significantly expanding its capabilities. Here developers improve software architecture using the existing background.
It involves a complete system change and a new development from scratch with obligatory adherence to the specifications.
It allows engineers to determine core reasons for legacy system disadvantages and eliminate them by changing old components to new, more efficient ones.
Programmers choose one of them following the legacy app architecture, its connection with other components, and business goals regarding how it should work in the future.
In this case, it is not so difficult to implement business logic. It is arduous to ensure proper traffic migration. Even though being well tested in QA environment a new system may not withstand the usual data flow for legacy system and fail. You can migrate traffic in different ways. It is possible to select a loyal group of users and provide them with a new version of the system. It enables a company to engage users in development. They advise on how to improve the solution.
One more great option is to keep the two systems (both legacy and new) active. We can always switch to the legacy version if there are any shortcomings in the new one. And so on until the modern system starts to work flawlessly.
Taras Chornyi, CTO at JEVERA
In legacy system migration, the correct sequence of actions from the client and vendor sides equally matter. It determines how quickly and efficiently specialists update a product. So, here the development cycle can be divided into the following stages:
It is a primary interaction between parties. Here it is principal to discover why the client needs migration from the legacy system and whether there are easier ways to achieve business goals.
It involves a deep study of the current client condition and familiarization with its requirements. Here, a vendor estimates a project, and a customer should define a development budget for a further financial period. This stage also covers project evaluation and the creation of documentation. It also consists of a new architecture development or improvement. The result provides a client with an idea of how its system will perform at the end. This period usually lasts from 3 to 20 months, depending on the development complexity.
IT-team performs a scope of tasks for general idea realization. First of all, they create a working prototype, then - test it for the first time. Then the engineers boost the existing source material to achieve a flawless result. They also conduct a data migration within this step.
Here engineers set up the IT infrastructure and implement a new system. Or perform a gradual transition from an old product to a new one.
#5 Operation and support
It provides for active product usage and its effectiveness monitoring for a prompt technical response to any issues.