> maintainability and extensibility (I think these are part of what it means for a system to be reliable).
Frequently forgotten is the duality of extensibility: subsettability, or contraction. Being able to remove or disable code without rewriting large parts of the application is just as important as being able to extend it!