Iterating to a correct solution to a problem works well as a strategy for projects, but very poorly for smaller units of work like a feature or a bug fix. Often, doing the quick hacky solution for a feature won't show the problems it has for a while, by which time you've built things on top of it. Having to go back and fix that impacts far more than if you'd spent a little more time in the first place.
It's particularly important when you're designing data structure changes more than than code. Getting an API or a database table design right first time (or even just 'more right') is worth the time invested.
It's particularly important when you're designing data structure changes more than than code. Getting an API or a database table design right first time (or even just 'more right') is worth the time invested.