A design process built on repeated cycles of designing, testing with users, and refining based on what's learned. Unlike linear approaches, iterative design treats every version as a hypothesis to be tested rather than a final answer — each round making the product incrementally more aligned with real user needs.
Common contexts
- Running three rounds of prototype testing on a checkout flow before engineering picks up the final spec
- Shipping a simplified version of a feature to 10% of users and iterating based on behavioral data before full rollout
- Documenting what changed between each design version so the team can trace decisions back to specific research findings
Use when
Use iterative design for any feature where user behavior is difficult to predict in advance — the earlier you test a rough version, the cheaper the corrections become.
Avoid when
Don't iterate without a clear learning objective per cycle — unfocused iteration produces a product shaped by whoever gave the last round of feedback, not by users.
Iteration only improves a design if you're changing the right thing — without a clear hypothesis each round, you're just spinning.
Real-world examples
- Instagram Stories underwent 11 internal prototypes over eight weeks before launch; each user-testing round surfaced one key change that shaped the next iteration.
- GOV.UK's Universal Credit application reduced form abandonment from 65% to under 20% through 14 design iterations over two years, each informed by fortnightly usability sessions.
- Amazon's checkout flow has been iteratively refined hundreds of times since 1997; the 1-Click purchase, now a core e-commerce pattern, emerged from a small iterative experiment.