in reply to On Improving One's Estimates
my method:
1. think about problem, and scribble down list of steps involved in solving it. Write down how long each step will take, keeping in mind 'breakage'. I.e. two six hour tasks are probably going to take me two days to do, unless I'm willing to put in a twelve hour day. Add up times.
2. refine guess by making sure I included time for debug,documentation, installation, testing, etc .... as appropriate.
3. If I feel pretty confident that I haven't forgot anything, double the estimate
4. If I think I might have forgot something, or done too much hand waving on any particular step, triple the estimate.
you might think there would be recursion problems, but this is the most accurate method I've ever used. And remember, this is not an upper bound, this is something like the median amount of time it will take. The original guess from step 1, in a very half assed way, is about 1 standard deviation. Don't know how much these multipliers vary on a person-to-person basis.