Wednesday, February 27, 2008

Speculation Vs Hypothesizing

The line between speculating about a problem and creating a hypothesis about a problem is very thin but incredibly important.

A speculation:
  • is not backed by data, although it may not be negated by data
  • may or may not be provable
  • generally requires a leap in imagination (often phrased as "if XXX is also happening")

A hypothesis:
  • is explicitly based on available data
  • has a specific way to be tested and proven or disproven
  • accounts for all known data points
A speculation may lead to a hypothesis, but working based on speculation alone is likely to result in churn. Working from a hypothesis (or set of hypotheses) allows you to winnow away possibilities. In the end, the important difference is that given speculation there is very little you can do to move forward. Given a hypothesis, you can test it and move on, having found your explanation (or not).

When you're doing root cause analysis (in our case of a bug, but that's just a hazard of the profession!), ask yourself whether you're using speculation or a hypothesis. Speculation will cause you to jump from possibility to possibility, but there is no order or method to it. Speculating leads to churn. Hypotheses lead to answers.

If you can answer the question "Why do I believe this may be so?" you have a hypothesis. If you can't, keep digging.

No comments:

Post a Comment