Software maintenance costs are well-documented as the largest component of
software life cycle cost. While significant research has been conducted on
the characterization of maintainability, program understanding, and softwar
e organization for maintainability, there is little work published on the a
priori identification and encapsulation of a software system's volatile po
ints. In order to validate the fundamental behavior of enhancive software v
olatility, a volatility-oriented maintenance life cycle cost model is prese
nted to describe the relationship between frequency, cost-to-change, encaps
ulation 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. The paper also outlines a methodology for identifying the mo
st probable points in software to experience the highest frequency of chang
e, and using this postulated information as guidance in developing tools, o
rganization, and techniques to make these points easy to change. (C) 1999 E
lsevier Science Inc. All rights reserved.