There are problems within probabilities, and they end in –ity. Productivity, quality, reliability—these are just some of the variables to face within a project. Glen B. Alleman reminds us that estimating an outcome based on just one variable is virtually impossible, because each factor is dependent on the others in some way. It’s our failure to acknowledge this that often leads to project failure.
So how can we prevent failure? First, understand that no single point estimate can be credible without its other variables being known. Second, recognize how one estimate is coupled to another element of the project. Finally, acknowledge that there are certain variables that exist outside the typical mechanics. There are also processes and people, and the politics of those people to take into consideration.
In the end, Alleman says it’s a choice between paying for knowledge now or paying for mistakes later. Uncertainty is the result of lack of knowledge, and while you can never fully predict anything, there are always ways to create a cost, schedule, and technical margin. You can also spend money on an incremental development system, such as Scrum. It might seem cheaper to forego a system like this now, but in the end, you risk paying for other mistakes if you don’t.