I recently spoke with Deborah Preuss about Powerful Questions (read about that by clicking here) and it reminded me of a conference session that I attended several years ago about the dangers of testing software systems using mostly end-to-end tests. The way that James Shore and Arlo Belshee ran the session surprised me, and gave me a great idea that I’ve used in my own consulting work.
Instead of asking people what they didn’t like about using end-to-end tests, they flipped the question around. They asked us what we liked about end-to-end tests, what made them valuable to us, and what made them effective. I tend to phrase this as What’s to like about (this otherwise not-well-liked thing)? In small groups, we listed the attributes of end-to-end tests that we liked. It took us longer than we’d expected, which already surprised me, given that I found myself surrounded with people who, as I did, generally distrust relying on end-to-end tests.
James and Arlo didn’t stop there. After setting us up with the first question, they asked what, in retrospect, seems like an obvious follow-up. I imagine that they, like I, learned the question from Jerry Weinberg. They asked, How else can you get these benefits? I use this question frequently when working with clients who ask me to build the solution in their heads without letting me in on the problem they’re trying to solve. (I could write more about that, but not now.) You can think of the question in other ways, including “That’s pretty expensive; what else can I offer you?” or “We don’t know how to do that; if we did this, what part of your problem would remain unsolved?” My memory of the exact wording has faded, but I remember first reading it as “Are you willing to receive those benefits another way?” This question opens up options, dialog, and creativity, compared to assumptions, which tend to squash those things. As you might expect, we went on to list a handful of tools and techniques that we use to give most of the benefits that we appreciated about end-to-end tests. Our little group showed a lot of creativity, and we argued a lot about which of end-to-end testing’s benefits we’d live without. I felt energized walking out, mostly because on the way in I’d expected mostly to give advice, but on the way out I’d noticed that my colleagues has taught me a few things and quite helpfully reminded me of a few others.
These two questions made quite the difference, so I recommend them to you. Your team has at least one thing—technique, process, guideline, bureaucratic requirement—that they (mostly) universally despise. Don’t let them continually complain about it. Instead, gather them together, then ask them: What do you like about this evil thing? Let them answer. Allow for some silence. Let them answer further. Let them notice that they actually like this evil thing more than they think. Now, once they’ve got that out, ask them: What other things can we do to get all these benefits? You might stumble upon some very creative solutions. You might even realize that this evil thing delivers one key benefit without which you simply cannot live. Maybe that will help the team live with this evil thing after all. Either that, or someone in the corner will start subconsciously working on a fantastic solution to this seemingly-intractable problem. Wouldn’t that be great?!