Modern enterprises cannot efficiently operate without IT systems and applications, which are present in virtually every department, and their number, depending on the size of the company, can range from a dozen or so to several hundred. According to the data, published by McAfee, a company employing over 50,000 employees use an average of 788 dedicated systems and applications.
At the same time, technology develops so fast that companies often do not have time to learn and use the full capabilities of the software before it becomes outdated. This is inevitable, and the time for modifications and modernization of systems used by enterprises will come sooner or later.
In this article, in the context of software modernization services, we will look closer at legacy systems – how to identify them, what are the costs of maintaining such software, and measurable benefits that you can achieve with modernization.
What exactly are legacy systems?
Legacy systems are used in the company for a long time, slowly becoming outdated and functioning inefficiently. Often, in addition to the lack of systematic updates, the problem of legacy systems is functional detachment from the changing needs of a modern company.
At the same time, giving up these systems is not easy, because as Gartner emphasized in its definition of the legacy system or application, they may be based on outdated technologies, but is critical to day-to-day operations.
A common mistake is to think about the problem of legacy systems as something caused only by the archaic solutions, but the use of one or another technology does not necessarily mean that the software in the future will be a source of trouble.
Most often, the source of problems with legacy systems in a company lies in the fact, that fulfilled their tasks well, did not required much attention and could not be modified or updated for some time.
Since they worked stable and did not required attention, often without a conscious decision their were in a way ignored from the point of the proper maintenance and plan for development.
What characterize legacy systems?
The common problems with legacy systems or applications, regardless of their age, are, among others, less and less effectiveness, increasing failure rate, difficulty in maintenance, repair or developing new functions.
The causes of these problems, characteristic for legacy systems, may include:
- internal complexity of the system,
- lack of system documentation,
- lack of skills to work with the system in the internal IT team,
- the use of technologies that are outdated,
- hosting the system on the manufacturer’s platform, when it is closing the business,
- use of little-known programming languages,
- using old versions of components, often having security gaps.
Although the modernization of the legacy system requires investments, it is more profitable in the long run than using older, often unreliable technology.
Why is it worth modernizing the software in the company?
Every system or application, without the adequate maintenance and plan for further development, can become over time what we define as “legacy”. Most often the cause of growing problems lies not in the time that has passed since the implementation of the system, but the lack of care.
In some cases, enterprises successfully use older systems, but this requires a very consistent approach to the development and maintenance of software. If your company lacked such plan, you most likely face or soon you will face a dilemma of how to deal with frequent problems caused by your software.
Changing the system is always possible, but most often it is the most expensive and the least preferred option. Instead, what can you gain with investing in the modernization of your legacy systems?
What are benefits of legacy software modernization?
Most often, in terms of modernizaton benefits, potential savings are mentioned, but these are not the only gains for the company.
Other effects of adapting it to current standards include:
1. Safety improvement – older, outdated systems are not properly protected against attempts to steal sensitive data from the company.
2. Higher compatibility – modernization of older systems increases their interoperability with new technologies and platforms. In addition, it enables enterprises to easily integrate all applications used in their opeations, thanks to which the effectiveness of the company’s functioning increases significantly.
3. Increased efficiency – software modernization improves the effectiveness of processes that they are supporting and general business performance. Systems in line with current standards can then be easily maintained and updated, which further limits the risk of critical failures.
4. Improving user satisfaction – regardless of whether the system is used by employees or customers, it is worth ensuring that it will be easy to use. Software modernization, including improvement of the user interface will certainly translate into an increase in user satisfaction.
5. Speeding up training of new employees – in the case of the software that the company has been using for some time, the amount of knowledge gained by the team, and available to new employees is significant. It is necessary to systematize it, but the lack of need to learn a new system from scratch throughout the whole team is of great importance for many companies.
We know from experience that just showing the benefits that the modernization of software in a company can bring is often not enough justify the need for investment.
Because of that, it is also necessary to mention not only possible, future profits, but also the most real, current costs, which are caused by the use of outdated, inefficient systems by enterprises.
What are the costs of using legacy systems in the company?
Often, current costs of using legacy systems are more important in the decision process than the potential profits.
Among the costs, both direct and indirect, related to the use of legacy systems in the company, we can distinguish 7 categories of expenses:
1. Systems maintenance
Just ensuring the functioning of the legacy system in the current state, with the current set of functions can be a significant expense. This category of costs includes the maintaining the infrastructure necessary for the system’s operation, IT staff salaries, and possible additional costs of agency or freelancers, if the internal team does not have adequate skills.
The costs of maintaining older systems are growing systematically and everything indicates that the problem will only deepen.
According to the results of the study “Application Modernization Should Be Business-Centricric, Continuous and Multiplatform”, carried out by Gartner in 2019, nearly 90% of the applications used at the time will be used in 2025, however, due to savings and lack of modernization they will be less efficient, and over 40% of IT departments budget in companies will be used for their maintenance.
2. Systems security.
Expenses related to the security of systems include both proactive activities (including proper training of your staff and cybersecurity services) and actions taken after incidents (such as data recovery).
The greater the number of employees and customers using the system indirectly or directly, and the amount of data processed in it, the larger will be cost of ensuring the security of software that does not meet modern standards.
The scale of problems that enterprises may face, when they will fail to adequatelly secure their systems is acuratelly shown in the results of the annual study “Cost of a Data Breach Report“, published in 2022 by IBM Security.
The authors of the report compared data obtained from 550 enterprises and organizations operating, among others, in sectors such as banking, insurance, transport, communication, health service, education and public administration.
Based on the collected information on incidents related to the security of IT systems, it was possible to determine, among others, that:
- cost of a data breach averaged USD 4.35 million in 2022. This figure represents a 2.6% increase from 2021, and 12.7% from USD 3.86 million in the 2020 report, [do grafiki: USD 4.35 million in 2022; USD 4.24 million in 2021; USD 3.86 million in 2020]
- 83% of organizations have had more than one breach,
- just 17% companies said this was their first data breach
- 60% of organizations studied stated that they increased the price of their services or products because of the data breach,
- 28% of companies experienced a direct destructive or ransomware attack, while 17% experienced a breach because of a business partner being compromised.
Of course, depending on the size of the enterprise and the value of information that is processed by legacy systems, the scale of potential losses that may occur as a result of an attack or data leakage will be different.
However, no company that is aware of the risk which carries using unsecure systems should postpone the modernization of critical software.
3. Software update and development costs.
In the case of any software, especially so important for the smooth operation of the company, as is most often the case with legacy systems, there comes a moment when it is necessary to add a new function or update it, so that it can continue to fulfill its role.
Adding such changes in the case of older systems is usually more expensive than in the case of new solutions. Longer time to develop and implement changes translates into the cost of staff work, as well as a decrease in their satisfaction with the work performed over time.
According to Stripe’s research on developer productivity and job satisfaction, 78% of developers surveyed cited “spending too much time working with legacy systems” as the main reason for their dissatisfaction and morale drop.
For many of them, having to deal with older, technically unsuitable software on a daily basis is unproductive, frustrating and blocks their professional development.
Therefore, the development of necessary updates and attempts to partially adapt legacy systems to current requirements translate not only into higher costs of programmers’ work, but may also be the cause of increased turnover in your IT department.
4. System downtime costs.
The older and less stable the application, the more often there are problems with its functioning and interruptions in access to services that are provided with its use. Longer downtime might be also the case when your team does not have the necessary skills to quickly implement possible updates or new features, which translates into prolonged unaccesibility of the system for users.
This category of costs generated by the use of legacy systems in the company includes expenses related to system monitoring, downtime notifications and programmers’ working time necessary to restore the software’s efficiency.
However, these are not the only consequences of downtime – less frequently mentioned, but no less important, are lost customer service opportunities or an increased number of requests to the customer service department when the system does not work.
According to data published by the International Data Corporation (IDC) in the “Worldwide State of Data Protection & DR Survey“, system downtime has had measurable, negative consequences for many enterprises, affecting aspects of the business such as productivity, revenue, company reputation and data integrity.
The surveyed enterprises declared that downtimes in their operations resulted in:
- loss of productivity in 50% of cases,
- in 30% of cases with direct loss of revenue,
- around 40% reported damage to brand reputation,
- in 43% of cases data loss,
- in nearly 50% of situations, the staff must work overtime, which means higher work costs.
5. Customer service.
In many cases, legacy systems are not only used internally by your team, but can also be accessed by company’s customers.
Increased customer service costs are easy to determine – a poorly functioning system results in poor user experience, which translates into more calls to the customer service department.
In addition, the company bears the costs of programmers’ work resulting from the repair of errors detected and reported by users.
It is worth remembering that while it is easy to calculate the costs of handling a larger number of complaints or the working time of specialists, it is difficult to estimate how the negative experiences that customers will have from interacting with the software will impact the company’s reputation.
6. Cost of lost revenue.
This category of costs is difficult to estimate precisely, but you should keep it in mind when analyzing the profitability of software modernization in your company.
In the case of systems with which customers have direct contact, it is worth analyzing what the customer resignation rate looks like in your system, what is the average length of relationship with them and, what is more difficult to determine, how many users resign from your services due to problems with using outdated systems.
In turn, when we talk about systems for internal use, the measure can be the number of hours that employees lose due to the use of inefficient software. Often the processes implemented in the company require the use of information from several systems, and legacy software does not allow for easy integration and data exchange.
As a result, employees develop their own workarounds in order to achieve the assumed goals. The result is usually an extended process execution time with a simultaneous increase in the risk of human error, as many tasks are performed manually.
7. Opportunity cost.
This is definitely the category of costs that are the most difficult to calculate, but they undoubtedly have a significant impact on the company’s financial results.
The importance of the software used by the company for customers and their choices in terms of purchased products and services can be demonstrated by the results of a survey conducted by Microsoft among 1,405 consumers.
As many as 91% of respondents said that they would stop using the company’s services due to its use of outdated technology.
In the case of systems designed for internal use, it is worth analyzing how much time wasted interacting with ineffective software your employees could spend on other tasks, potentially resulting in an increase in revenue.
You can also consider how much the IT department’s budget would decrease or how much more effectively it could be used if it did not have to maintain this application.
If the results of the analysis of the potential profits that your company can achieve thanks to software modernization will convince you to start such a project, it is worth knowing what steps are necessary to make it successful.
How to plan and start software modernization in your company?
First of all, software modernization should be treated by you as a process, not a one-time initiative.
The problems that made you think about improving one system will reappear cyclically, also in the case of other systems and applications used in your enterprise.
The legacy software modernization process for your company should include the following steps:
1. Comprehensive analysis of the systems used in the company and assigning them to one of 3 groups – legacy systems, intermediate systems and modern software. Each group requires different actions:
a. legacy systems – they require modernization as soon as possible, regardless of their age,
b. intermediate systems – these are tools that should be modernized, but it is not a priority,
c. modern systems – they do not need to be modernized at the moment, but they should be monitored and covered by the software development and maintenance plan.
2. Assessment of each system requiring changes to determine the best strategy of modernization, taking into account both the business goals aspect and the perspective of the IT department.
3. Selection of the most optimal methods of modernization of individual systems.
4. Development of a roadmap for the modernization of all systems, including the key steps necessary to achieve the assumed results.
5. Scheduling and periodically re-analyzing the validity of systems to react early enough when software that does not require prior modification ceases to meet current standards.
Our goal at SOFTIQ, in each project related to legacy systems, is to create a modernization strategy that will allow you to achieve the assumed goals at minimum costs, while avoiding disruptions in the daily functioning of the company.
Thanks to our experience in numerous modernization projects, we also know what are the main reasons why initiatives of this type may fail:
- incorrect identification of the source of the problem – before starting the legacy system modernization process, it is extremely important to accurately identify the source of the problems. It might be sometimes the case, that it is not just aging and less efficient software, but the very business process in which it is used. In such a situation, repairing the system without optimizing the faulty process will not bring the expected results,
- failing to adapt the software to the current needs of the company – modernization of the system always means a big change in your company, but the more the new solution fits the way in which key business processes are currently executed, the greater the chance of success of the entire project. Modernization that forces employees to make significant, unjustified changes in the standards of operation adopted so far, or imposes on them the adoption of a new process, will meet with some resistance on their part. Although in retrospect, this could be good for the company, it is better to use a modernization strategy that matches the current needs of the company and takes into account the ability to scale changes over time.
- trying to modernize everything at the same time – many companies see the need for software modernization, but they treat it as a way that will quickly solve all their problems, created by all outdated systems, at once. However, you should remember that a significant modernization or replacement of software means disruption to the staff and potential inconvenience to customers, which may have a negative impact on the company’s financial results. For this reason, changes in individual systems should be implemented gradually, per the prepared plan and in a way that will minimally affect the company’s daily functioning.
How to choose the right legacy systems modernization strategy for your company?
Once the decision to start the software modernization process in your company is made, the problems and their causes can be defined, it will be crucial to choose the best modernization strategy for each of the systems involved.
Thanks to a detailed analysis, you should assess which method will allow you to achieve your goals while maintaining the optimal level of costs.
Currently, there are 7 main approaches to software modernization in use, differing in terms of complexity and the impact each of them has on the final functionality, security and system architecture:
1. Encapsulation.
This is the minimum approach, when we are isolating specific data or functions of the legacy system and making them available to users in another tool, e.g. through an API interface. Daily work then takes place without logging into outdated software, using a modern interface, which affects the comfort of users.
2. Rehosting.
If your main problem with legacy software is that you have to deal with high cost of maintaining your own server infrastructure and ensuring data security, and the system itself does not require significant modernization, software re-hosting may be the solution.
It is a transfer of the system to another server, whether it will be a physical, virtual or cloud infrastructure. This approach allows you to continue using the system’s functionality and access to all data, while increasing efficiency and improving security.
3. Replatforming.
This approach means migrating the system from the old environment to a modern platform with minimal changes to the software source code. In general, the system code is modified so that it can be easily integrated into a new environment, often cloud-based.
This results in increasing the stability and reliability of the software and improving the comfort of its use, but the structure of the code, and thus the functions of the system, largely remain unchanged.
4. Refactoring.
In the case of this strategy, software modernization is done by rebuilding and optimizing the source code, but without interfering with the external behavior of the system.
A characteristic feature of code refactoring of legacy systems is making modifications in small steps, by introducing small changes that are easy to control and test, which can then be very quickly integrated with the original code.
5. Rearchitecting.
This strategy focuses on optimizing the system architecture with code rewrites to increase performance and facilitate the implementation of new features.
Most often, software modernization in this approach consists in breaking the previously functioning, complex monolith into microservices. Microservices-based solutions offer greater flexibility and less risk because developers can implement new features, add updates, or make changes without affecting the entire system.
6. Rebuilding.
If you have decided to continue using the system and other modernization strategies are not optimal for your company, you can also decide to completely rebuild the software.
This strategy involves a gradual redesign or rewrite of the code from scratch, starting with the most critical functions of the software. Taking into account the resources needed to build many elements of the system practically from scratch, this is the most expensive and time-consuming way of modernization.
7. Replacing.
If none of your company’s legacy system modernization strategies are viable, the final solution may be replace it with a modern and efficient system.
The role of the software house as a partner supporting software modernization in your company.
Choosing the right approach to modernizing the legacy system is crucial, as it will directly translate into both the cost of the entire project and the time needed to introduce changes.
In this context, the role that the software house which you choose will have in the software modernization process in your company cannot be overestimated.
An ideal partner, such as SOFTIQ, should not only be a contractor responsible for implementing changes, but above all an experienced consultant.
You should remember that the legacy system modernization process includes many stages and begins with an analysis of the current state of the existing software. The software house then determines which parts of the legacy system cause problems or may cause problems in the future, and which parts do not require any improvements.
Based on these analyses, it is possible to choose the most optimal approach to software modernization for your company and determine the costs of the entire project.
If you are wondering which of the legacy systems modernization strategies will work best for your company, we encourage you to contact one of our consultants who will help you find out.
Feel free to read our other articles
and download valuable materials!
Best practices and unique Case Studies of SOFTIQ projects. Download now!
Learn the advantages and disadvantages of staff augmentation and discover how much you can save by outsourcing specialists.
Check out the advantages of dedicated software and learn what benefits it can bring to your company.
This post is also available in: Polski (Polish)