Skip to main content

In Two Minds


Jerry Weinberg's definition of quality is well known. It is generally applied to encapsulate a relationship between a person and a product, at a particular time, and goes like this:
Quality is value to some person
It is intended to be a practical tool, and I think Weinberg would agree with something like this as a gloss for it: theoretical assessments of quality — perceived quality — are less important than those which are motivated by action. For example, a property is worth what someone actually pays for it. Without the action, it's just philosophy. What someone is willing to pay, or sacrifice, determines the quality (to them) at that moment.

I've thought about this definition a lot over the years. In particular I've found myself speculating about the granularity of the definition. Back in 2012 I was wondering whether it was interesting to consider quality in terms of the aggregation of a set of qualitiesmore recently I was thinking about the way that product quality and its effect on quality of life might be interesting; and just now I've been worrying away at the possibility of holding conflicting views of the quality of a product at the same time.

Although there are numerous examples in Weinberg's work of multiple people with differing opinions of a product at once, I haven't found any where a single person has that. Here's one relevant extract, from Quality Software Management volume 1, page 5:
For different persons, the same product will generally have different "quality," as in the case of my niece's word processor. My [complaint about a bug not being fixed] is resolved once I recognize that to [my niece], the people involved were her readers; and to [the word processor developer], the people involved were the majority of his customers.
One of the things I find intriguing is that the definition, and its common usage, together seem to suggest that a person is only able to assert or demonstrate or alter their assessment of the quality of a product at certain times: when they pay for the product, and when they are making use of the product. So I tried some thought experiments.

In the first, I imagined that I might be in a position to buy a Bentley:
  • I believe that the build standards of a Bentley are much higher than cheaper cars. I will pay more for higher build standard. This is a measure of value. As quality is value, I think the car is high quality.
  • I believe I would get no extra benefit from a Bentley over some other cheaper car, given how I use my car. So I won't pay a high price for a Bentley. This is a measure of value. As quality is value, I think the car is low quality.

