Another good article on project estimation, focusing that the major skill to being a good estimator is experience.
One point that should be stressed is that unless you’re tracking how long it takes to complete the task and comparing it to your initial estimate then you aren’t closing the feedback loop that will give you the ability to reflect and learn how long it really takes you to do something. There is no magic bullet for estimation, but if you aren’t keeping track and reviewing your estimations then you aren’t building up your estimation experience to match your programming experience.
>> Estimating Projects – Knowing Your Limits // The Retrospector
>> Also see: Painless Estimation Tools Evaluated //engtech