Understanding Legacy Systems

Learn about legacy systems, their common charecteristics, why businesses keep using them, involved costs and challenges, and modernizing strategies.

Articles June 01, 2024

A legacy system in computing is an old computer system still in use, even though newer technology is available. Despite their age, legacy systems are often deeply embedded in business processes. It cannot be easily replaced.

Legacy systems are built on outdated technologies and may no longer receive vendor support. Keeping them will only lead to problems in maintenance, security, and compliance. But replacing them is also risky and costly.

Businesses must consider the benefits of their legacy systems in the long run because technology keeps on evolving. They have to consider the total cost of ownership, risks, and integration with newer technologies. Otherwise, it will affect their reputation and competitiveness.

The following are examples of legacy systems still in use today:

  • SAP R/3: A very well-known ERP system launched in July 1992. If your organization is still in SAP R/3, this is a legacy ERP system. Be aware that the new one is SAP S/4HANA.

  • Mainframe-based Systems: Large organizations like banks and insurance companies still have critical systems in mainframe computers. These systems are commonly made in the COBOL programming language and DB2 database. These include major banks like CitiGroup and Bank of America. Also, major insurance firms like American International Group.

  • Sharepoint-based Systems: This is not the Sharepoint bundled in Microsoft 365 but the older, on-premises one. Many companies have customized Sharepoint for different business functions. These include custom CRM, collaboration, document management, and others. Although Microsoft has extended Sharepoint Server 2019 support until July 14, 2026 , there are no plans for the next version.

  • SABRE: This is a leading Global Distribution System (GDS) used by American Airlines and others that first appeared in the 1960s. It was planned to eliminate mainframes by 2023. As of June 2023 and up to the time of writing this article, it is unclear if the plan succeeded.

This article aims to provide a detailed understanding of legacy systems. It will explore what defines these systems, the challenges they pose, and the strategies for managing them.

Common Characteristics of Legacy Systems

Systems used by organizations today are legacy systems if any of the items below are present:

Obsolete Technology

Legacy systems use outdated technology. It uses obsolete hardware or software components that were made decades ago. These systems may use programming languages that are no longer widely supported or maintained. It is challenging to update a part of a system without breaking another. Programming languages like COBOL and Visual Basic 6 are among the examples.

Lack of Vendor Support

Legacy systems no longer have vendor support once a system reaches the end of its lifecycle. Software updates or patches are no longer available. Organizations using them are vulnerable to security breaches and performance issues. They are also incompatible with newer technologies. Notable examples of these are Windows XP and Windows 7.

Incompatibility with Modern Standards

Legacy systems rarely meet today’s industry standards, security protocols, or regulatory requirements. This is risky because non-compliance means legal liabilities, financial penalties, and reputational damage. They may also struggle to integrate with modern technologies. That is why it is a barrier to innovation. One example is Internet Explorer. Some organizations still use this browser because of legacy web apps. These web apps are not compatible with secure and modern browsers.

Proprietary Data Formats

Instead of using modern database technologies, legacy systems often use proprietary data formats. External tools may not be able to read them. So, it is difficult or sometimes impossible to integrate with modern technologies. Long-term use of these proprietary formats is risky when problems like data corruption occur.

Monolithic Architecture

Many legacy systems have a monolithic architecture. Their components are interlinked and dependent on each other. Updating or replacing parts of it affects the whole system. That is why changes are complex, time-consuming, and costly. In addition, monolithic systems are not flexible compared to modern, modular architectures.

Custom-built Components

Legacy systems often include custom-built components. These are designed for specific business needs at the time of their development. These custom elements can be difficult to understand, maintain, and update. More so if the original developers are no longer available. Custom-built components also complicate integration with new technologies and systems. They may need unique interfaces.

Reasons Why Businesses Keep Their Legacy Systems

It is hard to move away from legacy systems to modern technology. Besides, multimillion projects have failed. Here are several reasons why businesses hold on to their legacy systems:

1. Cost of Replacement

Buying new hardware and software is expensive. The cost of migrating to a modern system can be hundreds of thousands or even millions depending on the complexity.

2. Disruption Risk

Switching systems can disrupt business operations. Downtime is likely inevitable. Employees also need to learn how to use the new system. Getting used to it can take days or weeks before they can perform faster. They can even make mistakes that will cause more problems.

3. Compatibility Issues

