For all the products I’ve worked on, iteration has been a vital part of the process. Not because it’s turned a bad product into a good one, but because it allows the designer to admit that they might not know the right answer to every design challenge on day one.
It’s pretty unreasonable to assume that a designer can completely understand how a product will be used before it’s ever used. It’s also unreasonable to assume that user behavior stays the same throughout time. It’s not that designers can’t achieve that kind of understanding at all, it’s simply an expectation that causes undue pressure to be right.
If Facebook hadn’t iterated, we’d have no timeline, no like button, no photo tagging, etc. etc. If Twitter hadn’t iterated, we’d have no @’s, and no #’s. Some of the most innovative, delightful, useable features of our products come to light when a designer sees how users behave, looks with empathy at feedback, and strives to constantly improve.