Software Quality Attributes Vocabulary
5 exercises — master ISO 25010 quality attribute vocabulary: maintainability, reliability, portability, performance efficiency, and architectural trade-offs.
0 / 5 completed
ISO 25010 quality attributes quick reference
- Maintainability — modularity, reusability, analysability, modifiability, testability
- Reliability — maturity, availability, fault tolerance, recoverability
- Performance efficiency — time behaviour, resource utilisation, capacity
- Portability — adaptability, installability, replaceability
- Security — confidentiality, integrity, non-repudiation, accountability, authenticity
- Quality attribute trade-off — improving one attribute often degrades another; must be documented in ADRs
- NFR (Non-Functional Requirement) — a quality constraint, not a functional capability
1 / 5
A product requirements document lists "maintainability" as a non-functional requirement citing ISO 25010. A developer asks: "What exactly does the standard say maintainability includes?" Which answer correctly names the ISO 25010 sub-characteristics of maintainability?
ISO/IEC 25010 (Systems and Software Quality Requirements and Evaluation) provides the authoritative vocabulary for software quality attributes used in requirements engineering, architecture decisions, and quality assurance.
ISO 25010 Maintainability sub-characteristics:
Why this vocabulary matters in practice:
When writing non-functional requirements, specifying "the system shall be maintainable" is meaningless unless you reference which sub-characteristic you mean and how you will measure it. E.g. "Modifiability: any single feature change shall not require modification of more than 3 modules" is a testable NFR.
Key vocabulary:
• Non-functional requirement (NFR) — a quality attribute constraint rather than a functional capability
• ISO 25010 — the international standard defining the software quality model
• Quality attribute — a measurable or testable property of a software system
ISO 25010 Maintainability sub-characteristics:
| Sub-characteristic | Definition | Typical measurement |
|---|---|---|
| Modularity | Changes to one component have minimal impact on others | Coupling metrics, component cohesion |
| Reusability | An asset can be used in more than one system | Library usage metrics, API surface |
| Analysability | Effectiveness of diagnosing deficiencies or failure causes | MTTR, log coverage, observability tooling |
| Modifiability | Can be modified without introducing defects or degrading quality | Change failure rate, regression test results |
| Testability | Effectiveness of establishing test criteria and running validation | Branch coverage, cyclomatic complexity |
Why this vocabulary matters in practice:
When writing non-functional requirements, specifying "the system shall be maintainable" is meaningless unless you reference which sub-characteristic you mean and how you will measure it. E.g. "Modifiability: any single feature change shall not require modification of more than 3 modules" is a testable NFR.
Key vocabulary:
• Non-functional requirement (NFR) — a quality attribute constraint rather than a functional capability
• ISO 25010 — the international standard defining the software quality model
• Quality attribute — a measurable or testable property of a software system