Sometimes it Gets Personal

Recently, a colleague of mine felt stung by something I said in an argument. He complained that I was making an “ad hominem” argument. I want to clarify this issue, because it’s a common mistake: what I was making was a personal attack, not an ad hominem argument.

A personal attack is when someone criticizes you as a person. They may argue that you are a bad person, and that you ought to mend your ways. Their argument may be logically valid. For instance, consider this statement: “I think you are behaving unethically by stating or implying, in your advertising literature, that ISTQB certification represents an industry-wide consensus about what excellent testing is or should be, when there is widely documented controversy over this among serious, experienced, and respected thinkers in the field. In fact, you have personally experienced and acknowledged that controversy over a period of years, in conversations with, among other people, me, and I have the email records to prove it.”

The argument here is that it is unethical to make a claim that one knows to be false, or that can easily be taken to mean something that it doesn’t mean. This is a general argument. I could be more specific and argue that it violates clauses 3, 6, 7, and 9 of the IEEE Code of Ethics, but specificity can vary in a natural language argument without committing fallacy.

This may or may not be a compelling argument. There may be a valid counterargument. But this argument has a valid logical form. To utter this statement would be a personal attack, I think, because it is a complaint about personal behavior. But it would not be an ad hominem attack.

A personal attack is not a good idea if you want to maintain a high quality personal relationship, but that’s a whole other issue. I hate burning my bridges with people, but sometimes I don’t see any other option that preserves integrity.

An ad hominem argument is a fallacy of reasoning whereby someone justifies a criticism of your idea by arguing that you are a bad person. It’s a variation of the non sequitor argument (e.g. “The sky is blue because I like pie.”)


An example of an ad hominem attack is “Mr. Attila the Hun, I realize that you think you have at long last proven Goldbach’s conjecture– that any even number greater than two can be expressed as the sum of two prime numbers– but I’m sure you must be wrong, since you are, after all, just a murderous Hun. Now go! And take that Horde with you.”

See the difference?

The rhetorical effect of claiming that an argument is ad hominem is to release the claimant from having to answer the personal attack. It’s a common tactic, but that tactic may itself be logically invalid. The retort “Your argument is ad hominem because it is directed against me as a person” is a non sequitor.

I wish I never had to be in the position of speaking out against what looks to me like bad behavior. I wish I never had occasion to make an attack against a person. Perhaps someday I’ll give up and let other people stand up for what seems right. For now, I don’t see an acceptable alternative. Someone, somewhere, someday, is going to be killed by software that is tested by well-meaning people who got negligent advice about how to test. I feel like I should do something.

As always, I ask my friends and enemies alike to help me identify and correct any of my own bad behavior. Communities must police themselves. Hence, I accept the IEEE Code of Ethics.

— James

Who Stole Agile?

Brian Marick complains about people, like me, who prefer to use dictionary definitions of words such as agile, instead of capitalizing the word and using it as a brand name, as he does. Read his blog post here.

In his post, Brian said, It really gripes me when people argue that their particular approach is “agile” because it matches the dictionary definition of the word, that being “characterized by quickness, lightness, and ease of movement; nimble.” While I like the word “agile” as a token naming what we do, I was there when it was coined. It was not meant to be an essential definition. It was explicitly conceived of as a marketing term: to be evocative, to be less dismissable than “lightweight” (the previous common term).

Brian says he was there when it was coined. I think he’s talking about the meeting where the Agile Manifesto was produced. Actually, Jim Highsmith was promoting the term before that meeting, and spoke to me about it. Then he went to that meeting and suddenly there’s a manifesto.

Before and after the Agile Manifesto meeting, I had a number of conversations with Jim Highsmith and with Brian Marick. I served on the Cutter IT Council with Jim Highsmith, and I worked at Reliable Software Technologies with Brian Marick. We talked. It was always my understanding that “agile” meant agile. The Agile Manifesto looks to me like an enumeration of the factors that allow software development to be agile. That’s why I like the manifesto.

The idea that agile was always supposed to be a brand name and not taken literally does not hold water. This wasn’t at all what we were talking about, back then. Agile became another word for Extreme Programming about five years ago, as the inevitable forces of marketing worked their special magic.

How strange that Brian should argue that agile is a word like “glade” in Glade air freshener, as if we should have known all along that we were buying a fragrance of an idea, not the idea itself.

No Brian. You can’t have agile. Agile belongs to us, the English speaking world, and it belongs to us, the people who want to promote agility in software development. We are taking it back.