When I worked with James Bach on a Satisfice project he would ask me uncomfortable questions about what I was doing and why I was doing it. He’d ask, “Tell me what this bug is at its core.” I’d say, “When I click this button, I get an error message instead of the dialog I’m expecting.”
“Why do you expect a dialog?”
“Because that’s how the app is supposed to work.”
“How do you know?”
“It worked that way another time.”
“Ahh, so there is an inconsistency between how it worked before and the way it works now. What is different? How do you know that they are not both right?”
What he needed me to get at was the clearest possible understanding of the issue, and the clearest and simplest expression of it. He imposed a 75-character limit on bug report summaries.
A typical progression of a bug report might go like this:
Error message appears after user selects calendar icon on application page
Calendar sometimes fails to load on application page
Calendar sometimes fails to load on any page
Calendar sometimes fails to load on low-RAM system (256MB)
All Java calendars fail to load when less than 50MB RAM available
I have found that I know when I have hit the core of a bug (or at least close enough). My mind comes to rest. Robert Pirsig describes the feeling very nicely in “Zen and the Art of Motorcycle Maintenance”: “the material and the craftsman’s thoughts change together in a progression of smooth, even changes until his mind is at rest at the exact instant the material is right.”
In t’ai chi we focus on the center of everything. The center of your weight, the tan tien, is the source of all your power. If you can control your opponent’s center then you can control his balance in push hands and you will win. When you shift weight you will shift it to the center of your foot and the center of your knee will travel straight over the center of your foot.
I read a book about Abraham Lincoln that described his mental processes as slowly but inexorably penetrating to the heart of every matter. He paid attention to all the sides of an issue, peeling back the layers of emotion and baggage that people allow to accumulate on an issue such as the continuance of slavery in America, while aiming over and over and over for the heart of the matter. He didn’t mind if he didn’t fathom it all at once, he was patient and confident that when he arrived at the core it would be evident. It is this grasp of the issues that led him to be such a fierce debater. His stance was always more deeply rooted than his opponent, who inevitably would grasp at an argument thinking it was the core that Lincoln had already peeled back for himself and exposed as more mere baggage.
Rapid Testers directly approach the areas of greatest risk, greatest uncertainty, least clarity, greatest fear and greatest neglect. These are the leverage points where we can be the most use in the least time. The proper attitude is humble and fearless. Like a great martial artist we understand that we must dispatch these enemies of quality as quickly as possible because although only one thing happens at a time, there are no guarantees about when the next thing will happen. There are no shortcuts to the center though. You aim and release your best energy at it – tests, weight shift, tai chi push – and then adjust as your feedback returns to you.
Oct 172008










“There are no shortcuts to the center though.”
I feel our industry (testing, but also software development in general) is focused on finding shortcuts. We don’t have enough people talking about developing focus (like you are here), skill (like James, Jon, and Michael do), or practice. I’m not a big methodology guy (in general I’m just as happy on an “Agile” project as I am on a waterfall project), but one of the things I find refreshing in the agile community is the focus on skill. There is little room in the methodology for people who can’t carry their own weight. I like that.
The progression of the bug report above, is a fantastic example of practicing/refining your craft while performing your everyday work. I love seeing examples of that. While I suspect testers won’t be able to do that with every bug they find, even doing it once or twice a week would pay off in the long run. Because over time you would do it naturally. Eventually the first summary you right will capture the essence of the problem.