I have a lot to say on this topic, but I haven't written an article about it, for two reasons... come to think of it, more like for one reason, twice. The first reason is that, while I've learned quite a bit about procrastination in the past few months, I haven't learned much about it, and as a result, the essay I could write now wouldn't be as good as the article I could write a couple of months from now, after I've learned even more. The second reason is that, while I've learned quite a bit about procrastination in the past few months, I still do procrastinate, and besides that, I have a backlog of stuff I consider more important than writing this essay, and as a result, I've decided to postpone it until I've gotten all that other stuff done.
I figure a sketch is better than nothing, so I'm just giving you this stream-of-consciousness business you're reading now.
Procrastination, as far as I can tell, has two major causes. The first of these causes is akrasia: you know you should be doing something else, and you know what you should be doing, but you aren't doing it. This essay is about the second cause: disorganization.
Now, it's likely that you can think of at least one thing right now—a major homework project, or cleaning the entire house, or something—that makes you think, Dang it. I haven't done that yet, and I wish I had. I've been procrastinating. Ask yourself this question: when should you have done it?
Perhaps the answer is along the lines of "Well, I should have done that Tuesday morning, when I looked on my to-do list and saw that it was the top item on there, but instead of doing it, I played Minecraft for three hours." In other words, perhaps you can think of a specific time you should have done it, and you remembered that you could have done it, but instead, you did something that was less important. If all three of those things are true, then your problem is akrasia.
If any of those parts is missing, then your problem is not akrasia; your problem is disorganization. Let me explain.
Suppose that instead of thinking of a specific time you should have done the task, you simply thought, "I should have done that at some point". Even if you have perfect willpower, knowing that you should be doing something "at some point" isn't enough, because at any given time, there are lots of things that you should do "at some point". If there are fifty such things, then it is impossible not to postpone at least forty-nine of them, so you can't blame yourself for not doing those forty-nine.
Suppose that you think of a specific time you should have done it, but you didn't remember that you could have done it. Even if you have perfect willpower, you can't do the things you've completely forgotten to do.
And suppose that you think of a specific time, and you remembered that you could have done it, but instead you did something that was more important. Obviously, that's not akrasia; you simply had better things to do.
How can you fix these problems? The basic solution is simple: write down the things you have to do. All of them. Also write down the time frame in which you'd like to get them done, so that you can work on them in an order that makes sense, instead of just whenever they randomly pop into your mind.
About working on things in an order that makes sense. What order should that be, exactly? Well, I think there are two things that are worth taking into consideration here: importance and ease. Working on more important tasks first can be a good idea for obvious reasons. Working on easy tasks first can be a good idea for less obvious reasons: that makes it easy to get started (and getting started tends to be the hardest part), it gives you a feeling of success right away, and it makes the work seem more manageable. (If you have 60 things to do, and the first 50 are easy, that seems manageable. If you have 10 things to do, and they're all hard, that also seems manageable. If you have 60 things to do, and the first 10 are hard, that seems far less manageable!)
Assuming you have all your tasks written down and ordered sensibly, you're ready to begin executing your "work algorithm". What should that be? Simple enough. First, look at the first item on the list. If it's easy, do it. If it's hard, then break it into pieces, at least one of which is easy, and sort the pieces into a reasonable order. Repeat.
Breaking a hard task into easy ones is outside the scope of this essay (or, at least, this sketch of it).
Most what I think I know about organization is thanks to David Allen's "Getting Things Done". I highly recommend reading the first chapter, which will both give you some context, and convince you to read the second chapter. The second chapter will teach you organization in a nutshell.
This page on my wiki may be useful or interesting to read: http://wiki.zbasu.net/procrastination This page may be interesting, but probably not particularly useful: http://wiki.zbasu.net/weekly-progress