16 September 2021
Legacy system is a term used for old systems that are out of date and therefore they need to be replaced, even though they are still operating. The question of what to do with the legacy systems is in fact relevant since there are plenty of really good reasons why they should be kept intact and why many companies decide not to do anything with them until they fail. If they work on a satisfactory level, the assumption is that any changes might be economically pointless. Especially if we consider additional costs, such as training the staff on how to navigate the new system or even time consumed to fully understand the legacy, which may be the care if the original creators have left the company.
The last issue however goes both ways – if the system is not fully understood by people who operate it at the moment, it adds problems with implementing new functionalities or simple maintenance. Not to mention the tremendous amount of problems if the system goes down. Especially if we put into consideration the factor, that programmers who initially worked on the system in question are slowly entering retirement age, which will inevitably lead to a lack of specialists on the market. One also needs to be aware that legacy systems have security issues, so the system can potentially be compromised. This being said, the company representatives need to see that the cost of modernization of legacy systems might not be as high as the cost of the system failing. Particularly if the system failure means the company cannot operate.
It is therefore safe to assume that if any of the following is too high (cost, risk or complexity of using the system) modernization of the legacy might be a choice to consider.
Susan Moore from Gartner suggests seven modernization options to think about.
They go as follows: encapsulation, rehosting, replatforming, refactoring, rearchitecting, rebuilding and finally replacing, with the last one being eliminating the former component and implementing a new one. While closing a component it’s also worth remembering that there is a possibility of shutting down an application but keeping the access to historical data. It will cut the costs significantly, if this particular part is used mostly as a data storage.
The idea is to carefully consider the costs-to-benefits ratio between different approaches and selecting the economically best one. If your aim is optimal performance the choice is worth discussing with a professional.
The whole operation looks rather resources-consuming. We have to take a system that has been designed even 20 years ago and transform it into something more flexible, modern and user-friendly. The idea sounds like an uphill task, but it doesn’t have to be. The specialist will be able to explain differences between moving the system to another platform and implementing changes within the code. The goal is to provide enough information to enable the owner to make a conscious choice about the shape of changes, their cost and the process itself. There is no such thing as “the best approach”, for the approach is defined by the needs of a specific company.
For that purpose ITSG introduced The Evolutionary Legacy System Architecture Framework (ELSAF) which can be defined as a phase-by-phase approach to get the most value of targeting specific areas of the codebase that need investigation and remediation.
With a modernized legacy your company will be able to adapt quicker to market changes, focus on growing your business instead of maintaining it or enhance the customer experience. The other purposes include meeting compliance, security and regulation standards as well as cutting IT and software development costs. In some cases we are talking about speeding up processes like implementing new functionalities from months to days and enabling innovation within your company. As a result of cooperation with ITSG, the system will be more reliable, efficient and modularized.