Thinking Games


Ask "What if?"
"What if?" is the most powerful question a game player or software professional can ask. The company that changed its business strategy was too busy trying to attract customers to ask, "What if we're enormously successful and sign up hundreds of customers?" The answer would have been that they would need hundreds of servers, a place to put those servers, and administrators to run those servers-problems that all came to fruition.

The company where the engineers decided that the client didn't need any error handling to handle bad data didn't ask the very simple question, "What if the server isn't infallible?"

Jerry Weinberg says, "If you haven't thought of three possibilities, you haven't thought enough." For each decision, consider at least three possible outcomes. For each outcome, consider at least three possible causes. Cause and effect in a game is straightforward. Cause and effect in real life is far less tractable. Use the rule of three to expand your "What if?" thinking.

Finally, the ultimate key to thinking ahead is to think. Think actively. Think continuously. If you find yourself on autopilot, going through the motions, it's time to pause long enough to engage your brain. Use your greatest tool—the one between your ears—to your best advantage.

Thinking ahead is a learned skill, both in games and in real life. I struggled for years before finally beating my father at chess and I still can't beat him regularly. Just when I think I have him backed into a corner, he makes a surprising move and crows, "Checkmate!" If thinking ahead in a game with a finite number of tactics and strategies is so difficult, it's no wonder we often fail to think ahead in the real world where possibilities are endless. But as long as you're thinking, you have a much better chance of thinking ahead.

About the author

Elisabeth Hendrickson's picture Elisabeth Hendrickson

The founder and president of Quality Tree Software, Inc., Elisabeth Hendrickson wrote her first line of code in 1980. Moments later, she found her first bug. Since then Elisabeth has held positions as a tester, developer, manager, and quality engineering director in companies ranging from small startups to multi-national enterprises. A member of the agile community since 2003, Elisabeth has served on the board of directors of the Agile Alliance and is a co-organizer of the Agile Alliance Functional Testing Tools program. She now splits her time between teaching, speaking, writing, and working on agile teams with test-infected programmers who value her obsession with testing. Elisabeth blogs at and can be found on Twitter as @testobsessed.

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, is the place to go for what is happening in software development and delivery.  Join the conversation now!