Tuesday, August 17, 2010

Generalization Words

I've written before about words that trigger certain reactions. There is an additional class of words and phrases that we need to be very careful about: generalizations.

What We Say: "It fails randomly"
What We Mean: "I ran this test three times. It failed twice and passed once, and I really don't understand why."
What's the Problem: Random means without known pattern, really. Using the word "random" here is an overgeneralization; you need more attempts to see if there's a pattern or not.

What We Say: "It's slow"
What We Mean: "It ran at 50 MB/s. I was hoping for 100 MB/s."
What's the Problem: Slow means something different to everyone. Sometimes a little slow is okay, but very slow is not. Sometimes slow is what you think, but your expectations are what is in error. Here it pays to be more precise: "about half the speed I usually see in X other test".

Be careful of generalizing too soon. Many of us engineers - developers, QA, support, etc. - thrive on detail. Skipping that detail and going to generalization simply makes you sound either lazy or panicky. So when you're using words that are imprecise:
  • random,
  • slow,
  • sometimes,
  • weird,
ask yourself if you can characterize it more specifically. You'll get a lot more help from the people you're working with that way.

No comments:

Post a Comment