Iteration Is More Effective Than Perfectionism
Incremental improvements on each iteration (even if the initial iterations are not good) produces higher quality in the long term than aiming for perfection in a single try.
Start with a minimum viable product or proof of concept that is good enough to evaluate, and build on top of that foundation. There has to be a working whole to iterate on. If that whole is too big, then break it down into smaller parts and iterate on each part. It is important to take small steps.
For example, when you first learn to dance, you start with the basic steps, and learn how to move in time. Once you master that, you start adding additional components, such as hip and arm movements. This is better than trying to learn everything all at once.
Be careful of iterating on top of a weak initial foundation that cannot be improved on without significant changes. For example, building software features on top of bad code. Iteration is inherently conservative. Know when to start over and iterate on a new foundation.
In Art & Fear by David Bayles, there is a parable:
Well, came grading time and a curious fact emerged: the works of highest quality were all produced by the group being graded for quantity. It seems that while the “quantity” group was busily churning out piles of work”and learning from their mistakes”the “quality” group had sat theorizing about perfection, and in the end had little more to show for their efforts than grandiose theories and a pile of dead clay.
In The Design of Everyday Things by Don Norman, he talks about a concept called Human-centered design (HCD):
The HCD principle is to avoid specifying the problem as long as possible but instead to iterate upon repeated approximations. This is done through rapid tests of ideas, and after each test modifying the approach and the problem definition.
When learning new skills, increased repetitions is what increases the rate of learning and induces neuroplasticity. The nervous system itself was developed through evolution, which is based on iteration.