I write both weekly and daily 'to do' lists if I'm stuck in a procrastination routine. The weekly lists are more general, the daily ones as detailed as possible, with essentially everything I should do that day, however small it seems. It feels good to tick things off - it shows me that I made progress and gives me incentive to go on. Usually there's one or two things on the list that I really should not postpone for tomorrow, and many less important ones. I sometimes do the big stuff first, sometimes last, it really depends on my mood that day. I also allow myself to push the smaller things to the next day if I don't feel like doing them. That way I feel that I have some wiggle room, but it's constrained to the stuff that doesn't matter much anyway.

I also noticed that I tend to be more efficient when I have something planned at the end of the day, i.e. I know have to leave the office at five and stop working until tomorrow. This gives me a feeling of a small deadline, and deadlines are good at eliminating procrastination. 

Finally, as someone mentioned already, nothing beats working with people. Having weekly meetings with my supervisor, where a decision is made on what I will achieve until the next meeting, tops it all.