Occasionally I will run into an engineering problem that stumps me. Instead of actually making progress against it, I'll get stuck thinking in circles. I let my automatic problem-solving habits trap me into considering the same possible solutions over and over again.
I've stumbled on one trick to defeat circle think: ask yourself for advice. Present the problem to yourself as if you were asking another person for help. Then answer your own question while imagining the advice was for another person.
I think this works first because it forces you to clearly define the problem. Secondly, when offering advice to someone else, you're less concerned about how ugly the solution might be.
In addition to hopefully generating the best possible answer you can come up with, it may also give you more sympathy for folks who ask your advice.
Mark at Mark++ essentially gave me this idea. He would pop into my cube to ask for advice. By the time he got halfway through his explanation, he'd jump out of the chair. "I figured it out! Thanks!"
Mark used to joke that he needed a cardboard cutout to talk to. Funny how you sometimes needs another person to help bring out your expertise.