Maintainability focuses on the ease with which a software system can be maintained. Maintenance of a software system takes place as changes are made to it after the software is in operation. Maintenance is necessary to preserve the value of the software over time.
Change is constant in the real world. Sometimes it is expected and can be planned for, while other times it is not. Either way, it is inevitable that software systems will experience change. With the knowledge that change is unavoidable, it is important to build maintainable systems.
Decades ago, the greater part of a software project's costs went into software development. However, over the years there has been a shift in the cost ratio from development to maintenance. Today, the majority of a system's lifetime costs can typically be attributed to maintenance. Doing whatever is possible to...