Three Definitions of Quality
I listened to some of Robert Sabourin’s videos on testing and he shared three approaches to quality. I found that interesting since people mostly talk about quality but it’s rarely defined, so I’ll share those three definitions of quality in this post.
Quality as conformance to requirements
This one speaks about requirements. I find that tricky mostly because:
- not all requirements are explicit, there are many implicit requirements that some people might not be aware of unless they have a deep understanding of the product, domain, and users
- not even explicit requirements are easy to come by in many cases nowadays; writting documents is slow and there’s usually not time for that; obviously it depends on what company, product, or team we are talking about, but I have not experienced written requirements that many times
Quality as fitness for use
This definition emphasises that the product should fit the use case our users have.
Robert mentioned this is a popular view in many agile teams nowadays. I think I can agree with that. Many decisions are made in accordance with this definition.
There could be some problems with this definition as well, to mention a few:
- there are likely many different users; or to say it differently, not all users want to use the product in the same way, that could be the case only with some products are meant to solve a very particular problem
- if something is fit for use, it doesn’t automatically mean there are no problems and nothing can go terribly wrong; imagine that a user uses the product for what they need, so everything goes fine on the surface, but there’s a problem with backups — and so e.g. in an unlikely event of a ransomware attack, no backups can be used, the users will loose their data; it still makes sense to look for problems, not only for fitness for use
Quality as value to someone
Yet another definition that highlights that a product is made for people and they look for what value the product can deliver. I think that expression “someone” or “some person” makes it a bit more clear that there might be many different users and they might value different things.
If this is a definitions we use, I’d really want to understand what users might use our product. I’ve worked with personas and I think they fit in here well.
These are three definitions of quality. There might be other definitions. You might create your own definitions that your team and you use. I’d say it’s important to find one that’s shared among the people who are involved in developing the product. However, I don’t think it fundamentally changes how a tester works. I still think that testers have to look for problems. Yes, they adjust their approach a bit if one or the other definition of quality is used, but they still look for trouble.