Tom Hume talks about estimation in software development (via Rajesh Jain). Tom mentions creating worst, most likely and best case estimates to calculate the expected case. I was nodding while reading that statement. Having said that estimation is one case where no amount of calculations and formulae will work if the experience is missing. More than anything else, experience is the most dominant factor in arriving at a better estimate. Even if it is about a completely new thing. I have tried using various tools and their automation, but was not satisfied. Like Tom, a custom process helped. The custom process took into account many factors like my skill set, my experience, my learning abilities as they were. It was difficult to express them in the format the tools expected. Not only that it integrates well with my software development process. The only problem with this approach is that it is not empirical and will not apply to others, estimation will have to worked upon for every project, and most likely the process for estimation will keep evolving with each attempt.