My solution is similar (breaking down the problem), the cause is - at least partially - different. If I am procrastinating in software development or research it is (1) for complexity reasons, (2) for foreseeable vast grunt work I have already done and solved in the past. Example (1): I have to choose between at least two fundamental different ways to get ahead in writing software. I know that implications come late,…
For (2), I do indeed loathe retracing some task that's similar to something I've done in the past. One thing that sometimes helps is to find a way to put a new spin on it. Maybe use an unfamiliar language or data structure. Or optimize for something different. Or push 'git' to the max while working on it.