Continuing change: A program that is used in a real-world environment must 
change, or become progressively less useful in that environment.

Increasing complexity: As a program evolves, it becomes more complex, and 
extra resources are needed to perserve and simplify its structure.

Large program evolution: Program evolution is a self-regulating process.  
Time between releases, number of reported errors, etc.  tend not to vary 
between releases.

Organizational stability: Over a programs lifetime, its rate of 
development is relatively constant, and independent of development 
resources.

Conservation of familiarity: Over the lifetime of a system, the incremental 
change in each release is approximately constant.
