Software evolution in the age of component-based software engineering
Meir Manny Lehman, Juan F. Ramil · IEE Proceedings - Software · 2000
The eight laws of software evolution provide phenomenological descriptors of the evolutionary behaviour observed over the years in a number of software systems. The laws relate to E-type software, that is, software used to solve a problem or address an application in a real-world domain. Any computer application must undergo continuing evolution. The fact that the system implementing the application includes a significant number of components does not affect this fundamental truth. Thus one must expect the laws to be relevant in the context of component-based software engineering, though their statement, the phenomenology they reflect, may have to be refined. The most immediate implications of these observations are examined, their potential managerial impact discussed and some recommendations provided, thus giving a basis for questions and hypotheses to be further investigated and developed.