I think it’s important that testers challenge each other. Through challenges of different kinds, we expose bad work, and discourage hand-waving.

Of course the basic rules of professional life and ordinary etiquette apply.

One kind of challenge is a “skill” challenge. These should be done light-heartedly, because otherwise they will boil with acrimony as the contestants argue about what constitutes “winning” etc. I do lots of challenges like these at testing conferences, during coaching sessions, or when friendly colleagues Skype me with a new exercise they are working on and want someone to try it.

Here’s how to make a challenge to a colleague, whether it’s me or anyone:

1. Suggest a task to be done.

2. Get agreement on the terms of that task, before starting.

3. Do the task.

I know, you’re saying to yourself “Isn’t this obvious?” Well, you might be surprised how easy it is for an eager young beaver to forget to do the second part.

In a recent email about a challenge that wasn’t negotiated with me, I wrote “I don’t know what’s going on here, guys. But I do know that I have not given my consent to whatever the fuck it is. It is downright bemusing to see random people appear from nowhere and rules made up without even talking to me.”

This is an example of me being angry. Anger is an emotion I sometimes experience when people violate basic rules of social and professional life. If you don’t want me to be angry about a challenge, then please respect step 2.

Alternative: The Open Challenge

You can, alternatively, offer an open challenge. That doesn’t require any prior agreement. Krystjan Uba has done that on his blog, here. I’ve done this challenge and it was a lot of fun. I am collecting and analyzing results from that challenge for a research project. If you try it, please share your results with me. I will share my results with anyone who does so. (Also, you may be acknowledged as a contributor to the book I’m writing about it).