In our SW dev team, we spend time in finding a way to be better in estimating. And this is for many reasons. The one I prefer is related to TRUST: if you release continuously on time you gain a lot of credibility (and this is wonderful for begin more effective).
Now, we always say that estimating in SW is hard, we would like to be like the guys who build bridges or houses: they (seem to) have a long experience and very strong patterns.
Next to my house, they are substituting a cross road with a roundabout:
- estimated duration: 2 months
- elapsed time (today, not finished yet): 2 months and a half
- (my) estimated duration: 3 months
Today they have an estimation error of 25%, it will be around 50%: even the old hard stuff is hard to estimate!