I have the same thought process as you, and I find it quite debilitating. It often manifests as a need to know everything about a problem space before even starting on a solution.
The upside is that on the whole I produce code that is logical, consistent, maintainable and relatively bug-free. But it takes a long time.
The upside is that on the whole I produce code that is logical, consistent, maintainable and relatively bug-free. But it takes a long time.