The scientific method gives you a powerful framework for organizing your troublehacking activities. When applying the scientific method, you formulate hypotheses and then your work focuses on proving or disproving the hypotheses.
But just how do you go about formulating a hypothesis? Sometimes all it takes is a few minutes of brainstorming, but what do you do if you run out of ideas? Or if you don’t have enough experience with a system to know how to get started? In these cases, you can turn to the hypothesis generators.
The hypothesis generators are techniques you can apply to get un-stuck. The first hypothesis generator I want to talk about is “Poke the box”.
Imagine that you are given a box. Your job is to figure out what’s inside. What would you do? If you are like me, the first thing you would do is give the box a little poke to see if you can learn anything about what’s inside.
When working with software systems, you poke the box by changing some aspect of the system in hopes that the symptoms you are observing will change. If you are successful in forcing a change in behavior, then you can generate a hypothesis based on what you changed and what you observed.
“Poke the box” is a common dynamic between the test and development teams working on complex software projects. The first reaction to a defect is often a “poke the box” request like
- Can you try it on another operating system?
- Can you try it on the last release?
- Can you use a different load level, or a different workload?
- Can you try a different use case?
Another way to think of this is that sometimes observation precedes hypothesis when applying the scientific method. Still, there is a fine line between random action and a “poke the box” approach. After all, you have no way to predict whether a change in the system will change the problem symptoms. You are trying to learn something new about the system, but there is no guarantee that you will. In fact, you could expect “poke the box” activities to eliminate possibilities more often than generate new ones.
So, “poke the box” is a hypothesis generation strategy that works best in the early phases of a problem-solving effort, and should only be applied for a short time. After all, there is only so much box-poking that you can do! If you are still out of ideas after a few days of box-poking, it is time to move on to another hypothesis generator.