That’s the theory any way. An iteration is defined as “A process of repeating a set of operations until a specific result is achieved”. Iteration in software works because we can typically build something quickly for stakeholders to review. From that feedback, we can revise the design. For stakeholders, sometimes they don’t know exactly what they want, so iterating allows them to change their minds without waiting until the final product to discover it wasn’t what they wanted at all.
Read more at The Abstract Software Architect