Stop selling gold when all you've got to offer is a process

Stop selling gold when all you've got to offer is a process
Photo by Johnny McClung / Unsplash

I know that bullshit has won. Nobody in mainstream software developments gives a damn about craftsmanship anymore, as they've all put their faith into the big sloppification machine. Software engineering? Nope, that's for suckers.

The only thing left for me to do is to write, to yell at clouds, and then hope that there are still a few people with morals and values out there. People who do mean well, but perhaps don't take care what words they use to describe what they do.

Words matter, especially when it comes to describing software testing. When you look at what testing realistically can do, you see that it's a tough marketing message.

Yes, with testing we'll look for problems, but we cannot guarantee that we've found them all. It could be that we missed a pretty big one!

The best we can do as testers is promise that we will use a "best we have at the moment" kind of process, that is inherently flawed because software development is inherently flawed and to a certain degree, unpredictable.

The process should focus on doing as much testing as possible because that is when we learn most about the product. As little time as possible should be spent on the meta-stuff: writing test cases up front, endlessly talking about what testing should comprise of, writing test plans that span too many pages, etc. The "flawed-but-best-we-have-process" I'm talking about has a name: the Context-Driven Testing Approach.

If this is the first time you hear about Context-Driven Testing, it can be cool to quickly read the guiding principles.

It's up to the individual tester to shape this approach given the context they are working in. Shaping this approach into a process that works in your current context is one of the joys in software testing. It requires working at a company where you have agency, responsibility and autonomy.

So much about the ideal situation as I see it, let's see what the real situation is in too many places, as sold by too many people. Testing is sold as gold, the gold being:

  • quality assurance
  • certainty
  • confidence

The claims are made because wrangling software testing into a Magic Process™️ (TMAP, ISTQB) makes it easier to sell. This is what the people in the Factory School want you to believe about testing.

The appeal is clear, the marketing message is a lot easier too. Who doesn't want guaranteed quality, more certainty, more confidence in their software? I would!

The thing is, I'd rather believe in things that are actually possible, not bullshit. Testing can't do all this. Testing quality in is a myth, testing doesn't provide certainty or confidence, and also doesn't assure quality.

To repeat: the best we have is an imperfect process and a mission to support the business in finding the problems that threaten the value of the product. We'll tell compelling stories about our findings, but after that it's up to the business to decide what to do with this identified risk.

Yet, so many testers call themselves QA, claim their work provides confidence and certainty. Why? I see these possible reasons:

  • they care less about words. Like I said earlier in the post, words matter a lot. Being precise with words shapes how people think. When you say you can assure quality (because you claim that as your job title), then you give the impression that this is possible. If that is not your intention because you agree with my above points: please change your job title! Being "just" a tester is perfectly fine!
  • some people do believe in selling gold. Some testers actually think that testing is correlated to quality, assurance, confidence. These people probably won't read this post. They'd have no qualms calling themselves QA, though. They make the problem bigger for the rest of us.
  • the marketing message makes it easier and that's why they do it. It's hard not to feel empathy for this reason, as it can be difficult enough to get people to care about testing. On the surface, it's easier to sell testing when you claim it solves a very tangible business problem. Say you can provide certainty and confidence, sell it, and then....FAFO when reality doesn't play out like that?

In my opinion, it's irresponsible to link testing with quality, assurance and confidence. It gives a false impression. At worst, it opens you up to being blamed when reality doesn't match the gold that is being sold.

As I said in the opening sentence: I know bullshit has won. I know that at large, companies don't care what testing can or cannot do. They keep buying the fake gold. Then there's another set of companies that have thrown testing away completely because they don't see the value it brings; they know that assurance and confidence are lies. Testing is seen as a cost only, too slow, too bloated. These are usually companies that embraced DevOps, and we all know that the T in DevOps stands for Testing...

Quality at speed
When you browse LinkedIn, you mostly see people drone on about “AI”: How it made them more productive without sacrificing quality. How they fear the pace at which things (tools) are changing and whether they can adapt to what is expected of them (by management, or self-inflicted fear from reading

I don't have a big fix, other than to ask you to stop aiding in selling the fake gold. If you work in software testing, call yourself a tester: be clear about what testing can and cannot do. Don't claim that testing leads to better quality, more confidence, or that it can assure things.

The work of developers is more related to improving quality compared than the work of testers. I mean, how can finding problems on its own improve the quality? There is something missing here, do you see what? Leave a comment if you know what I mean!

By making "confidence as a service" your goal, you are muddying the waters. Finding problems and telling stories about those problems to the people who matter is our goal. When I test, I often find that I have less confidence in the product than before, but I am not in the "insecurity as a service"-business. I'm in the story telling business, if I had to choose a business at all.

Please do you part to not add to the giant amount of bullshit that's so prevalent in the big tech and software testing discourse these days. Don't sell gold when all you've got to offer is a process as a service. Thank you.