When you move to Agile you move from the concept of upfront planning / serial workflow to an approach which leverages iterations and feedback. The idea of feedback is pervasive both at the value production level (review with customer / stakeholders what we have produced) as well as the implementation level (retrospectives to improve the way we work, automation of build, test and deploy to increase feedback of quality of work).
An agile approach adjusts the course of what we deliver based on what we see as opposed to the planned approach which encourages the assumption that the upfront planning work is correct, and that deviations need to “brought back on plan”.
Traditional upfront planning serial thinking is pretty insidious and sometimes hard to get away from especially if you have been working In a shop where that planning is the norm. Even when you know that fast feedback is good we have a tendency to hold on to things too long. For example, it happens in planning when we expect to make a commitment to a release (“oh, if we need to make a commitment, we'd better do more analysis”). It happens as we implement (the developer holding on to a piece of work for days on end because as she doesn't it is ready for QA). And so on.
The agile / lean approach pushes ideas like “fast feedback”, “fail fast”, “preserve options; decide as late as possible” and talks about “making decisions at the last responsible moment”. Is there a way we can understand the value of feedback so that we learn to apply the concept better?
Don Reinersten talks about the “Front Loaded Lottery” as one way to get the idea across. The premise is that you are asked to bet $3 to win $3000 by picking a 3 digit number under 2 different circumstances:
Which approach would you choose? Take a moment and think about it. Try to figure out why.
Ok, in case you haven't got there, the second approach is preferable. Why? In the end for both situations you will pay potentially $3 to get $3000. But the difference is that in the second case, if your first digit is wrong you won't pay money to buy the second digit, saving yourself $2. The same is true of the 3rd digit. You will probably save a bunch of money this way - perhaps you spend a $1 and that's it, perhaps $2. And if you spend $3 then you are spending the last dollar on the basis that you already have 2 good digits, and the extra spend of a dollar gives you a 1:10 chance of getting $3000 - I'll take that bet!
This is the power of feedback. You are adjusting your course based on what you are seeing. Another way of looking this is that you are waiting longer to make decisions which could have an effect on the outcome. In other words, you are preserving options, not based on planning longer / more, but rather based on when you can leverage feedback. In the lottery example, if we are offered approach 2 and we do approach 1 anyway, we are not being very effective.
If this theoretical discussion is difficult for you / your team, you can turn it into a simulation. For example, you could set up a cardboard horse race with say 5 horses in it and use a dice to move the horse (roll a 1 move the horse by 1 segment around the track). The race track is set up so that it takes say 5 throws of the dice to get to the finish line. Have each person in the simulation select the horse they think is going to win - each will bet $5 to win. Them toss the dice for each of the horses and move around the track. Play the game until the first horse “wins”, and payout the winner (if 5 horses / people and $5 per bet, payout $25). Result? One person wins all the money.
Now rerun the race. Start with everyone betting $1. Roll the dice / move the horse. Then ask “Based on what you are seeing with your horse, would you like to bet another $1 or pass.” Continue until one horse wins. Payout the $25. But now also notice that a number of people actually have “saved” money by not better their full $5.
Let me know how this works for you.