Don’t Plan, Speculate

One thing people are learning is that you can’t plan uncertainty away. Plans are good for things we know, or things that we may have some control over. However uncertainty—and its close cousin’s ambiguity and velocity—defy planning. When I originally introduced my Adaptive Life Cycle in Adaptive Software Development, the three high-level phases were Speculate, Collaborate, and Learn. I expanded on these in Agile Project Management to be Envision, Speculate, Explore, Adapt, and Close. In either case, Speculate takes center stage.

Planning says, “I know something and this is how it’s going to be.” Speculate says, “Here is my hypothesis about the future, let’s explore.” Some of my thoughts on Speculation in Adaptive Software Development were:

  • In a complex environment, following a plan produces the product you intended, just not the product you need.
  • In a traditional approach deviations from plans are mistakes that must be corrected. In an adaptive approach deviations guide us towards the correct solutions.
  • When we speculate, we define a mission to the best of our ability, but our choice of words indicates that we are more than likely wrong.

The word “speculate” first calls to mind the image of reckless risk-taking, but actually the dictionary definition is “to conjecture something based on incomplete facts or information.” I must admit that some of my early banking clients had a hard time using a development phase named Speculate, but somehow we need to change the tenor of discussions around what is traditionally known as planning. Planning is too deterministic a word, in conjures up a mindset of fixed time frames and detailed activities.

Speculate says, “Within our product visions, let’s develop a hypothesis about the future and then test it in short iterations with our customers.” In Experimentation Matters: Unlocking the Potential of New Technologies, author Stefan Thomke focuses on the need for experimentation as a driver for innovation, “Experimentation matters because it is through learning equally what works and what doesn’t that people develop great new products, services, and entire businesses. But in spite of the lip service that is paid to “testing” and “learning from failure,” today’s organizations, processes, and management of innovation often impede experimentation.” As the last sentence warns, while many managers talk about learning, their organizational systems impede that learning. We need to stop planning and begin speculating, hypothesizing, and experimenting.

I was slow to convert to using the term Story for iteration planning. What finally convinced me was the need to change people’s perception. The traditional word we used was requirement or requirement document—a word that again conjures up fixed, unvarying, cast-in-concrete. Story on the other hand conjured up a different scenario, one which emphasized talking over writing and evolution over a fixed thing.

Speculating rather than planning has a similar effect. When we speculate we are not prescribing the future, we are hypothesizing about it. And, to those who practice the scientific method, when we hypothesize we then need to run experiments to test it—exactly what happens in Agile iterations. Speculating also conjures up a vision of a group musing about the future instead of one rushing to document in detail. Words make a difference; they convey a nuance about how to conduct ourselves. So I’ll make another pitch for elevating Speculating, and demoting Planning.

    Comments

    1. While this wonderful post addresses itself to the development process, I think it has even more direct relevance for testing. Both development and testing are far more about exploration, discovery, investigation, and learning; far less about making a plan and following it.

      Splendid post that fits into the structures of exploratory testing that I’ve collected here. Thank you, Jim.

      —Michael B.

    Speak Your Mind

    *