The Answer Will Hit You Like A Ton Of Bricks
Question: Would you rather be hit by a ton of feathers or by a ton of bricks?
Most people answer "A ton of feathers". Some people - usually ones who have been accosted by this question before - answer "It doesn't matter, a ton is a ton".
I answer "It depends!" (Are you at all surprised? <g/>)
If the ton of bricks are stacked on a pallet and the ton of feathers are loosely gathered in a bag hundreds of feet on a side, I'll take the feathers. (And an oxygen mask so I don't suffocate while I burrow out from under them.)
If the feathers are compressed into a one foot cube and the bricks have been powdered, I'll take the bricks. (And a breathing filter so I don't suck all that brick dust into my lungs.)
If I have time to dig a trench first so nothing actually touches me, I don't much care which is dropped on me.
If I can arrange to receive only a glancing blow I'll take the feathers, since they are likely to hurt less. Unless the feathers are made out of lead and the bricks are made out of Styrofoam, in which case I'll take the bricks.
If I spent all morning plucking chickens for the family reunion feast I may choose the bricks simply because I am sick of feathers. Or I may choose the feathers because I have become inured to them by then. Or I may be so exhausted that I don't care.
You might consider this a rhetorical question, since we are not generally in danger of having tons of anything dropped on our heads. Even so, there are lessons to be learned here. I have not yet found a question whose answer does not depend on its context. Some possibly more relevant examples:
- Should you automate your testing? Always! Never!
- Might model-based testing be helpful? If you are testing a random number generator, then probably not.
- Do you need a tester on your team? Not if your developers never write a bug or misunderstand your specifications. Not if your customers want your software so badly they are willing to do your testing for you. Not if you don't care whether your product contains customer-losing bugs.
- Must you scrub before surgery? Not if the patient is more likely to die if you take the time to do so. Not if you are already scrubbed. Not if the surgery is a computer-based simulation.
As testers it behooves us to remember that there are almost always reasons to do and to not do any particular action. Yes, even to log a bug, fix a bug, or ship a bug. The next time you are about to raise a ruckus over a bug being Won't Fix'd or some other stupendously insane decision, take a moment to think of some reasons why the decision could actually make sense. (I guarantee there at least three reasons; probably there are ten or more.) Maybe this exercise will change your intent to protest, maybe it won't. Regardless, you will have taken some time to think, and that is (almost) always a good thing!
Comments
Anonymous
June 20, 2007
Hi Michael, Truly practical approach i would say. Your article is absolutely right when you say that answer depend on its context. I also am a follower of your belief. Regards, Madhukar.Anonymous
June 20, 2007
Well, you'd want to choose the one with greatest surface area. Simple, really....Anonymous
June 20, 2007
Wonderful! The answer is "It depends!" Context matters.Anonymous
June 20, 2007
Excellent one...I usually tend to fall back on getting into the customer's shoe when I look at a "Wont Fix" since that almost always help add context to the decision.Anonymous
June 21, 2007
What do you mean by "hit"? How fast are either the bricks or the feathers going in order to hit you? Is a millimeter per second considered "hitting speed"? What if the bricks hit you gently one at a time over a long period of time? What if you're in space? Will the momentum of the bricks/feathers transfer to you and thus send you, intact, sailing away (assuming, of course, that you have appropriate life support gear and it's working and it's not affected by the hitting objects, etc.)? And didn't Zeno postulate that one can never really be struck by either bricks or feathers since they first have to travel half the distance toward you, then half the remaining distance, and so on over an infinite number of halves, so they'll never actually reach you? Inquiring minds want to know... ;-)Anonymous
June 22, 2007
David: Thank you for digging into my context! People often become blind to their own context, taking for granted points which others do not automatically assume. As testers it is important (and hard!) for us to not become context blind. As for Zeno, although he is correct on a theoretical level, see how his theory translates into reality the next time you drop something on your foot! <g/> Rosyna: I think there are many considerations besides surface area. Density, for example. And the speed with which you are being hit, as David points out. The Rule Of Three applies here: if you think you have only a single factor to consider, there are at least two factors you have not yet identified!Anonymous
June 22, 2007
Context is certainly important, but what is even more important is getting the right context. In all the discussions related to context, mostly it is assumed that our understanding of the context is right, which might not be the case. How to find the right context is very important, as David figured out all the options were invalidated if context is changed from earth to space.Anonymous
June 22, 2007
Geek: Thanks for pointing that out! Any suggestions for finding the right context?Anonymous
June 27, 2007
Well, in my opinion, the way to find the right context is do what I do and ask a lot of questions. Sometimes the simpler (or stupider) questions lead to more insight than the more obvious ones (like "what are our business goals?" or "what does the customer say they want?") The thing that helps most in these situations is to include everyone who cares from both the provider side (the company, the project team, or the test team) and the consumer side (the customer acceptance test team, for example; not just the people who signed the checks for the solution but the people who are actually going to use it.) Everyone who has a stake must also have a voice. Have everyone vet the questions and the answers so that you can (as a group) begin determining the "right" context. That's easier said than done, though...Anonymous
June 27, 2007
I'd rather be hit by neather lung emphaziema is very serious matter. And I've been hit by a 1/2 ton.Anonymous
June 30, 2007
When it comes to context, there is no right or wrong answers! The same answer might be right or wrong depending on different contexts. So "It depends" is almost the safest answer for questions dependent on contexts. Wonderful post Michael! Thanks for making me think. :) Happy Testing... Regards, Debasis. http://software-testing-zone.blogspot.com/