I'm a procrastinator. Always have been. Deadlines work really well for me, because I usually have a keen sense of how long something will take (to deliver at an appropriate quality level). I also tend to do a lot of prep work for a piece of work early on, and then let things sit and stew in my brain - so when I'm ready to get started, I can pump it out... I just wait until the last minute to do it. So I need a deadline, otherwise I have a hard time actually getting things done.
Of course, procrastinating isn't always a great thing, so I've learned various way to ensure that I don't procrastinate inappropriately, and/or that I'm not wasting time. One of these tactics is to change it up when I notice that I'm not making headway on things.
Some of them are pretty straightforward: For example, not sure what you need to do? Make a list. (Don't forget to then do the things on said list.) Not sure how to get something done? Brainstorm. For bonus points, diagram things.
My best tip, though, is to change your environment. In undergrad, I would often kick off exam season with a major deep clean & reorg of my room/common spaces of the apartment. I do the same when I'm stressed at home. At work, if I can't get down to brass tacks, I'll step away from my computer and clean (yes, like actually wiping things down) and tidy my office. And then I'm usually able to think more clearly and get things done.
It's important not to forget about the relationship between our working environment and our productivity levels!
I also have this infographic pinned to my wall, where I can see it easily - it reminds me to change something if I'm not happy. Funny as it may sound, it's a reminder I need (and I suspect I'm not alone).