1.3 The Legacy Crisis


Concern is growing that the development of new software is outpacing our ability to maintain it. With large portions of software budgets being devoted to maintenance, few resources remain for new development. Decreasing evolutionary costs significantly appears plausible but is difficult to achieve because many maintenance activities are unavoidable. If these trends continue, eventually no resources will be left to develop new systems, and we will enter the Middle Ages of the information age. In the remainder of this book, we refer to this as the legacy crisis.

We hope that the legacy crisis can be counteracted, but which forces are likely to reverse the trends? Possible counterforces include

  • Evolvable software development. Maintainability is the ease with which a software system or component can be modified to correct faults, improve performance or other attributes, or adapt to a changed environment [IEEE 90]. As they become aware of the costs associated with maintaining legacy systems, management will increase the up-front investment necessary to develop evolvable systems. Organizations will spend the additional time and resources to keep these systems current and maintainable .

  • Software reengineering and modernization. Concerned with increasing maintenance costs on existing legacy systems, organizations will attempt to reengineer or modernize these systems to reduce ongoing maintenance costs.

  • Use of commercial components . Replacing custom code with commercial-off-the-shelf (COTS) software components reduces the amount of code an organization must maintain and costs are reduced because the cost of maintaining the COTS component is shared among multiple organizations. This task could involve replacing portions of a system or the whole system, as in the case of enterprise resource planning (ERP) systems.

  • Hardware improvements. Increasingly powerful computing platforms allow maintenance organizations to reevaluate their approach to doing business.

  • Web and Internet. The Web and the Internet have created a new model for building and using distributed systems. The move to e-business models, although not strictly a counterforce to the legacy crisis, is also driving legacy system modernization efforts. Many companies want on-line ordering, Web portals, and on-line services, not to mention a simple Web presence. Before they can implement enhanced Internet capabilities and services, companies must modernize their legacy systems to accommodate them.

  • Advanced programming languages and tools. Programming languages and tools are becoming increasingly powerful and expressive. Modern programming languages allow the same amount of logic to be represented more succinctly, often reducing the amount of source code that must be supported. If used properly, object-oriented techniques, supported by many modern programming languages, also help to improve the maintainability of legacy software.

None of these counterforces alone is sufficient to prevent or to reverse the legacy crisis, but together they may reduce the overall effort required to maintain the ever-increasing amount of legacy software code.



Modernizing Legacy Systems
Modernizing Legacy Systems: Software Technologies, Engineering Processes, and Business Practices
ISBN: 0321118847
EAN: 2147483647
Year: 2003
Pages: 142

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net