Part 2 of James Bach TechWell Interview (exploratory)
What follows is the exploratory portion of the scripted questions I gave my brother James, which was published on Techwell here.
Notice that just as with exploratory testing, I react and change my next question (test) after I get the answer (the results of the previous test) because I want to know more about that thread.
I think it makes for more interesting reading (testing), too...
Jon: You said you "flip the bit" when you feel unable to control your temper. Do you think you have a temperament different than most in our biz?
James: Yes. I identify with Reepicheep, the mouse in the Narnia books.
Jon: I don't know him. Was he an impatient type?
James: He challenged people to a lot of duels.
Jon: What value do you see in dueling?
James: Killing the other guy, mainly, and making a reputation.
Jon: Let's say the other guy is a fool, but you cannot kill him. Is there a fear the fool could do something to a community you do not like? Let's say he represents an idea or a mindset you can't kill.
James: Oh, a metaphorical duel. Those are the kind I get to fight these days. There are different kinds of intellectual duels. One with fools: the ones that rile you. The kind most relevant to this conversation is one where, on the field of ideas, different ideas are vying for acceptance in a community. You "kill" the idea by rendering it unacceptable within that community, and that is a community decision. So, the means of battle is rhetoric (not the political, empty idea of "rhetoric," but rather the original meaning of the word: persuasive speech). At this point, it's probably important to remind our readers that I have no criminal record.
Jon: Is it fair to say you only care what is said about you by people within your community?
James: Yes, by definition. You could define community in many ways, but one defining characteristic is that my community is that set of people about whose opinions I care. This sounds insular, and it sort of is. But, how else can we go deep into a subject we wish to develop, except by risking loss of contact with people who are determined to be shallow? I do not create cliques; I refine paradigms that are shared by communities. Anyone who wishes to may join the community if they are interested in the work of those people. But, if the rest of us are playing chess, a checkers champion won't get far.
Jon: This brings me to a segue to a question I asked you in the scripted part. You say you only go to conferences to which you're invited. Let's say you were invited to a major, global dev conference with people you considered outside of your community. What would your keynote be to that community?
James: That happened this year at the ACCU conference, I did a talk called "Hello, I'll Be Your Tester Today." It was an introduction to programmers of how I think about testing.
What this is all about for me is integrity, quality of work, and pluralism. I don't care how messed up the rest of the field is-how many people are fooled into shelling out for some bogus certification, for instance-I'm just trying to establish an oasis where serious people can get down to doing good work. That's where pluralism comes in. I know I am not the arbiter of universal "good work" and "seriousness" and "integrity." Instead, we all must live in a pluralistic world, where no one can claim any special access to the truth. Therefore, I merely insist on a fair marketplace of ideas and the right of assembly with likeminded people.
Rex Black can peddle what he peddles, and I'll peddle what I peddle. Of course, I think my stuff is better, but it's not up to me. It's not like there is an International Board of Testing Qualifications that is mandated by the UN to decide these things, however desperately some people wish there were.
Jon: What would an unfair marketplace of ideas look like?
James: An unfair marketplace of ideas can come about in various ways. One is when a clique seeks to use bald-faced lies to sell its chosen medicine, and no one stops them. Another-and this is much worse-is when one clique attempts to create a standard or a law that gives it a special status. There is a testing standard being produced right now for ISO that completely ignores our side of the story, for instance. Not many people in Europe choose to become certified. Instead, they believe they cannot get work unless they submit to the ISTQB baloney. This then makes it harder for them to join my community, because I prefer not to associate with "certified testers." I don't want those cooties.
Jon: Why did you say "clique" and not "community"?
James: Oh, "community" is probably the better word. "Clique" means a closed community, but the people doing this might not be closed. I do associate with certified testers, as long as they don't seem to take their certification seriously.
Jon: If someone certified respects your work and your community and wants the street cred you think it has for them, what must they do?
James: They simply must step into the light and share something of what they are and what they know. "The light" means one of the forums that we participate in, such as the email@example.com group.
Jon: I asked you what kinds of classes the context-driven school would have if it were a brick-and-mortar university. You said, "It depends." OK, I walked into that one, but give me an idea then of what it depends on or what was in your head when you saw the question?
James: Oh, the question made no sense to me, so I was hoping to get out of it. It depends on an equivocation on "school."
Jon: I give you a grant to start Context-driven Testing University, a place like we're designing CAST 2011 to be, only year-round.
James: Well, that's different. I guess we would set up labs for testing stuff, and people would attend until they had gained enough of a reputation or had been hounded out of our midst with the academic equivalent of torches and pitchforks. We would test things for free and encourage a wide variety of products.
Jon: Is there a particularly vexing problem we could solve? Like that math problem from Good Will Hunting?
James: It's a little like solving a complicated political science problem-it's not about logic, it's about people and technology in specific circumstances. We don't really meet theoretical testing problems in the wild. The work of practical testing is mainly about identifying the practical problems you need to address and addressing them as well as you can with the resources that you have. The main thing I get from testing theory is: You can't have complete knowledge. There is no such thing as complete testing. However, sometimes, by solving brain teasers we can create a reputation for ourselves. For instance: Can you draw a figure consisting of connected straight line segments, without lifting the pen from the page, such that each line segment is crossed exactly three times? If you draw a classic five-sided star, each line is crossed exactly twice. I just want a figure where it's three times. I solved this problem a few days ago to impress a physicist who took my class a couple of weeks ago. My solution, I felt, was ingenious, but I am under the impression he had found a simpler answer. I do the best I can with the brain I got.
Jon: Understood. You said, "There are certainly practices that are good in any context I am likely to encounter in the normal course of my life. Informally, I treat certain practice as if they were always good. And yet, if pressed, I could tell you why and when they might be bad." Let me press you on one of them. Some may say, "Filing bugs is a best practice in any context." Is that one of the ones you might refer to as good in any context?
James: No, definitely not. This one was posed to me by Rex Black some years ago. I think it was on the software-testing@yahoogroups forum. On a court case, if you are acting as an expert, any preliminary or interim document you create is discoverable-meaning the other guys get to look at it. And, let's say that you changed your severity reporting system halfway through the project to make it better. The other side will try to say, "Foul! He's changing things to make us look bad!" Regardless of the merits of that accusation, it gets heard in court and distracts everyone. So, we try to avoid writing things down that don't absolutely need to be recorded. That is one example, but there are many others. For example, I don't file bugs when I'm pair-testing with programmers and they fix the bug on the spot. I may not file bugs formally when a programmer lets me see the product early.
Jon: " Mention in passing" (MIP) is another alternative to filing bugs. When do you find yourself doing that the most?
James: Mainly when I feel that it's probably not a bug.
Jon: Speaking of that, you once asked for an opposite of MIP, and I suggested black flagging, like they do with a race car that causes dangerous mechanical obstacles to other drivers on the track (oil leaks, parts falling off, etc.). How might a tester black flag a project?
James: I've done that. Instead of writing a bug report, you write a white paper and call a meeting. You do this when you see a disturbing pattern of trouble that seems to go beyond a bug. This is the equivalent to trying to get them to close the beach after a shark attack. The mayor is likely to say, "But we'll lose hundreds of dollars in tourism fees! Hrmumph!" But, sometimes you push anyway. Of course, when the mayor is attacked by a shark, his argument may change.