Maintainability

Summary: Designing software so that it is easy for many different people to work on it productively over its entire lifetime.

Sources: chapter1

Last updated: 2026-04-15


Maintenance is not just about fixing bugs; it’s also about keeping the system operational, investigating failures, adapting to new platforms, and adding new features. Three design principles can help:

  1. operability: Make it easy for operations teams to keep the system running smoothly.
  2. simplicity: Make it easy for new engineers to understand the system, by removing as much complexity as possible.
  3. evolvability: Make it easy for engineers to make changes to the system in the future, adapting it for unanticipated use cases.