Developing for Maintainability

Just as Supportability, Maintainability is one of these Non Functional Requirements, that is or should be required from every software development project. So what does that mean? Wikipedia defines it as the ease with which a software product can be modified in order to: correct defects meet new requirements make future maintenance easier, or cope [...]