New systems may be incompatible with old data formats or other existing systems. Legacy systems are often deeply integrated into a company’s operations.

4. Functionality

The old system might still do its job well. There is little incentive to change if it meets business needs and is still reliable. So, companies may follow the adage: “If it ain’t broke, don’t fix it.”

5. Regulatory and Compliance Requirements

Some industries have strict regulatory requirements. Their legacy systems may already be certified and compliant. New systems might need re-certification and will need extra costs.

6. Customizations

Over the years, legacy systems may have many customizations to meet changing business needs. Doing the same customizations in a new system can be complex and costly.

7. Data Migration Challenges

Migrating data from an old system to a new one can be a significant challenge, especially if the data is in a format that new systems cannot easily read.

8. Vendor Lock-In

Sometimes businesses are locked into a vendor because they own the hardware and software, and the cost of switching vendors is too high.

Costs Involved in Retaining Legacy Systems

Direct Costs

  • Hardware and Software: Buying new hardware, software, and licenses.
  • Consulting and Professional Services: Hiring an external team to manage the transition.
  • Training: Educating staff on how to use the new system.

Indirect Costs

  • Downtime: Includes unproductive time during the transition.
  • Operational Disruptions: Includes mistakes and delays as employees adapt to new systems.
  • Maintenance and Support: Initially higher support costs as the new system is fine-tuned and stabilized. There is an extra maintenance cost if the new system runs in parallel to the old one.

Opportunity Costs

  • Innovation Delay: Resources spent on transitioning could be used for other innovative projects.

Challenges Posed by Legacy Systems

Maintaining a legacy system presents several challenges, each with associated costs. Here’s a breakdown of the problems and estimated costs:

1. High Maintenance Costs

Legacy systems need specialized knowledge of old programming languages and technologies. It may also need older hardware parts. The total cost of ownership over time can be higher than moving to a new system.

For example, in 2019, the US Government Accountability Office identified 10 critical legacy systems that need $337 million annually to operate and maintain.

2. Integration Issues

It is difficult or sometimes impossible to integrate old data formats into new ones. The proprietary format increases the complexity and cost of integration projects. The actual cost may vary depending on the scope and technology involved.

3. Security Vulnerabilities

Older systems no longer have security patches, so they are prone to cyberattacks.

According to the 2023 Cost of Data Breach Report by IBM, the global average cost is USD 4.45 million, a 15% increase over 3 years. The primary cause of data breaches is an outdated system with old security measures.

4. Lack of Vendor Support

It is hard to get help when needed because legacy systems are unsupported by their vendors. The result is a nightmare for an organization’s development and support team. Aside from fixing bugs, more support tickets are coming in because of system lag, confusing user interface, and errors.

The actual cost may vary depending on the problems of the old technology, the number of support and development staff, and the number of users.

5. Decreased Productivity

Employees are not so productive when old systems are slow and inefficient. Actual productivity losses vary depending on different factors, like how many employees were affected, their roles in the organization, and more.

6. Compliance Risks

Outdated systems may not comply with current regulations and standards. It is legally and financially risky.

For example, businesses using legacy software or unpatched operating systems, knowingly or unknowingly are in breach of GDPR. Fines can reach up to €20 million excluding compensation for damages demanded by data subjects.

7. Skills Shortage

There are fewer experts in legacy technologies, so hiring skilled personnel is hard. Recruitment costs increase depending on the talent being searched.

For example, searching for COBOL programmers will take more time than hiring Java or Python developers.

8. Operational Downtime

Legacy systems can be prone to failures, resulting in downtime and lost business opportunities. The actual downtime costs depend on the impact on the business.

Strategies for Modernizing Legacy Systems

Moving away from legacy systems is difficult but not impossible. There are strategies and each has its benefits and challenges. The following are some of them:

1. Modernization vs. Replacement

Modernization

Modernization is the process of updating the existing system with new technologies.

Benefits:
  • Modernization can be cheaper compared to full replacement.
  • It can also be less disruptive.
Challenges:
  • It may still have the limitations of the old system.
  • It also needs careful planning and staff skilled in both old and new systems.

Replacement

Replacement is the process of replacing the old system by building, buying, or subscribing to a new system or service.

Benefits:
  • It includes the benefits of adopting modern technologies and practices.
  • It has the potential for a faster and more scalable system.
