Opinion
Computing Applications

Technical Opinion: Viewpoints on Legacy Systems

Posted
  1. Article
  2. Authors

The Y2K problem and business process re-engineering have raised awareness of legacy systems. Even so, there is little consensus about what a legacy system is. The wide variety of interpretations hampers discussion. For example, business people are amazed that a profitable product can be called a legacy system. However, it has been asserted that IBM’s CICS is a legacy system because it requires legacy skills to maintain it and it is difficult to get people who have legacy skills, such as knowledge of old languages and old hardware. Listening to delegates at conferences and seminars we find similar puzzlement and disagreement. There is little possibility that any single definition will be universally accepted.

We need to understand the apparent diversity of definitions. We suggest the variety originates from different valid viewpoints or perspectives. Anecdotes from conferences and seminars show that four viewpoints—developmental, operational, organizational, and strategic—are sufficient to dispel the confusion.

The developmental viewpoint develops and maintains the organization’s systems. Those responsible have a very straightforward view of legacy systems. They understand the effects of change on the products of the development process and give software-orientated definitions such as "any code that has left development." Other definitions include "as soon as the first piece of design has been done" or "as soon as the first requirement has been captured." Readers may find these definitions extreme since they include every live system. However, taking a developmental viewpoint, we see they have a maintenance perspective. They concern the difficulties caused by changes in requirements and focus on change in the various representations of the system itself. Further, as with CICS, a legacy system is one handed on by those who were expert, but who are no longer involved, to those who are not expert. This expresses the need for information and skills to maintain the system.

The operational viewpoint supports the business by operating its systems. There is a continuing need to provide an efficient service for the necessary volume of information gathering and query within appropriate response times. Systems that can no longer be operated to meet such requirements may be labeled legacy systems. Therefore, a legacy system is an operational system that was written using hardware and/or software which is no longer seen as part of the organization’s current strategy. This could be construed as measuring systems by business fashion, not business need, especially by an executive wanting to keep the lid on the IT budget. However, poor interoperability of systems hampers effective service. That a legacy system is "one that is old" could be considered ageism, but it indicates the difficulty of keeping old hardware operating and of systems that provide less effective user interfaces than modern ones. One interesting definition reflecting changing systems architectures is that "a system whose security has been compromised" is a legacy system.

The organizational viewpoint is concerned with defining and operating the business processes in support of business strategy. Legacy systems are particularly important since they constrain rather than support the ability of the organization to respond to changing environment conditions or to adopt new strategies. Resolving the associated information systems problems may require business processes re-engineering. If a re-engineering of business processes proposed to enhance efficiency (or any other high-level organizational goal) is frustrated by inflexibility of existing information systems, then these are legacy systems. They are systems that don’t support changing business needs. However, it is at the organizational level that we encounter a positive and important aspect of legacy systems. They are old, inflexible, expensive, nonportable, and undocumented but indispensable because they support core business functions.

The strategic viewpoint considers the financial costs and benefits of running the organization. It changes the organization in response to threats or opportunities. The functions of the organization are supported by work processes which in their turn are supported by computer systems. From a strategic viewpoint, these supporting computer systems become legacy systems when the financial benefit they contribute to the organization is less than the cost of operating and maintaining them. This viewpoint considers the cost of opportunities lost when a legacy system cannot support a desired business opportunity, thereby preventing an organization earning from that business opportunity.

The viewpoint hierarchy is clear. Overriding all is the strategic viewpoint protecting the stockholders’ interests. This decides whether or not to act to address the legacy system issue. To do nothing may be a perfectly valid business option. The cost of acting may not be justifiable in the context of the potential business opportunity. A business view has been expressed that it may be best to wind up a company before 2000, avoiding the associated costs and risks.

If the strategic level decides that change is required, the organizational level must determine how to achieve it by adapting and amending the organizational structure and its business processes. Business process re-engineering may be required. Expertise may be required from the operational and developmental viewpoints to inform decisions. Subordinate to the organizational viewpoint is the operational viewpoint, ensuring that the systems in place deliver the intended services. The operational viewpoint must ensure that the requirements for system change are understood. It accepts the changed system into service. Subordinate to all is the developmental viewpoint, ensuring that the required systems are in place and are maintained in response to the needs of the other viewpoints.

Conferring legacy status is essentially a strategic consideration based on costs and benefits. Definitions from other viewpoints contribute information that can be used to make the overriding strategic decision. Organizational viewpoint definitions identify inefficiency in the organizational structure and predict loss of business opportunity due to constraints caused by current systems. Operational viewpoint definitions predict operational difficulties, such as degraded service. Developmental viewpoint definitions predict the effects of change on the supporting computer systems.

Through a viewpoint approach we can reconcile the diversity of legacy systems definitions, creating a flow of information about the status of systems, determining legacy status, and facilitating appropriate response.

Back to Top

Join the Discussion (0)

Become a Member or Sign In to Post a Comment

The Latest from CACM

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.

Learn More