Quality attributes and measurable scenarios
Quality attributes are the bridge between business risk and structure. ISO/IEC 25010:2023 provides a product-quality vocabulary, while practical architecture work expresses priorities as concrete scenarios.
Core ideas and patterns
| Idea | What it solves | Cost, limit, or warning |
|---|---|---|
| Functional suitability | Checks completeness, correctness, and appropriateness | A correct feature can still be unusable or unsafe |
| Performance efficiency | Balances latency, throughput, capacity, and resources | Averages hide tail latency and overload |
| Compatibility | Covers interoperability and coexistence | Shared environments create invisible coupling |
| Interaction capability | Makes user-system interaction effective and inclusive | Accessibility cannot be patched at the end |
| Reliability | Covers availability, fault tolerance, recoverability, and maturity | Redundancy without independence creates common-mode failure |
| Security | Protects confidentiality, integrity, authenticity, accountability, and resistance | Controls must match threats and data class |
| Maintainability | Supports analysis, modification, testing, and reuse | Too many abstractions can reduce changeability |
| Flexibility | Supports adaptation, scalability, installability, and replaceability | Unused flexibility is permanent complexity |
| Safety | Avoids unacceptable harm | Safety needs hazards, controls, and assurance evidence |
How to apply it
For each priority, write: source of stimulus, stimulus, environment, affected artifact, expected response, and response measure. Resolve conflicts explicitly—for example stronger consistency can increase latency; more isolation can increase cost; more generic extensibility can slow simple changes.
Evidence, not opinion
Use service-level indicators, recovery exercises, capacity tests, accessibility audits, security tests, change lead time, defect escape rate, and cost per business transaction. Measure percentiles and failure modes, not only happy-path averages.
Small example
When a payment provider times out during peak traffic, 99.9% of checkout requests return a stable pending state within two seconds, no charge is duplicated, and reconciliation completes within 30 minutes.
Feynman check
Explain the design to a new engineer without using the pattern names. State the problem, the forces that conflict, the chosen boundary or mechanism, what can fail, and the evidence that would prove the choice still works.