I don't think you can think too much. But thinking un-aligned with reality gets bogged down sooner or later. Sadly it tends to be later with some of the more grandiose & expensive schemes people dream up for the rest of us.
This is why deadlines are useful. The customer cares what was delivered, not how exquisitely sculpted my code was.
So the acme of skill is to nail the 80% of the challenge that is readily automated, eschew the yak shaving, and then maybe "polish the cannonball" if the problem comes 'round again.