Legacy system

Legacy code may be written in programming languages, use frameworks and external libraries, or use architecture and patterns that are no longer considered modern, increasing the mental burden and ramp-up time for software engineers who work on the codebase.

Backward compatibility (such as the ability of newer systems to handle legacy file formats and character encodings) is a goal that software developers often include in their work.

A legacy system may include procedures or terminology which are no longer relevant in the current context, and may hinder or confuse understanding of the methods or technologies used.

[10] Printing improvements are problematic because legacy software systems often add no formatting instructions, or they use protocols that are not usable in modern PC/Windows printers.

Rich Text Format (RTF) or PostScript documents may be created in the legacy application and then interpreted at a PC before being printed.

A workable solution is to use a Telnet or HTTP proxy server to sit between users and the mainframe to implement secure access to the legacy application.

The change being undertaken in some organizations is to switch to automated business process (ABP) software which generates complete systems.

This approach can provide a number of significant benefits: the users are insulated from the inefficiencies of their legacy systems, and the changes can be incorporated quickly and easily in the ABP software.

According to Hein, legacy systems are attractive for reuse if an organization has the capabilities for verification, validation, testing, and operational history.

The original hardware completed the expensive integration and certification requirement for flight, but any new equipment would have had to go through that entire process again.

This long and detailed process required extensive tests of the new components in their new configurations before a single unit could be used in the Space Shuttle program.

[14] Even before the Shuttle was scheduled to be retired in 2010, NASA found it advantageous to keep using many pieces of 1970s technology rather than to upgrade those systems and recertify the new components.

This kind of feature is common in operating systems and web browsers, where many applications depend on these underlying components.

In the modern business computing environment, n-tier, or 3-tier architectures are more difficult to place into legacy mode as they include many components making up a single system.

These techniques allow organizations to understand their existing code assets (using discovery tools), provide new user and application interfaces to existing code, improve workflow, contain costs, minimize risk, and enjoy classic qualities of service (near 100% uptime, security, scalability, etc.).

The most common legacy systems tend to be those which embraced well-known IT architectural principles, with careful planning and strict methodology during implementation.

In 2011, MS-DOS was still used in some enterprises to run legacy applications, such as this US Navy food service management system.
Although it has been unsupported since April 2014, Windows XP has endured continued use in fields such as ATM operating system software.