A great enemy of procrastination is task management. If tasks are broken into sufficiently small sub tasks, it becomes trivial to finish one of these smaller tasks within a small number of hours. Once tasks can be finished that quickly, it becomes possible to accurately track progress even over a single day.
Tracking progress has two unfortunate effects: first, it may induce guilt as you notice that you're not actually making progress, and, second once you do happen to complete a task it is immediately obvious that you have accomplished something. This sense of accomplishment may then lead to self esteem, and, in essence, make you addicted to finishing tasks. Forming a new habit takes only a few weeks, and by continuously tracking progress over such a short time span, you can find yourself making significant progress on your projects without negative stress; instead, you will be chasing your next goal.
If you have spent 4 minutes of a 5 minute task --- walking half a mile, say --- and accomplished nothing, then you'll most likely realize that you will not be able to accomplish your goal. However, if you've spent 4 months of a 5 month tasks and accomplished nothing, then you can still convince yourself that another day doesn't matter.
This example might appear to be somewhat disingenuous; walking a fixed distance is an activity where it's easy to track progress. If you had 5 minutes to come up with a name for your firstborn, having spent 4 minutes without thinking about it might still not instill a sense of urgency. So, it's the ability to track progress, rather than the duration of the task, that's the key. Walking half a mile can intuitively be broken into subtasks, coming up with a name on the other hand, at least superficially appears to be an atomic task.
The goal, then, is to avoid breaking up tasks into pieces that can be intuitively understood. If you cannot know that you're making progress, then there's no way of knowing that you're not making any, and procrastination can move forward unhindered.
To further promote procrastination, you want to avoid setting mile stones. Instead, use deadlines. With sufficiently fine grained milestones, you reach mile stones so often that it becomes quite impossible to lose track of progress; the pace at which work proceeds becomes obvious both to yourself and to outsiders.
Deadlines anchor progress to an arbitrary date rather than to an accomplishment, which make them strong procrastination promoters. You make "progress" by doing nothing since that brings you closer to the date when you have to be finished, and you can always pretend that there's enough time left until the deadline is reached, at which point you can almost always make up a new one. If you do meet the deadline through a heroic last ditch effort, you will be sure to procrastinate even longer the next time, to keep things challenging.
Even when deadlines are fine grained and close together, they are negative; if any single part of the project takes longer than expected, you're continuously behind, and will fail to meet future mile stones even if the remainder of the project proceeds as expected. Again, this promotes procrastination because you can easily procrastinate before you've failed to meet a deadline, and once you have failed, you can't catch up anyway, so you might as well procrastinate.