SOFTWARE QUALITY is the degree of conformance to explicit or implicit requirements and expectations.
- Explicit: clearly defined and documented
- Implicit: not clearly defined and documented but indirectly suggested
- Requirements: business/product/software requirements
- Expectations: mainly end-user expectations
Note: Some people tend to think of quality as compliance to only explicit requirements and not implicit requirements. We tend to think of such people as lazy.
Definition by IEEE
- The degree to which a system, component, or process meets specified requirements.
- The degree to which a system, component, or process meets customer or user needs or expectations.
Definition by ISTQB
- quality: The degree to which a component, system or process meets specified requirements and/or user/customer needs and expectations.
- software quality: The totality of functionality and features of a software product that bear on its ability to satisfy stated or implied needs.
As with any definition, the definition of ‘software quality’ is also varied and debatable. Some even say that ‘quality’ cannot be defined and some say that it can be defined but only in a particular context. Some even state foolishly, yet confidently, that ‘quality is simply a lack of bugs’. Whatever the definition, it is true that high quality is something we all aspire to.
Software quality has many dimensions. See Dimensions of Quality.
Did you skip to this section because you were too lazy to read or do you want a recap? If yes, watch and listen to our video below on Software Quality: