Monday, October 30, 2006

ISO9126 Software Quality Attributes

ISO/IEC 9126 provides a framework for the evaluation of software quality.
It defines six software quality attributes, also called quality characteristics:

Functionality: are the required functions available, including interoperabilithy and security
Reliability: maturity, fault tolerance and recoverability
Usability: how easy it is to understand, learn, operate the software system
Efficiency: performance and resource behaviour
Maintainability: how easy is it to modify the software
Portability: can the software easily be transfered to another environment, including installability

Almost all these attributes are non-functional. However it is not uncommon that software requirements and testing activities are mostly focused on functionality. Problems with nonfunctional requirements detected late in the project can have a major impact on the schedule. Often significant changes have to be done on the architecture to resolve non-functional quality issues.
Use quality attributes to specify the required product quality, both for software development and software evaluation. For example select the top 3 attributes and define them Specific, Measurable, Acceptable, Realisable, and Traceable (SMART).
Do you give enough attention to the non-functional requirements of your development project, and are you using the relevant review and testing techniques to verify and validate the non-functional requirements ?

No comments: