Continuing Change
A program in real-world use must change or become progressively less useful.
Increasing Complexity
As a program evolves, its structure becomes more complex. Extra resources are needed to preserve simplicity.
Large Program Evolution
Program evolution is self-regulating. Size, release intervals, and errors are approximately constant per release.
Organizational Stability
Development rate is approximately constant over lifetime, independent of resources devoted.
Conservation of Familiarity
Incremental change in each release is approximately constant over lifetime.
Continuing Growth
Functionality must continually increase to maintain user satisfaction.
Declining Quality
Quality declines unless the system is modified to reflect changes in the operational environment.
Feedback System
Evolution processes are multiagent, multiloop feedback systems.