A sustainable application remains useful, reliable, flexible, maintainable, and deployable throughout a long operational lifespan. It continues serving customers while maintenance fixes bugs and adds features as requirements evolve. section 1.0 section 1.3
Good design makes sustainability practical by helping an application:
- Meet requirements and produce results users expect. section 1.3
- Pass tests, reduce bugs, and avoid hidden runtime performance problems. section 1.3
- Accept new features and changing requirements without disproportionate complexity. section 1.3
- Support collaboration and recovery from poor design decisions. section 1.3
A maintained application
A deployed application reaches a minimum viable product that passes tests and meets essential requirements. Later releases fix bugs and add features without making the software unnecessarily complex. section 1.3
Sustainability develops through requirements analysis, iterative design, object-oriented principles, and patterns for recurring architecture problems; it is an evolving practice rather than a single shortcut. section 1.0

