Developing maintainable systems: a full life-cycle approach
J.A. Hager · 2003
Sixty percent of the software costs associated with the design, development and implementation of computer systems occur in the maintenance phase. Since change is intrinsic in software, a significant reduction in the maintenance costs can be realized by recognizing the evolutionary aspects of software and integrating a design for change philosophy into the engineering life cycle. By identifying the expected changes early in the definition phases, and by modularizing the system to efficiently support implementation of these changes, life-cycle maintenance costs can be reduced. The author provides an example of a design methodology, a specification process and a supporting documentation structure that provides more visibility to maintenance concerns.>