Skip to content

Lehman's laws

Lehman's laws are rule of thumb that apply to software evolution.

  1. Continuing Change: a system must be continually adapted or it becomes progressively less satisfactory.
  2. Increasing Complexity: as a system evolves, its complexity increases unless work is done to maintain or reduce it.
  3. Self Regulation: the more a system evolve, the less stakeholders can decide of its future.
  4. Conservation of Organisational Stability: operational/management teams don't have influence on how fast a system evolve.
  5. Conservation of Familiarity: releases' value of a system stay statistically the same (even if you increase operations)
  6. Continuing Growth: the functional content of a system must be continually increased to maintain user satisfaction over its lifetime.
  7. Declining Quality: the quality of a system will appear to be declining unless it is rigorously maintained and adapted to operational environment changes.
  8. Feedback System: processes to evolve a system are complex and shouldn't be force to changes