Lehman's laws of software evolution
Encyclopedia
In Software engineering
Software engineering
Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...

, the Laws of Software Evolution refer to a series of laws that Lehman
Meir Manny Lehman
Meir M. "Manny" Lehman, FREng was a professor in the School of Computing Science at Middlesex University. From 1972 to 2002 he was a Professor and Head of the Computing Department at Imperial College London...

 and Belady formulated starting in 1974 with respect to Software evolution
Software evolution
Software evolution is the term used in software engineering to refer to the process of developing software initially, then repeatedly updating it for various reasons.-General introduction:...

.
The laws describe a balance between forces driving new developments on one hand, and forces that slow down progress on the other hand.

Context

Lehman and Belady classified programs into three types:
  • S-type programs are those that can be specified formally.
  • P-type programs cannot be specified. Instead, an iterative process is used to find a working solution.
  • E-type programs are embedded in the real world and become part of it, thereby changing it. This leads to a feedback system where the program and its environment evolve in concert.


The laws of software evolution were originally based on observations regarding the evolution of IBM
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...

's OS/360
OS/360 and successors
OS/360, officially known as IBM System/360 Operating System, was a batch processing operating system developed by IBM for their then-new System/360 mainframe computer, announced in 1964; it was heavily influenced by the earlier IBSYS/IBJOB and Input/Output Control System packages...

 and OS/370
OS/360 and successors
OS/360, officially known as IBM System/360 Operating System, was a batch processing operating system developed by IBM for their then-new System/360 mainframe computer, announced in 1964; it was heavily influenced by the earlier IBSYS/IBJOB and Input/Output Control System packages...

.
The laws were not presented as laws of nature, but rather as general observations that are expected to hold for all E-type systems, regardless of specific programming or management practices.

The Laws

All told eight laws were formulated:
  1. (1974) Continuing Change — E-type systems must be continually adapted or they become progressively less satisfactory.
  2. (1974) Increasing Complexity — As an E-type system evolves its complexity increases unless work is done to maintain or reduce it.
  3. (1974) Self Regulation — E-type system evolution process is self regulating with distribution of product and process measures close to normal.
  4. (1978) Conservation of Organisational Stability (invariant work rate) - The average effective global activity rate in an evolving E-type system is invariant over product lifetime.
  5. (1978) Conservation of Familiarity — As an E-type system evolves all associated with it, developers, sales personnel, users, for example, must maintain mastery of its content and behaviour to achieve satisfactory evolution. Excessive growth diminishes that mastery. Hence the average incremental growth remains invariant as the system evolves.
  6. (1991) Continuing Growth — The functional content of E-type systems must be continually increased to maintain user satisfaction over their lifetime.
  7. (1996) Declining Quality — The quality of E-type systems will appear to be declining unless they are rigorously maintained and adapted to operational environment changes.
  8. (1996) Feedback System (first stated 1974, formalised as law 1996) — E-type evolution processes constitute multi-level, multi-loop, multi-agent feedback systems and must be treated as such to achieve significant improvement over any reasonable base.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK