Maintainability

Topics: Software development, DevOps

Maintainability is the ease with which software and services can be understood, changed, and restored after failures.

Maintainability in software engineering

Maintainable code has several attributes:

Maintainability in operations

Maintainability factors into Availability by describing how downtime originates and is resolved. When an incident causing downtime occurs, maintainable services can be repaired quickly.

Proactive maintainability involves building a codebase that can be easily understood and changed.

Reactive maintainability describes a service’s ability to be repaired after incidents.

SLO/SLI with error budgets can give a good indication where spending effort on maintainability improvements will be the most effective.