Lehman's laws of software evolution
Software evolution refers to the process of initially developing a software system and then iteratively making changes to it. Beginning in the 1970s, Manny Lehman and his colleagues studied the evolution of software systems. They identified a set of behaviors that became known as Lehman's laws of software evolution. Lehman's dedication to the study of continuous software modifications and their long-term effects earned him the nickname the father of software evolution.
Lehman's software categories
Lehman's laws take into consideration the fact that there are different types of software systems. In his paper Programs, Life Cycles, and Laws of Software Evolution, Lehman distinguished between three different types of system:
- S-type systems
- P-type systems
- E-type systems
In this section, let's look at these three types of system and learn which one is applicable to Lehman's laws of software evolution.
S-type systems
An S-type system is specifiable in that it has a...