Addressing software volatility in the system life cycle

Glenn Gerard Butcher · 1997

Software maintenance costs are well-documented as the largest component of software life cycle cost. While significant research attention has been paid to the characterization of maintainability, program understanding, and software organization for maintainability, there is little work published to date on the a priori identification and encapsulation of a software system's volatile points. This dissertation proposes a methodology for identifying the most probable points in software to be developed to experience the highest frequency of change, and use this postulated information as guidance in developing tools, organization, and techniques to make these points easy to change. In order to validate the fundamental behavior of enhancive software volatility, a volatility-oriented maintenance life cycle cost model is presented to describe the relationship between frequency, cost-to-change, encapsulation strategies, and the resulting life cycle cost. The behavior of this model is then correlated against historical change data from systems of a single domain.

Read the paper · More papers on PaperTik