Of course, this isn't a hard and fast rule. Sometimes an idea sucks, and you'll know that just by the fact that you can't get anybody interested in trying your product, even before asking to pay for it. That's where validation and testing come in, so I'm not saying to not validate and test. That's always step 1. All I'm saying is that new founders give up on good ideas way too early. Their expectations of overnight success do not match reality. Validate and test and iterate can take a long time.
And it's worth noting: sometimes iterate is not iterating on your product, but iterating on yourself as a founder. I stood in my own way a lot as a new founder, focusing on the wrong things. It took awhile to get past that. After I did, growth was much easier. But if I gave up early, assuming my product sucked, I would have never gotten to that point.