# 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