Legacy system

A legacy system is an antiquated computer system or application program which continues to be used because the user (typically an organization) does not want to replace or redesign it.

Legacy systems are considered to be potentially problematic by many software engineers (for example, see Bisbal et al., 1999) for several reasons. Legacy systems often run on obsolete (and usually slow) hardware, and sometimes spare parts for such computers become increasingly hard to obtain. These systems are often hard to maintain, improve, and expand because there is a general lack of understanding of the system; the designers of the system have left the organisation, so there is no one left to explain how it works. Such a lack of understanding can be exacerbated by inadequate documentation, or manuals getting lost over the years. Integration with newer systems may also be difficult because new software may use completely different technologies.

Despite these problems, organisations can have compelling reasons for keeping a legacy system, such as:

If legacy software only runs on antiquated hardware, the cost of maintaining the system may eventually outweigh the cost of replacing both the software and hardware unless some form of emulation or backward compatibility allows the software to run on new hardware. However, many of these systems do still meet the basic needs of the organisation; the systems to handle customers' accounts in banks are one example. Therefore the organisation cannot afford to stop them and yet some cannot afford to update them.

A demand of extremely high availability is commonly the case in computer reservation systems, air traffic control, energy distribution (power grids), nuclear power plants, military defence installations, and other systems critical to safety, security, traffic throughput, and/or economic profits. For example see the TOPS database system.

The change being undertaken in some organisations is to switch to Automated Business Process (ABP) software, which generates complete systems. These systems can then interface to the organisations' legacy systems and use them as data repositories. 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 (at least, that's the intention).

There's an alternative point of view that legacy systems are simply computer systems that are both installed and working. In other words, the term is not at all pejorative -- quite the opposite. Perhaps the term is only an effort by computer industry salesmen to generate artificial churn in order to encourage purchase of unneeded technology.

Reference

See also

This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.

See also: Legacy system, Air traffic control, Application program, Automated Business Process, Availability, Backward compatibility, Bank, Churn, Computer hardware