Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO 25113 provides an in-depth treatment of software quality characteristics, extending the quality model defined in ISO 25010 with detailed definitions, subcharacteristics breakdowns, and measurement guidance for each quality attribute. The standard is the definitive reference for understanding what each software quality characteristic means, how characteristics interact with each other, and how they should be evaluated in practice. It resolves ambiguities that arise when applying the high-level quality model to specific software systems by providing clear, operational definitions for each characteristic and subcharacteristic, along with practical examples drawn from different application domains.
The standard provides a comprehensive decomposition of each quality characteristic into subcharacteristics. For example, “reliability” is broken down into maturity, availability, fault tolerance, and recoverability. Each subcharacteristic receives a formal definition, a set of associated measures, and guidance on interpretation. ISO 25113 also maps each subcharacteristic to typical stakeholder concerns, enabling traceability between quality requirements and stakeholder needs. This decomposition is valuable because it allows organizations to specify quality requirements with precision — instead of stating “the system must be reliable,” engineers can specify quantitative targets for each reliability subcharacteristic: maturity (mean time to failure), availability (uptime percentage), fault tolerance (ability to maintain service despite component failures), and recoverability (time to restore service after failure).
Functional suitability addresses whether the software provides the functions needed by users, and is decomposed into functional completeness (do all required functions exist?), functional correctness (do the functions produce correct results?), and functional appropriateness (are the functions suitable for the intended tasks?). Reliability addresses the software’s ability to maintain a specified level of performance under stated conditions. Performance efficiency relates to the software’s responsiveness and resource consumption. Security encompasses confidentiality, integrity, non-repudiation, accountability, and authenticity. Compatibility considers the software’s ability to exchange information with other systems and perform its required functions while sharing a common environment. Maintainability covers modularity, reusability, analyzability, modifiability, and testability. Portability includes adaptability, installability, and replaceability.
| Quality Characteristic | Subcharacteristics | Typical Stakeholder Concerns |
|---|---|---|
| Functional Suitability | Functional completeness, correctness, appropriateness | Does it do what I need? |
| Reliability | Maturity, availability, fault tolerance, recoverability | Will it work when I need it? |
| Performance Efficiency | Time behavior, resource utilization, capacity | Is it fast enough? |
| Security | Confidentiality, integrity, non-repudiation, accountability, authenticity | Is my data safe? |
| Maintainability | Modularity, reusability, analyzability, modifiability, testability | Can we fix and evolve it? |
| Portability | Adaptability, installability, replaceability | Can it run in my environment? |
One of the most valuable contributions of ISO 25113 for practicing engineers is the detailed guidance on quality characteristic measurability. Each subcharacteristic is accompanied by one or more candidate measures, along with guidance on which measures are most appropriate for different types of software systems. For example, “fault tolerance” in embedded systems is best measured through fault injection testing, where controlled faults are introduced to verify that the system maintains correct operation. In enterprise applications, fault tolerance may be assessed through chaos engineering experiments that simulate infrastructure failures. In safety-critical systems, formal verification methods may be applied to prove fault tolerance properties mathematically.
The standard also addresses quality characteristic prioritization — a critical concern for projects with limited resources. ISO 25113 recommends using risk-based prioritization, where quality characteristics are weighted according to the consequences of their failure in the specific application context. A banking application would prioritize security and reliability because the consequences of a security breach or system outage are severe. An e-commerce platform would prioritize performance efficiency and availability, as slow response times or downtime directly impact revenue. A medical device would prioritize reliability and safety above all other considerations. By aligning quality priorities with business risks, organizations ensure that their quality assurance investments are directed where they provide the greatest value.
The standard also provides guidance on handling quality characteristic interactions and conflicts. For example, increasing security through stronger authentication typically reduces usability by adding steps to the user workflow. ISO 25113 recommends using trade-off analysis methods such as quality function deployment (QFD) or multi-criteria decision analysis (MCDA) to systematically evaluate alternative design decisions against the full set of quality requirements. The results of these analyses should be documented in a quality trade-off register that captures the rationale for each decision and enables retrospective analysis of whether the trade-off decisions were appropriate.