'Reminds me of maths, or writing, even. You can't never jump directly to the solution a complete work until you've previously gone through a process of some kind. You have to get the data/content down to paper, work around with it, and then, and only then the solution will start to reveal itself. I'd say acknowledging this pre-condition to play around more or less improductively with the problem at hand is the first real step to really get things done (well).
This is so contrary to our popular conception of what makes a great programmer: easiness to do things quickly, without practically thinking, even. Speed really only happens once you took your time to solve that kind of problem before.