The Uncertainty Principle in software [ZR97]: Uncertainty is inherent and inevitable in software projects and processes.
The data summarized in Figure 5.1, based on a large study of software projects [Jones97], illustrates that software development is a domain of inventive high-change projects.
Figure 5.1. rates of change on software projects
The X axis plots project size in function points, a language-independent measure of system complexity. The Y axis plots the estimate of overall change or creep in requirements.
Even medium sized projects have change rates around 25%; on very large projects it is 35% or more.
Further, this data is consistent with another study by Boehm and Papaccio showing that a typical software project experienced a 25% change in requirements [BP88].