And then I reflected:
  • I feel that I can hold these kinds of opposing views at the same time without problem (at least in some cases).
  • I speculate that quality can be a relationship between a person and product-attribute rather than a product.
  • My examples are couched in terms of belief rather than actual knowledge (I have never even sat in a Bentley)
  • ... so to Weinberg I've really I've got a statement about perceived value, if anything, here.
  • Perhaps related, quality assessment of wants (I'd love a Bentley) could be different to needs (I have to have some personal transport).
  • Is there always, ultimately, some overriding single attribute of quality that wins out for any given person, at a given time, and so multiple perceived qualities collapse at the point of use into a single assessment?
  • Or perhaps simultaneity is a false perception here. Maybe I am switching between views — very rapidly — and only hold one at any given time.
  • Another angle: when I consider two contexts of use, or aspects, or applications of a product, could I really be considering effectively two different products?

I tried another scenario, which attempts to take belief and perception out of the equation by using a more mundane product that I have personal experience of. Let's say I have bought a new pen and I want to use it for two tasks: taking notes while standing up and taking notes while suspended by my feet.
  • The pen is suitable for the first task and I am very happy with the price I paid. I say this is a good quality pen.
  • The pen is not suitable for the second task. I had to keep inverting it to let ink run back to the nib end, which I am unwilling to do any longer. I say this is a low quality pen.

More thoughts:
  • At the point where I pay for my pen, by Weinberg's model, I make an explicit statement about the quality of the pen for me.
  • Unintuitively, perhaps, if I've never used such a pen before this is based only on my perception of the value the pen will return to me
  • ... so perceived quality can turn into actual quality with no additional evidence to back it up
  • ... and, on engagement with the pen, I might rapidly revise my opinion.
  • Once I've paid for it, I express my view of the quality of the pen by the extent to which I am prepared to sacrifice to use it
  • ... and (if I understand the model) effectively the only time at which I can express this view is at the point of use
  • ... because at other times I merely express a perception of what I would do when I came to use it
  • ... and so can I change my expression of the quality of the pen without using it?
  • For example, can I express an opinion on quality by choosing not to use something?
  • ... but then how to distinguish between something that I happen not to use and something that I actively don't use, and something that I use only occasionally but is perfect for a particular task?

And then I stopped and dumped my notes here, after pondering how much I was prepared to sacrifice to continue this particular line of thought at this time.
Image: https://flic.kr/p/B7gwWJ

With thanks to Jerry for patiently listening to me trying to make some kind of argument along these lines in email, and then patiently declining to agree. And also to Å ime for prompting more thoughts when I was going round in circles.

Edit: Simon Morley followed up his comments on this post with  Quality-Value: Heuristic or Oracle?

Comments

Simon Morley said…
Thought-provoking. Here’s a few thoughts:

1. I read this and wondered if the quality-value relationship is one way and not two way - meaning that whilst quality can be determined from a perceived value, it might be harder to deduce value from perceived quality - but I can’t think of any good examples…

2. Just as quality and value can be a relation between a person and a product attribute, it can also be a relation between companies - i.e. company relationship and trust. A company relationship can have value and so quality.

2.1 This partly goes to the point or being able to value something you haven’t tried - e.g. a Bentley - as you may value (trust) the company.

2.2. I don’t think Jerry’s statement really captures the inter-company value & quality dimension**. It is meant more in a B2C rather than B2B context (or even B2B2C). It could be interesting to delve into B2B aspects to see if the statement holds true - I speculate it doesn’t, and so another variant would be needed. [B2C-Business to Customer, B2B-Business to Business, B2B2C-Business to Business to Customer] - I know someone could counter this and say there’s always some stakeholder in a B2B case that is the “some person”, but I don’t find that so convincing.
**I actually think the original motivation of Jerry’s statement was to highlight the subjective nature of quality, so I shouldn’t try to put too much utility on the statement and be disappointed when it fails…

3. Quality and value are transient I suppose. Meaning they are always relative to a situation and point in time. You might have thought that Windows95 was the best until Windows98 came along, for example. This is another reason why applying the mantra to a B2B relationship is more problematical. It’s also a reason (IMO) for not needing the “at some time” that sometimes gets added onto “quality is value to some person” statement.

4. In what scope is the “quality is value to some person” used in sw testing? I don’t know if it really matches Jerry’s original intent. I think it has been used to find a responsible stakeholder to discuss test results & objectives with, and probably also to aid testers to explain that they are not the sole arbiters of quality.

4.1. I read the intent (from Jerry’s QSM) as highlighting a relationship and a perspective (i.e. subjective rather than objective) - which by nature can’t (usually) be static. I haven’t really seen/read of anyone applying it from this perspective to sw testing. I wonder how it would look…
Anonymous said…
Hello,
interesting thoughts about models and quality.
Since you are talking about making decisions based on quality or quality attributes there's one area which so far has been neglected - emotions. Based on our personal values and biases we decide and that includes decisions about quality.
I'd challenge you to tell me of a work related situation where a decision about quality was not based at least partially on the emotions of the decision maker. I'd be very interested if you have an example.
While people try to remove emotion out of it, some by using metrics, some by creating models, etc this won't be entirely possible as software development and testing is an inherently social activity. And it's good that it is that way.

Jerry's statement was appended to
Quality is value to some person 'who matters' 'at some time'
The latter part I believe was appended by Markus Gaertner a couple of years ago. These parts consider some of your thoughts, for example the changing value of quality over time.
James Thomas said…
Thanks, Simon. I would love to see you write this up.

A bit more discussion here.
James Thomas said…
Cheers, Thomas. I'd love to see you write this up.

I think I first saw "at some time" as part of Michael Bolton's more general Relative Rule, which was inspired by Weinberg's definition of quality.

Weinberg himself has written on the "who matters" part - itself subject to the relative rule - e.g. in this piece extracted from SQM volume 1 he talks about the political dimension.

A bit more discussion here.

Unknown said…
I really liked this post for several reasons. One of which was the angles and depth at which you considered the singular idea: Quality is value to some person.

Kudos!

Here are a few thoughts that occurred to me, while reading the post an comments:

|quality can be a relationship between a person and product-attribute rather than a product.|
I agree, and think that this tweet might be relevant: https://twitter.com/dsynadinos/status/847106060636880896

|Is there always, ultimately, some overriding single attribute of quality that wins out for any given person, at a given time, and so multiple perceived qualities collapse at the point of use into a single assessment?|
I'd guess that, instead of a "single, overriding attribute", final assessments are made through a composite/average of the assessments of all considered attributes to that point.

|Or perhaps simultaneity is a false perception here. Maybe I am switching between views — very rapidly — and only hold one at any given time.|
This made me remember studies regarding multitasking. I don't believe "true", "actual" multitasking is possible (that is, I think that consciously processing 2 thought streams at the exact same time is impossible). However, in this instance I wonder if "true multitasking" vs. "rapid switching" matters, at all? Maybe it might, if the last thing considered is somehow held in higher regard (some sort of recency bias)?

From the comments:
|there's one area which so far has been neglected - emotions|
The importance of considering emotions in software is the focus of my recent work. See http://www.softwaretestpro.com/the-hidden-requirements-exploring-emotions-with-placebos/ In it, I come to some conclusions that are in-line with the observanttester suggestions: that emotions are the driving force behind what we think, say, or do.
John Grant said…
As an engineer I think I see quality in terms of meeting a specification, and also robustness. X is higher quality than Y if it meets a higher (or tighter) specification, or meets it under more demanding conditions.

I'd definitely say the Bentley is higher quality than the cheaper car. The question is whether the value of that extra quality to you is worth the higher price.
James Thomas said…
In that world, the arbiter of quality is the writer of the specification and, I think, you want quality to be entirely objective. (Let's assume that it's possible to measure all the dimensions in which the specification requires something of the product, and that the specification is sufficiently exhaustive that there are no grey areas that matter here.)

If that's the case, then it seems that a judgement on quality cannot differ across people or time or contexts.

While you certainly can define quality in such a way that that's the case, it doesn't sit well with reality as I see it. My kids and me differ on the quality of the 1960's Batman TV series, to give just one example. (But we assume it met its spec sufficiently, as it was recommissioned a couple of times.)

An approach that locks quality down shifts the question to some other concept. You used value, and Weinberg's definition does too.

I'd be interested to know how your view of quality handles those spec items that are less measurable, or are implicit. (Usability, say.)

Is it possible for you to have a view on the quality of something that has no specification?
John Grant said…
Maybe by "specification" I means someone's expectation or requirements. You, your children, and the film studio would probably have different ideas about that in the Batman example. And it could certainly have subjective components that are in the eye of the beholder such as usability.

On that level the quality of something would indeed be meaningless to someone who had no idea what they expected of it.

Popular posts from this blog

Meet Me Halfway?

  The Association for Software Testing is crowd-sourcing a book,  Navigating the World as a Context-Driven Tester , which aims to provide  responses to common questions and statements about testing from a  context-driven perspective . It's being edited by  Lee Hawkins  who is  posing questions on  Twitter ,   LinkedIn , Mastodon , Slack , and the AST  mailing list  and then collating the replies, focusing on practice over theory. I've decided to  contribute  by answering briefly, and without a lot of editing or crafting, by imagining that I'm speaking to someone in software development who's acting in good faith, cares about their work and mine, but doesn't have much visibility of what testing can be. Perhaps you'd like to join me?   --00-- "Stop answering my questions with questions." Sure, I can do that. In return, please stop asking me questions so open to interpretation that any answer would be almost meaningless and certa

Can Code, Can't Code, Is Useful

The Association for Software Testing is crowd-sourcing a book,  Navigating the World as a Context-Driven Tester , which aims to provide  responses to common questions and statements about testing from a  context-driven perspective . It's being edited by  Lee Hawkins  who is  posing questions on  Twitter ,   LinkedIn , Mastodon , Slack , and the AST  mailing list  and then collating the replies, focusing on practice over theory. I've decided to  contribute  by answering briefly, and without a lot of editing or crafting, by imagining that I'm speaking to someone in software development who's acting in good faith, cares about their work and mine, but doesn't have much visibility of what testing can be. Perhaps you'd like to join me?   --00-- "If testers can’t code, they’re of no use to us" My first reaction is to wonder what you expect from your testers. I am immediately interested in your working context and the way

The Best Programmer Dan Knows

  I was pairing with my friend Vernon at work last week, on a tool I've been developing. He was smiling broadly as I talked him through what I'd done because we've been here before. The tool facilitates a task that's time-consuming, inefficient, error-prone, tiresome, and important to get right. Vern knows that those kinds of factors trigger me to change or build something, and that's why he was struggling not to laugh out loud. He held himself together and asked a bunch of sensible questions about the need, the desired outcome, and the approach I'd taken. Then he mentioned a talk by Daniel Terhorst-North, called The Best Programmer I Know, and said that much of it paralleled what he sees me doing. It was my turn to laugh then, because I am not a good programmer, and I thought he knew that already. What I do accept, though, is that I am focussed on the value that programs can give, and getting some of that value as early as possible. He sent me a link to the ta

Beginning Sketchnoting

In September 2017 I attended  Ian Johnson 's visual note-taking workshop at  DDD East Anglia . For the rest of the day I made sketchnotes, including during Karo Stoltzenburg 's talk on exploratory testing for developers  (sketch below), and since then I've been doing it on a regular basis. Karo recently asked whether I'd do a Team Eating (the Linguamatics brown bag lunch thing) on sketchnoting. I did, and this post captures some of what I said. Beginning sketchnoting, then. There's two sides to that: I still regard myself as a beginner at it, and today I'll give you some encouragement and some tips based on my experience, to begin sketchnoting for yourselves. I spend an enormous amount of time in situations where I find it helpful to take notes: testing, talking to colleagues about a problem, reading, 1-1 meetings, project meetings, workshops, conferences, and, and, and, and I could go on. I've long been interested in the approaches I've evol

Not Strictly for the Birds

  One of my chores takes me outside early in the morning and, if I time it right, I get to hear a charming chorus of birdsong from the trees in the gardens down our road, a relaxing layered soundscape of tuneful calls, chatter, and chirrupping. Interestingly, although I can tell from the number and variety of trills that there must be a large number of birds around, they are tricky to spot. I have found that by staring loosely at something, such as the silhouette of a tree's crown against the slowly brightening sky, I see more birds out of the corner of my eye than if I scan to look for them. The reason seems to be that my peripheral vision picks up movement against the wider background that direct inspection can miss. An optometrist I am not, but I do find myself staring at data a great deal, seeking relationships, patterns, or gaps. I idly wondered whether, if I filled my visual field with data, I might be able to exploit my peripheral vision in that quest. I have a wide monito

ChatGPTesters

The Association for Software Testing is crowd-sourcing a book,  Navigating the World as a Context-Driven Tester , which aims to provide  responses to common questions and statements about testing from a  context-driven perspective . It's being edited by  Lee Hawkins  who is  posing questions on  Twitter ,   LinkedIn , Mastodon , Slack , and the AST  mailing list  and then collating the replies, focusing on practice over theory. I've decided to  contribute  by answering briefly, and without a lot of editing or crafting, by imagining that I'm speaking to someone in software development who's acting in good faith, cares about their work and mine, but doesn't have much visibility of what testing can be. Perhaps you'd like to join me?   --00--  "Why don’t we replace the testers with AI?" We have a good relationship so I feel safe telling you that my instinctive reaction, as a member of the Tester's Union, is to ask why we don&

Postman Curlections

My team has been building a new service over the last few months. Until recently all the data it needs has been ingested at startup and our focus has been on the logic that processes the data, architecture, and infrastructure. This week we introduced a couple of new endpoints that enable the creation (through an HTTP POST) and update (PUT) of the fundamental data type (we call it a definition ) that the service operates on. I picked up the task of smoke testing the first implementations. I started out by asking the system under test to show me what it can do by using Postman to submit requests and inspecting the results. It was the kinds of things you'd imagine, including: submit some definitions (of various structure, size, intent, name, identifiers, etc) resubmit the same definitions (identical, sharing keys, with variations, etc) retrieve the submitted definitions (using whatever endpoints exist to show some view of them) compare definitions I submitted fro

Vanilla Flavour Testing

I have been pairing with a new developer colleague recently. In our last session he asked me "is this normal testing?" saying that he'd never seen anything like it anywhere else that he'd worked. We finished the task we were on and then chatted about his question for a few minutes. This is a short summary of what I said. I would describe myself as context-driven . I don't take the same approach to testing every time, except in a meta way. I try to understand the important questions, who they are important to, and what the constraints on the work are. With that knowledge I look for productive, pragmatic, ways to explore whatever we're looking at to uncover valuable information or find a way to move on. I write test notes as I work in a format that I have found to be useful to me, colleagues, and stakeholders. For me, the notes should clearly state the mission and give a tl;dr summary of the findings and I like them to be public while I'm working not just w

Make, Fix, and Test

A few weeks ago, in A Good Tester is All Over the Place , Joep Schuurkes described a model of testing work based on three axes: do testing yourself or support testing by others be embedded in a team or be part of a separate team do your job or improve the system It resonated with me and the other testers I shared it with at work, and it resurfaced in my mind while I was reflecting on some of the tasks I've picked up recently and what they have involved, at least in the way I've chosen to address them. Here's three examples: Documentation Generation We have an internal tool that generates documentation in Confluence by extracting and combining images and text from a handful of sources. Although useful, it ran very slowly or not at all so one of the developers performed major surgery on it. Up to that point, I had never taken much interest in the tool and I could have safely ignored this piece of work too because it would have been tested by

Build Quality

  The Association for Software Testing is crowd-sourcing a book,  Navigating the World as a Context-Driven Tester , which aims to provide  responses to common questions and statements about testing from a  context-driven perspective . It's being edited by  Lee Hawkins  who is  posing questions on  Twitter ,   LinkedIn , Mastodon , Slack , and the AST  mailing list  and then collating the replies, focusing on practice over theory. I've decided to  contribute  by answering briefly, and without a lot of editing or crafting, by imagining that I'm speaking to someone in software development who's acting in good faith, cares about their work and mine, but doesn't have much visibility of what testing can be. Perhaps you'd like to join me?   --00-- "When the build is green, the product is of sufficient quality to release" An interesting take, and one I wouldn't agree with in general. That surprises you? Well, ho