I am old enough to remember where this came from...
I used to do C for quite a while, then I made my hobby (Perl and scripting) my day job.
If given a certain size of a problem while working alone, I used to sit down and think for 1/2 a day or so, then develop (coding and also thinking more) for a week or two.
After I went scripting, this didn't work.
Since I could over an afternoon throw together a solution to the same size of problem which took a week in C, it was just not realistic to think first!
The best solution was to throw something together, look at it and then rewrite it if I didn't like it. The sheer development speed felt like I had gotten a sports car.