This post has been migrated to http://www.thinkcode.se/blog/2013/03/02/embrace-change-or-embrace-uncertainty
Kent Beck wrote a very nice book eXtreme programming explained with the subtitle “Embrace change”. But what he really want to embrace is uncertainty. What is uncertainty? It is those things that will happen but you are uncertain of. Possibly so uncertain that you haven’t even thought about them in a risk analysis. It is the very nature of uncertain things, you don’t think they ever will occur and can therefore not even think they might happen. They will therefore never turn up in a risk analysis.
This is what Agile and XP is all about. Handling uncertainty. Instead of taking long leaps, you frequently stop, inspect and adapt. You always tries to have the shortest possible feedback loop. You deliver working software and evaluate if it brings the values you expected it would bring. Then decide what to deliver next.
Inspecting and adapting doesn’t mean that you shouldn’t think and try to come up with reasonable risks that you want to prepare for. But at the same time, it doesn’t mean that you should stop and think forever about the risks and never deliver anything.
So embrace the uncertainty and make sure that the way you work support you as much as possible.