During its life software will be subject to pressures for change. These pressures are an unavoidable consequence of the nature of software and the changing environment in which it is used.
In fact, as Robert Glass writes in his ‘Facts and Fallacies of Software Engineering’, about 60% of software’s cost is maintenance, and about 60% of the maintenance cost is improvement. The technological growth rate in the software field is significantly higher compared to most other fields. This means that one has to always remain proactive to keep their product relevant and up-to-date. This is just one of many functions of software maintenance.
One method of reducing the impact is to design, develop and maintain a system in ways that will facilitate change and reduce the impact of individual changes.