Mr. Rogers is grumpy. But it does solve all the customer problems, in an elegant way, so he goes off and does it. The moral of the story is that with a contrived example, you can prove anything. No, that's not what I meant to say. The moral of the story is that when you design your product in a human language, it only takes a few minutes to try thinking about several possibilities, revising, and improving your design.
Nobody feels bad when they delete a paragraph in a word processor.
But when you design your product in a programming language, it takes weeks to do iterative designs. What's worse, a programmer who's just spend 2 weeks writing some code is going to be quite attached to that code, no matter how wrong it is. Nothing Speedy's boss or customers could say would convince her to throw away her beautiful converting code, even though that didn't represent the best architecture. As a result, the final product tends to be a compromise between the initial, wrong design and the ideal design. So that's giant reason number one to write a spec.