Recently I heard a tester venting about their developer. It seems this developer routinely complains that the tester keeps him from doing his job: “You never let me add features! You always say no! If it wasn’t for you I would be up on stage demonstrating all this nifty keen stuff!”
The developer might be hearing “You can’t add that feature”. Or they might be hearing “I do not have time to look at a new feature right now”. Or they might be hearing “I do not think that feature is worth doing”. Or they might be hearing something else. Whatever they are hearing, it almost certainly isn’t what the tester means to say.
Similarly, when the developer says “I want to add this feature” they might mean “This fix bugs part of the project bores me out of my mind! I write high quality code and so don’t have any defects to fix, and I want something to do!”. Or they might mean “I hate fixing bugs, even if they are my own garbage. I am above all that.” Or they might mean “This feature is tiny yet it will launch our product light years ahead of our competitors!” Or they might mean something else.
If the developer and tester start checking out what they hear – “I hear you saying you will not allow me to add this feature. Did I hear correctly?” – any differences between what one person intends to send and how the other person interprets what they receive will come to light. Both sides can then work to come to a common understanding.
If this sounds like a lot of work, it is. I find it so, anyway. First I have to pay attention to what I actually hear rather than to what I think I hear. Then I have to pay attention to how I decide what it means. Then I have to ask the other person if what I think it means is what they meant it to mean. I find this work to be repaid by my confidence that I understand the conversation identically to the other party. Experiment with it yourself and let me know how it works for you!
*** Want a fun job on a great team? I need a tester! Interested? Let’s talk: Michael dot J dot Hunter at microsoft dot com. Great testing and coding skills required.