We prototype so we may fail and learn from our mistakes. There is little point prototyping if you have no time/budget to iterate.
He’s right, and it points out why prototyping is important — because we’re going to make mistakes. It’s rare that the first draft of anything is perfect: you will do things wrong, you will make mistakes, you may not fully understand the problem and may actually come to understand it better due to that first pass.
It’s also true that if you don’t have time or budget to do more than one pass, you can’t prototype because your first draft will be what you deliver.
What’s not directly stated in this is that if you can’t prototype, if you’re unwilling to budget the time and money and resources to prototype, then what’s the point? That is, unless you’re willing to accept shipping something half-assed. Unfortunately so much of the computer software world is willing to do so, and that explains the sorry state of software today. *sigh*
It’s rare to find a company that gets it and is willing to invest what it takes to get there. That means many iterations, code review, and a willingness to not ship until it’s ready.