As far as I'm concerned, all software development can be classified as a Wicked Problem. It's far too complex and far too annoyingly micro-complicated to allow for a whole lot of rational planning. I know from personal experience that I can never get very far without writing code to better understand the problem I am trying to solve.
'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.