Lehman's laws
Lehman's laws are rule of thumb that apply to software evolution.
- 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 maintain or reduce it.
- Self Regulation: the more a system evolve, the less stakeholders can decide of its future.
- Conservation of Organisational Stability: operational/management teams don't have influence on how fast a system evolve.
- Conservation of Familiarity: releases' value of a system stay statistically the same (even if you increase operations)
- Continuing Growth: the functional content of a system must be continually increased to maintain user satisfaction over its lifetime.
- Declining Quality: the quality of a system will appear to be declining unless it is rigorously maintained and adapted to operational environment changes.
- Feedback System: processes to evolve a system are complex and shouldn't be force to changes