Analysability

Analysability is the degree of effectiveness and efficiency with which the impact of an intended change on a product or system can be assessed, or with which the parts responsible for a deficiency or failure can be diagnosed and identified. It’s a quality attribute, and ISO/IEC 25010 classes it as a sub-characteristic of maintainability.

A codebase’s analysability is shaped less by any single technique than by how much of the system a reader has to hold in their head to reason about a change safely. Clear modularity, low coupling, consistent naming, and good observability all make it faster to localize the cause of a fault or the blast radius of a proposed change.

Poor analysability — eg. diagnosing issues takes disproportionate effort — is one of the clearest symptoms of accumulated technical debt.

References

  • ISO/IEC (2023). ISO/IEC 25010:2023 — Systems and software Quality Requirements and Evaluation (SQuaRE) — Quality model.