Functional fixedness is a concept that describes how a person can be restricted in their view of an object or problem. Or a piece of software. Essentially, if you know or are told that something is expected to be used in a particular way, or if you’ve thought of one way to do something already, you can find it hard to think of alternatives. You’re fixed in your view of some functionality. A classic experiment in the area is to try to think of uses for a house brick.
In our line of work, this can manifest in places such as spec reviews, in implementation, in test coverage, in fact pretty much anywhere you may want to generate a set of ideas for a topic or area you already have some familiarity with.
That last phrase is important. In a recent episode of Horizon, Simone Ritter described how it’s possible to boost creativity by putting the thinker into a scenario that violates usual practice or thought process. In her experiments, something as trivial as making a sandwich in a slightly unconventional way was enough to provide an increase in capacity for thinking about other known concepts differently, although it wasn’t clear for how long this effect lasts.
Researchers from the META Lab found that switching from a problem in which you’re blocked to something else can also provide a way to improve your divergent thinking, although what you switch to is important for the strength of the effect. In their experiment, something with even a smallish cognitive load was the least productive alternative, trying to think about nothing at all was next best and performing a simple task generated the largest gain, by letting your mind wander.
What does this have to say to software testers? How about this: whenever possible, particularly when it doesn’t conflict with the mission, choose to put yourself in the position of taking an unfamiliar route to whatever you’re looking at. Not only does this increase your knowledge of the system under test and expose you to areas in which you may find new issues but it increases your chances of thinking of something new or innovative to try when you get there.
When you inevitably do get stuck, don’t be afraid to back off to something you can do by rote for a while to give you mind the chance to wander. Perhaps you’re doing exploratory testing and have run out of ideas. You could run through some existing scripted test cases, or follow steps in a demo that your salespeople use, or work through a tutorial to give your mind a chance to take a fresh perspective when you return.