Quality requirements

When I talk of Quality requirements, I mean a subset of Non-functional requirements.

IREB defines a quality requirement as:

A requirement that pertains to a quality concern that is not covered by functional requirements.

I am not so happy about the second half of the definition (“that is not covered by functional requirements.”). While it is true that functional requirements may address some quality concerns, that doesn’t stop a non-functional requirement which addresses the same quality concern from being a quality requirement, in my opinion. It just means that you may have duplicate requirements.

Tom Gilb, in his book “Competitive Engineering” defines a quality requirement as follows:

A quality requirement expresses ‘how well ’ a system will perform.

This is a simple and useful definition, provided you take a broad interpretation of “perform”. Perform in this context does not mean “performance” in the sense of throughput or response time. Instead it refers to any aspect you care about: how well a system performs with respect to usability, security, availability, performance, learnability, etc.