Legacy system

from Wikipedia, the free encyclopedia
Illustration of an old system and the problems when switching to new software

The term legacy system ( English legacy system ) referred to in the computer science is an established, historically grown application in enterprise software . Legacy is the English word for legacy, legacy, inheritance, also contaminated site.

Within the application landscape of a company, it is mostly large-scale computer-based individual developments that are often characterized by insufficient documentation, outdated operating and development environments, numerous interfaces and high complexity. The central data and function management found there has been considered obsolete since the client / server euphoria.

These characteristics are the reason why the replacement of such systems often extends well beyond the desired end of life. In both economic upswing and downturn phases, re-prioritization is often used in order to avoid the high risk of failure or changeover costs associated with a replacement, especially since the mere replacement of a legacy system does not provide direct added value, but usually only with savings in imputed costs ( Costs for temporary or permanent downtime) or opportunity costs (lost sales due to limited performance of the legacy system).

The basic problem when replacing legacy systems is the increased scope of functions. Even if a large-scale replacement with powerful standard software takes place quite often , additional functions and interfaces that are usually not covered remain. These are sometimes “golden ashtrays”, but more often they are unique selling points of the software that has grown and developed over decades, which standard software does not necessarily have. A complete overhaul of the systems is often difficult because they have not been consistently described across the history, for example with requirements, use cases, etc.

The use of service-oriented architectures offers sensible approaches to cover the interface problem by using connectors . The systems to be exchanged are "encapsulated" from the outside in that an intermediate layer from different source systems operates a common interface.

See also

literature

  • Michael C. Feathers, Working Effectively with Legacy Code, 2009 ( Working Effectively with Legacy Code, 2010).