Meir Lehman formulated eight laws describing how software systems evolve over time:
- Continuing Change: A system must be continually adapted or it becomes progressively less satisfactory
- Increasing Complexity: As a system evolves, its complexity increases unless work is done to reduce it
- Self-Regulation: System evolution is self-regulating with close to normal distribution of measures
- Conservation of Organizational Stability: The average effective global activity rate is invariant over the product's lifetime
- Conservation of Familiarity: The content of successive releases is statistically invariant
- Continuing Growth: Functional content must be continually increased to maintain user satisfaction
- Declining Quality: Quality will appear to be declining unless rigorously maintained
- Feedback System: Evolution processes constitute multi-level feedback systems