(Software) Quality is…

Jonathan Craig
2 min readJul 20, 2020

Not Lying to Users

It’s not easy to talk about what “Quality” means objectively.

Most people will say “Quality is a subjective measure”, and to a certain extent, they’re right.

You can’t take a count of all unresolved bug tickets for your project and make any kind of determination about the quality of your project, product, service, whatever; it doesn’t work that way.

Equally, you can’t gauge “Quality” based on how things “feel” while using your service, system, app, whatever.

But why does it “feel” like you can at least get a sense of “Quality” through low resolution user experience? What is at the root of why software feels “clumsy”, or “broken”, or “clunky”?

“Lies”, that is what sits at the core of a products measure of “Quality”.

Is there a button that exists somewhere on your interface that doesn’t do anything yet? Does that button have a cool wave effect that indicates that it’s been clicked yet nothing actually happens?

In your publicly published API, is there an old (yet still documented) GET endpoint you’ve forgotten about which returns a 200 status code but doesn’t contain any content data as your documentation states it will?

Or how about this…

Has a feature in your software ever functionally worked yet somehow still showed a benign error to the user, an error that kind of sounds scary but can/should be ignored by them?

Rightly, you might consider all of these examples “Quality problems”.

But let’s call them what they really are.

Lies

How much is your software lying to people? How many false impressions do your users have about how your software works? How many features or elements of features are in the wild which mislead your users in some way?

“Lies”, this is where the lack of quality comes from, not from bugs. Bugs are mistakes we didn’t mean to make; things we didn’t think about in advance.

Take a long look at your product, project, service, app, whatever. Look for where what you’re presenting to users is lying to them; use the loosest definition “a lie”.

If you care about Quality in what you build and you choose to look at how your software is lying to your users, you’ll never look at software the same way again.

If you truly care about Quality, you’ll want to stop lying.

--

--

Jonathan Craig

Blurr, The Wizard of Gwendolyn, Disciple of Experience.