Of course, there is the opposite issue of grossly underestimating the problem. I've had "close old checking account" on my todo list for well over a two months now. I thought it would take 15 minutes to just call them, maybe scan a signature or something, and be done. They actually want me to come into the office, which is over 3 hours away (hence this issue of wanting to close the account). It is experiences like that that help to keep the gross-overestimation/procrastination game in business.
How do I fix it? I choose a day where I decide I will be fine if the only thing I get done is I find out how long it will take to get one thing done. Usually it's not that bad, though. I usually end up getting a whole slew of things done. But being OK with not getting anything officially done for a day helps me to kill the procrastination cycle.
Sometimes its easy to know what is required, and probably guess at how long it will take (15mins or 1 day), usually because you've seen other people do it this quick. But if you don't know how to do it, and even worse, don't know where to start to learn it (which book to read, which course to take, who to ask) you can end up sitting about doing nothing but getting frustrated.
A great example is Linux. You know a task is easy (like creating an automated backup), but you can't just go and do it. You need to read up on it, you need to learn CRON and how it works, you've then got to read up on the subtle differences of your linux distro vs the one in the tutorial. You then need to read up on chmod or sudo to change the permissions, etc., etc.
Point is, it's an easy task once you know how, but when you don't know how, all you see is a huge mountain of learning you have to do to achieve it. And to make matters worse, sometimes the juice isn't worth the squeeze. Why spend all day reading up on Linux just to copy some files?
End result... I'll do it tomorrow
Even worse is when the todo is to also make a decision. I need to automate backups to a new NAS. Do I install Linux? FreeBSD? FreeNAS? RedHat? Good old debian-stable? I should definitely explore all decision branches, in full detail, to make the best choice. open in new tab, open in new tab
But I have no idea how long that would take. I can't even set aside 15 min (or 45) to determine how long it will take. It's incomputable. It's either dive headfirst and hope to come out with a working solution, or put it off another week (and hope some howto pops up on ars).