Challenges:
  • The initial cost is higher but the total cost of ownership can be lower over time.
  • Disruption is very possible during the transition.
Common Questions:
  • What is the cost of replacing a legacy system? It depends on various factors like system complexity and the technology involved.
  • What are the potential savings from upgrading systems? There are potential savings from reduced maintenance, improved efficiency, and better scalability.

2. Incremental Migration

Incremental migration is the process of gradually moving parts of the legacy system to a new platform.

Benefits:
  • Disruption is less.
  • Organizations can spread costs over time.
  • It is also easier to manage and test.

Challenges:
  • It needs a clear migration plan.
  • Temporary integration issues are also possible.
  • The old system remains in use until everything is migrated to the new system.

Common Questions:
  • How do you ensure business continuity during migration? By having a detailed and careful plan for each phase and testing thoroughly before implementation.
  • What is the impact on current operations? The negative impact can be lessened with proper planning and phased execution.

Steps in Migrating Proprietary Data Formats

Proprietary data formats are unique to a specific system. Safely migrating them involves several steps to ensure data integrity and compatibility, and avoiding data loss. Whether you will approach it incrementally or not, you will need a data integration tool.

The following are the steps:

Migrating Proprietary Data Formats

1. Assess the Current System

The first thing to do is to understand the structure and the specifics of the proprietary format. This requires knowing file types, headers, data encoding, and how data are organized. It also involves knowing the tools or APIs the vendor provided (if available) to extract the data for integration into other systems.

One option is to check the system’s technical documentation if there is a discussion about it. Look for tools and APIs if they are available. But if it is not available, check the documentation for the discussion of the format and how to read them.

Another option is to ask the vendor if they are willing to reveal the format. Otherwise, reverse engineering is the only option.

2. Extract the Binary Data and Save to a Known Format

Use the tool or the APIs from the vendor (if available) to extract binary data and save it to a known data format. If there are no tools or APIs but the format is known, use a programming language like Java, Python, or C# to read the binary data files and convert them to known formats like CSV or JSON files.

3. Transform the Data

It depends if the goal is to move the data to a relational database for the new system or to a data warehouse for analysis. A data integration platform is essential to do this. Use tools like Skyvia to read the CSV or JSON files or use the APIs if available. Then, transform them to meet the format of the target system.

4. Validate the Data

Validate the data to make sure there is no data loss or if duplicate records do not exist. Check for record counts and checksums, and compare the old and new data. You may need SQL scripts to do this and let your integration tool run it.

5. Load the Data into the New System

After validation, map the transformed data to the target system and load them. The tool used from Step #3 up to this point should do the mapping and loading. For example, Skyvia has Data Flow and Control Flow features to manage the pipeline from extracting to loading through a graphical user interface.

6. Test the New System

Once the loading finishes, test it against the new system. This will make sure that the same features and functionalities from the old to the new system are the same and function well. Also, check for performance if the new system can handle the same or more number of transactions.

Another option to establish trust in the new system is to perform a User Acceptance Test (UAT). In this session with the users, each feature is validated and compared to the old system. Adjustments to the new system may be needed until the users accept the new system.

If everything checks out, the migration is successful. But if it is not, proceed to the next step.

7. Rollback

This is the contingency plan if the data migration fails. Everyone will have to revert to the original system. This is not a desirable step, but it is necessary to continue the business operations and serve the customers.

Tools and Techniques

Data Extraction Tools
  • Custom Scripts or Programs: Java, Python, C#, or other programming languages to parse and extract proprietary data.
  • Vendor Tools: Use proprietary tools provided by the legacy system vendor if available.
Data Integration Tools
  • Skyvia or another data integration tool to extract the CSV or JSON data.
Validation and Testing
  • Automated Scripts: To compare data sets before and after migration.
  • Manual Sampling: To ensure data accuracy through random checks.

Conclusion

Managing and migrating legacy systems is complex but necessary. It is also possible by following the strategies outlined here.

Businesses must evaluate their needs and challenges. They need to consider factors like compatibility, cost, and impact on operations. Whatever the approach, the goal is to enhance capabilities and remain competitive.

With these, businesses can navigate their legacy system challenges. At the same time, they also embrace the benefits of modern technology. Effective management and migration lead to better performance and greater flexibility. It will also put them in a stronger position in today’s fast-paced digital landscape.