I practice this by writing API documentation. When I can't seem to write code or want to take a break, I write out a plan of what I'm going to do or flesh out the documentation. Not only does it provide me a rigid framework for what I need to code, but it helps the user using my product as well.