Yes! Microtasking is the enemy of procrastination. When I feel like procrastinating (99.99% of the time?) and nodding off, I just tell myself, - I'll go play this game but first I'll let myself know what exactly I'll do after I get bored with procrastination. And so I write something like:
1. Pull init code from old repository.
2. Find function that accepts the data.
3. Insert init code into the class.
4. Debug and see if it works.
5. Write callback for accepting data from TCP.
6. Link callback to init.
7. Refactor.
Then, as I have successfully broken down the huge (2-4 hr for me) task into 20-30 minutes tasks I go and run, or swim, or play 3d shooters (love Tribes 1). Interestingly, while I do that, my brain subconsciously works on the stuff from todolist and when I get back and look at the tasks it's extremely easy to get started, plus, I got a chance to think of a better way (if exists) to do stuff.