While the author makes some good points, I think he gets a little too enthusiastic, e.g. near the end:
"Your program will always be better off if you spend a day writing it 6 times, rather than designing it 6 times and writing it once."
Yes, but something like design, write, redesign, rewrite, rewrite... will likely be even better. And the more experienced you get---in the domain, the particular problem and orthogonally, the language, libraries and so on---the more you can do detailed design upfront and less code rewriting.
"Your program will always be better off if you spend a day writing it 6 times, rather than designing it 6 times and writing it once."
Yes, but something like design, write, redesign, rewrite, rewrite... will likely be even better. And the more experienced you get---in the domain, the particular problem and orthogonally, the language, libraries and so on---the more you can do detailed design upfront and less code rewriting.