Hindsight is a strange thing. In hindsight it is easy to criticize. It’s unimaginable to find someone still convinced that the world is flat. It’s easy for us to say ‘how didn’t the US see Pearl Harbor coming?’
Of course, we have something that those that didn’t see all this didn’t have: hindsight.
Photo by AntoGros http://www.flickr.com/photos/atony/6817452250/
Quite naturally, there are things for which we do not have hindsight: will this release be successful in marketing terms? Will this new product live to its promise?
Within a given time period, we will be able to say whether the release was successful, or whether this new product made the impact we anticipated for it. But then it will be easy – it will have become a past event, and we will be able to do nothing about what happened prior to the event.
This is a problem that can never be solved. No one will be able to tell you with certainty what will happen in the future. On the other hand, you could get a good estimation of it.
Say that the release is scheduled for one week from now, and we have not even gone through 50% of the progress, and we have been working on it for 8 weeks already, and nothing is working. One can say, with a fair degree of certainty, that marketing success is somewhat not plausible.
If, however, we would have checked after two weeks whether the work we have done so far is working. And we will have continued every two weeks to make similar checks, we could, quite reasonably have reached 80% progress after 8 weeks. Knowing that these 80% worth of software is working according to the customer needs, we would be more comfortable to say that we might be successful in marketing terms. Right? Well we cannot be certain, but we will have a better chance.
The same with the new product; if we have a group of business users having a look at the product every two weeks, we will be better positioned to estimate whether it will live to its promise. Right?
This is not hindsight. Not even close. But it provides a better starting point at the time we need to provide such estimates.
This is what agile is about. Getting shorter feedback loops, so we can make decisions earlier, so we can prepare ourselves and gear ourselves with relevant empirical data.
Meticulously planning ahead of time provides nothing except having theoretical plans. Redefining the plans according to the future, as it changes it shape due to current event, will help us face this future more prepared.
Therefore planning is good, as long as you don’t overdo it. In contrast, Reacting to events will prepare you better for the future. This is counter intuitive for many of us. But think of butterflies – if they plan their day, it will be a disaster for them. They only need the grand plan; No details. Then observe the environment and react.
In the language of the Agile Manifesto: Responding to Change over Following a Plan
So what does a butterfly say at the end of the day?
If only I know this morning what I know now!