because you made a decision about what the solution would be SOooo long before it was delivered, that it made no sense by the time it was released. Agile fixed this by delaying decisions and it seems the more you are able to delay decisions the more benefit you get. Delaying decisions gives you time to be creative and to discover better solutions, once the decision is made all sorts of doors are closed.
Humans love certainty…
and constantly resist the uncertainty that delaying decisions cause. Certainty can subtly creep back into your process removing the benefits of agility, so how can we stop this?
Don’t design the solution during estimating
Somebody will always say “how can I estimate if I don’t know what we are going to do?” The thing here is if you try to design your solution during a planning session it will be rushed and will take longer than a well thought out one, so your estimate is flawed anyway. I find the best way to estimate is to think about similar stories you have dealt with in the past and estimate based on how they went. Don’t sweat over your estimates delay your decision and a good design will come.
Just do something simple
If you start with something simple you are delaying a lot of decisions until people have had a chance to try it . Only then will they see what is and what isn’t important. People just can’t do this upfront, if they try to they will tend to throw in all the requirements they can think of and your solution will be bloated. Do something simple in the first sprint and give the business some time.
Remember everyone wants certainty and you will be pressurized to make decisions prematurely. When this happens try to explain the benefits of delaying. Challenge their reasoning for tying things down now, it’s usually just their lizard brain rather than any good reason.