I am more of a pragmatist than a perfectionist, so I don't set out to do everything "perfectly" the first time. (Although I suspect the people that know me best would disagree, but regardless, I don't have the thought pattern that this guy is talking about.)
Based on some things I've read recently and observing my own behavior, I've decided that there are two things which will cause me to procrastinate on a task: either the "start cost" is too high, or I don't know how to do it (or how I want to do it).
The first case happens when I know all of how to do a particular thing, but I just don't want to do it. A good recent example of this was spinning up a ground-up web server rebuild and taking notes on the entire thing so that I can automate it later. I know how to do that, I just don't want to. I'd rather go read HN -- or, really, do just about anything else, including the dishes -- so I'll procrastinate indefinitely.
I now keep an eye out for when I start doing this. I have a very simple, small, white lined notepad on my desk, on the very edge of my workspace. If I procrastinate too long, then I start with a clean page on it, and I break my ominous job down into a series of pathetically simple little tasks: "1. Log in to Linode; 2. Order new server; 3. Name new server; 4. Boot new server; ...", and I fill that out while I'm reading something or doing other things. Sometimes I'll take about a day to write something out that way.
Then, I'll be staring at the notepad, I'll see the first line, and I'll think ... huh, that's not so bad. I could do that. I should do that. I think I'll do that. ...OK, that was easy. I guess I should do the next thing too. Before I know it, I've immersed myself in the task and I won't come back up for air again until it's done.
In the other case, where I don't know how to do a particular thing, I've just come to terms with that and I structure my workflow around it. I try not to commit to projects that are too large, or with too many question-marks, or with too tight of a schedule. I'm confident that eventually I'll figure out whatever puzzle it is that I'm stuck on, I just have to give it time, and stressing out and trying to force myself through it won't help.
Yes. My problem is very similar. Sometimes its because I think I'm stupid, but sometimes I'm almost afraid to start (because I'm worried about failing) or the task just seems too large. Maybe my approach has too many issues that I don't know how to address. Sometimes its just that I don't know where to start.
When I was in college I also had this problem, but then I would realize things were due in a day or two and I'd just figure everything out (often in one all-nighter). I'm finally starting to get over this.
1. Recieve task
2. Create intricate, well-thought-out plan for task
3. Plan goes awry after banging your head on the wall for 8 hours
4. Frustration
5. Time
6. Do a hackjob near the deadline
Whereas for me, it's
1. Receive task
2. I don't want to do this task. Thinking about it scares my brain. It's going to take too long, I'm too stupid, I don't know where to start
3. HN
Anybody else more on the me side of things?