ABSTRACT

It took a while before software engineers became aware

of the inherent limitations of this software process model,

namely, the fact that the separation in phases was too strict

and inflexible, and that it is often unrealistic to assume that

the requirements are known before starting the software

design phase. In the late 1970s, a first attempt was made

toward a more evolutionary process model, the so-called

“change mini-cycle” as proposed by Yau et al.[4]

Also in the 1970s, Manny Lehman started to formulate

his laws of software evolution (see Table 1). The postulated

laws were based on earlier work carried out by Lehman to

understand the change process being applied to IBM’s OS

360 operating system. His original findings were confirmed

in later studies involving other software systems.[5] This was

probably the first time that the term software evolution was

explicitly used to stress the difference with the postdeploy-

ment activity of software maintenance.