I often use a pithy phrase I picked up from Michael Bolton many moons ago (which he himself picked up from David Platt author of Why Software Sucks) to help people understand the relationship between software quality & it’s users / customers
I’ve been using it a lot recently, so thought I’d share it here

Here’s the phrase as I remember it:
“People don’t want to use your software, they want to have used it” (Source - David Platt)
This is how I interpret & use the message: as much as we think our customers will just love navigating our website or product, that isn’t their goal. Our software is merely a means to achieving their actual goal (like buying a birthday present, checking their bank balance or paying a bill).
A Picture Hanging Analogy
Michael brings this idea to life with the analogy of hanging a picture - in order to get to the outcome of visual beauty on your wall, you (by & large) need to drill a hole. Most of us don’t want to use a drill, we choose to use it in order to get a picture on the wall in a timely manner.
Sidenote - the use of a drill is a fantastic analogy of tools / automation helping humans, but that’s another story…
This message is powerful itself as it helps build empathy with your customer & makes you realise just where you as a software development team sit in the customer journey.
The Number one Diagram of Testing
I find it gets more powerful when combined with James Lyndsay’s “number 1 diagram of testing” (video description):

James’ model suggests that the software we build doesn’t always deliver what was asked for (expectations / requirements not met), whilst we also build stuff which wasn’t asked for in order to meet the requirements (think of the tech stack needed to display content on a responsive web page).
It’s in this area of actual system delivered which doesn’t cover the expectations where we explore for risk.
(yes, you can add more to this diagram, such as need or information, but I’m not doing that here)
Extending The Picture Hanging Analogy
It’s not just a drill we need to use in order to hang a picture.
We also need use appropriate rawlplugs & screws for the wall material, wire & hoops for the picture.
If we’re hanging a picture for our partner, or relative, they are our customers of our picture hanging service.
They don’t care about the tools or fixings used to hang the picture.
They want to have used those tools & fixings in order to get their picture on the wall.
Here’s the kicker - all those tools & fixings can fail!
James’ diagram invites us to explore the risks with those tools & fixtures that were not asked for (expectations) but which are required to have the picture.
If those tools or fixtures fail, then Aunty Joan isn’t going to have her picture on the wall!
Test your stack!
Our shiny websites are built on tech stacks of imported frameworks developed by other fallible humans - there’s risk in these frameworks which we need to be aware of & mitigate.
Want some examples? Here you go:
Developer removes his code from NPM - breaks half the internet (Left-Pad)
Cultura Colectiva exposes “millions of Facebook records”
End of life licences in 3rd party software & 3rd party network outage
Summary
Yes, it’s important your software product works as desired & helps solve your customers problems, but remember they don’t want to use your software, they want to have used your software.
Also, the software they’re using isn’t only the software they can see - they don’t care about your tech stack, nor the development efficiencies using 3rd party integrations… until that tech stack doesn’t work & your product no longer solves their problem.
I use this message & analogy with business & technical stakeholders as it bridges the communication gap & helps both lenses understand the problem.
Thanks for reading!
Duncs