I have a certain mentality where I will plan a feature, and then I will spend literally forever poking holes in that feature and thinking about all the ways it will fail. This demotivates me greatly.
I think it is better to plan the happy path, then take a finite, planned amount of time to mentally test it and note corners and edges, then take a stab at iteration, then go back and re-evaluate. I think this is probably how normal people do this, but I also think it's easy to get stuck on one of those modes. One of my architects is stuck on happy-path mode, and it's really hard to get them to actually think about implementations.
---
Notes on the 6 hats: I think the important thing is not to get stuck on one hat. You may pick some of these as your focus, but I think it's important to have some balance as well.
Hat Color - Original Theme/My theme
White - Data/Data Analysis
Yellow - Optimism/Happy Path Plan, Architectural View
Blue - Process/ Project Manager, Task management, Scrum
Black - Pessimism/Testing view, how will it go wrong
Green - Creative/Implementation Phase (just write some code)
Red - Emotion/Iteration Review, Hot wash