Maintainability

Context

The ongoing maintenance of a system costs more that the initial development. It's not surprising that more people are hired for maintaining a legacy system, instead of building from scratch.

Improving the maintainability of a system reduces the cost and hence it's an over-going thing that most companies are thriving to achieve.

Overview

The maintainability of a system has not a concrete measurement like availability. However, it relates to several factors:

  • How fast a but fix can be checked in and released;
  • The number of operation engineers;
  • The mean time to detect and resolve incidents;
  • The number of security vulnerables by regularly security scanning and auditing;
  • The size of the pool of tech debts;
  • The size of the pool of new requirements;
  • The number of you getting On-Call requests. 📞
  • ...

Most factors can be categorized into three:

  • The evolvability of the code.
  • The operability of the system.
  • The simplicity of the code and system.

Patterns

Please donate this project. It takes time and efforts writing these articles.

Conclusions

There is no easy way to measure the maintainability of a system, though we can take a lot of actions to make it simpler, make the life of operations easier, and make it easier to extend and grow.

References