TL; DR: Words matter. By casually asserting that testers prevent issues, we are contributing to the continued misconception of what testers do, and damaging the “tester brand” by setting ourselves up for failure.
Stop telling testers to prevent issues
In the last two days, I’ve seen two separate pieces suggesting that testers should prevent issues.
In a job description I was sent:
#tester job desc:
"Key Tasks: Prevent issues
Key Competencies: Attention to Detail – not applicable"
WOW! Hard to pick just one gif.. pic.twitter.com/Ra9tl7KtO6
— Cassandra H. Leung (@Tweet_Cassandra) March 22, 2017
And in an article about shifting from catching bugs to preventing bugs, that I’d like to assume was well-inteded.
I strongly believe that testers should be involved in the software development lifecycle as soon as possible – testing the ideas, assumptions and requirements before any code is even written. However, asking questions and raising concerns early is not the same as preventing issues; it’s foreseeing them. We try to predict issues by applying our knowledge, experience, intelligence, analytical skills, and instincts (AKA: Spidey senses).
Do you really think testers can prevent issues?
If I make a recommendation not to go ahead with a particular feature or implementation (giving reasons why) and the product owner / stakeholder / developer decides to go ahead anyway, only for it to cause issues / bugs, I have not failed to prevent issues.
I was never in a position to prevent them in the first place, as it was not up to me to decide what should be implemented, or how. I’ve done my job in predicting what issues might arise and giving the relevant parties the necessary information to make their decision(s).
Being a tester does not give me the ability to control the actions of my colleagues any more than living in Scotland gives me the ability to control the actions of my neighbours. In the same vein, weather experts can predict rain and advise you carry an umbrella, but they can’t stop the rain from falling, or force you to carry an umbrella.
To me, shifting left isn’t about testers preventing issues; it’s about consulting with testers earlier so we can provide valuable insight and predict issues before they arise. Even this isn’t a complete safe-guard against finding bugs before or after release to production, or else there would be no need to test the actual software.
What do you actually mean to say?
By casually asserting that testers prevent issues, even if that’s not what we really mean, we are contributing to the continued misconception of what testers do, and damaging the “tester brand” by setting ourselves up for failure when we inevitably do not prevent issues.
By talking about ourselves in this way, we’re making it okay for others to talk about us this way.
Am I just being picky? I don’t think so, but of course I wouldn’t. Let’s look at this from a different angle…
In the case of someone asking, “Can I borrow your pen?” vs “May I borrow your pen?” you could say it was obvious that it’s technically possible and assume that they were actually asking for permission, even if they specifically used “can”.
But what about a requirement stating that the number of active users should be “≥ 0” vs “> 0”. Would it be okay to assume that there should never be 0 active users and disregard what has actually been requested? What if this meant that customers could never close their account, and would always be billed for at least 1 user? That could be a pretty serious bug, all because you assumed to know what was “really” meant.
So, when is it okay to assume you know what someone “really” means, and when should you pay attention to the specific words they’ve used? Perhaps more importantly, when is it okay to expect people to know you that you didn’t really mean what you said? I’d argue never.
If we want people to understand what we’re really trying to say, then we must consistently endeavour to use words that most closely reflect what we really mean, as difficult as this can be.
Using the right words could be especially helpful to those prone to taking things literally. Whether that’s because they’re speaking in a language that is not their native language, they have a condition which makes it difficult for them to detect things like sarcasm, or they practice active listening in an effort to apply less of their own bias to your message. Can you really blame someone for misunderstanding you because they listened to what you actually said, instead of what they expected you to say?
Where else do words matter?
Words matter in a lot of contexts, but the other one I want to highlight is in discrimination. In racism, sexism, homophobia… I think it’s important to acknowledge that the words we use matter even more so here.
It always disappoints me when a good person casually uses a derogatory term. Even if no ill will is intended, hearing a good person use harmful words subconsciously makes people think that it must be okay to say, because this kind person is doing it.
Ultimately, this is how we end up with whole communities of people who genuinely think it’s okay to talk about entire groups of people in a derogatory manner. We all contribute to that.
I’d really love to know your thoughts on this. Please share them in the comments.