November 1, 2006

...Learn TDD with Codemanship

Embrace Reality

One of the questions that gets asked about the Agile Governance game is why planning and executing a game in 5 iterations of 20 dice throws should be more effective than planning and executing 100 dice throws in one.

Surely, people ask, if the game board isn't changing then the better plan is the better plan, whether we do it 20 throws at a time or 100 throws in one go. And, to be fair, I'm not 100% sure myself.

First, let's examine the evidence from experiment: teams tend to score significantly higher when they work in increments of 20 dice throws. Now that could turn out to be blind luck. But in the 100 or so such games I've seen, I've only seen a couple of instances where it wasn't true.

Secondly, let's look at the game itself: why would it help us to plan and execute 20 throws at a time? If the board isn't changing from one iteration to the next, what is? Where is our advantage coming from?

It's hard to say, but I do have a hunch. Firstly, I suspect - and I can't fully explain it yet - that it has something to do with the improbability of finding the best plan from all the other less effective game plans that a grid of 12 x 12 squares presents us with. So we should never expect to get the best plan first time, and there's always a better plan available which we may spot as we play the game.

I also think that the effectiveness of the plan changes as the reality unfolds. What might have been a better plan with 100 dice throws left might not be the best plan with 20 dice throws left. If you only have 5 minutes left to live, would you boil an egg or start stuffing the turkey?

I suspect at the heart of this question also lies the heart of Agile or adaptive planning. It's not change we necessarily embracing. What we're really embracing is reality. As an uncertain game unfolds, we are best served if we can adapt our plans to take the emerging reality into account.

Even with fixed and well-understood requirements, an iterative, incremental and adaptive approach would still give us a significant advantage. Statistically, there's no reason not to do it. I become ever more convinced that there are no practical justifications for the waterfall approach in any circumstances.

That's not to say that there might be political reasons for following a waterfall model, of course...
Posted 14 years, 3 months ago on November 1, 2006