In a previous post I noted how some projects try to preempt every conceivable risk by trying to plan, rather than work around them. Instead of making progress aware of the risk, they try to find all the answers for how to avoid the risk before doing anything. Analysis-paralysis is what I would call it. On a software project something will always go wrong at some point, so people better get over it. My opinion is that it is better to make a decision, go with it and then later change and adapt once you’ve learnt more about an issue by actually moving things forward.
You will always be in a better position to address a problem or risk if you know hands-on what it is about, rather than knowing theoretically what it possibly might be about.
The other issue about trying to plan and analyze the exact answer to each and every risk is even more insidious, it creates inertia. If people spend a lot of time planning, making “firm” decisions and having their minds set on a specific solution long before it is actually possible to know whether it is the best one, they will be less likely to want to change their decisions. They don’t want to change their decisions because they have now heavily invested in them, in terms of time and effort. Even if at heart they know that it is a sub-optimal decision, psychology sets in (and sometimes the realities of time-constraints) and will make people fight tooth and nail against any change to the given direction, even if it is straight down into an abyss.
In practice this means that over-planning will paint you into a psychological corner, there will be inertia against change, meaning that you might end up in a situation of “negative progress”: it will be harder later on to make progress and critical changes due to inertia against change, than it would have been to just have accepted the risk, made a quick decision and progressed in the first instance.
Now this post should not be taken as one dismissing risk altogether, because I am not. What I am saying is that you should be aware of risks, take them into account, but don’t let their existence hinder your progress. Make progress, track the risk and address it as you make more progress and get more tangible information and experience on how to address it.
But trying to pre-plan for every possible risk in the world before doing anything is foolish. First of you cannot predict every conceivable risk, secondly you will not have enough information to accurately assess a lot of risks until you actually tackle them, and thirdly and most importantly pre-planning paints you into a corner where inertia against change due to invested time and effort into pre-planning overpowers the motivation to do the right thing and make the right decisions.