Iterative design

Iterative design is an ongoing process of refining and improving an interface. It involves moving from a prototype to a fully functional product through many rounds of user testing and refinement of the product based on the findings of multiple testing sessions.

Since it is impossible to design a user interface without usability problems at a first iteration, in almost all cases interfaces should be designed iteratively.

1 (1)

Basic process of iterative design:

  1. Start with a paper prototype, test it with a small number of representative users.


  1. Fix the usability problems discovered, improve the interface based on the findings of the testing.
  2. Test it again to see if the fixes worked and whether the fixes introduces some other usability problems.
  3. Gradually proceed to higher-fidelity more interactive renderings of the user interface, continuously testing and improving it.


  1. Once the product is good enough to be released, do not stop there, if applicable, use analytics software (e.g. Google Analytics for websites, mouse tracking) to see how your product performs, continue making gradual improvements when needed.


Number of iterations: as many as possible, since it is never too many. It should be at very least 2, however, it is recommended to do 5-10 iterations or more.  Of course, one iteration is better than just creating a product based on your best guess without any usability improvements.

Type of testing: simple moderated user testing. Since you might have some budget and time constraints, discount usability methods could be used: firstly, create and test paper prototypes, planning about 1 day per iteration. Then gradually proceed to higher fidelity prototypes, but without too many graphics at the beginning. Quantitative usability scores can be calculated for comparisons, although it is not a requirement since that requires more participants, thus is unrealistic in many situations.

Number of participants: 5 or even fewer users will suffice, since you will conduct some additional testing at later iterations, there is not need to find all small usability problems in a design that is likely to be changed many times, just the biggest ones at each iteration.


Parallel design

Parallel design involves having several designers proposing designs individually and then selecting the best elements of each design. Considering varied independent ideas leads to better design decisions than group discussions (brainstorming).

Parallel design addresses one major issue with iterative design – working on improving only one solution, which might not be the most optimal one, thus parallel design process should ideally be used before proceeding with iterative design.


Basic process of parallel design:

  1. Invite 3-5 designers to a design session. If you have only one designer, ask him to create multiple alternative designs.
  2. Explain the goals of the system, the tasks the system should perform and typical usage scenarios to the designers.
  3. Ask the designers to design prototypes. There is no need to create very detailed designs of every page or screen or very sophisticated prototypes, just the most important elements. Designers should not discuss their designs with each other before the session is complete.


  1. Carry out user testing for each design. It can be done in one session, ask each participant to test 2-3 versions, more than that is likely to make them tired. It is important to ensure that the participants test designs in a random order, since they become more familiar with the product with each version tested.
  2. Interpret the results, see which parts of each design worked well, which caused problems. Do not try to identify the best design, but see what is the best in each of them.
  3. Create a single merged design based on the findings of the previous step.
  4. Proceed with iterative design.

Best practices in parallel design:

  • Define which pages or screens should be designed.
  • Clarify the expectations regarding the fidelity of designs – it is harder when one design is a paper prototype, another is a fully interactive prototype.
  • Establish evaluation criteria for user testing.

Although parallel design might sound like an expensive approach, it is not very expensive in the reality, since individual designs do not need to be fully implemented before testing, also, user testing for each of them is carried out in one session. The extra effort to do that has high payoffs: some studies demonstrate that it creates 67-70% higher usability that the average of each design.


Competitive testing

The process of competitive testing is very similar parallel design, except that your wireframe is tested together with 3-4 other companies’ designs.  This way you get insights into users’ behavior before you commit to a design, which is later refined through iterative design. It is easier than parallel design, because you do not need to create several design alternatives, you just use existing competitors’ designs (not suitable when you are designing in a new domain without many competitors or when competitors’ designs are not accessible – e.g. companies’ intranets).

Do not focus on statistical comparisons of usability metrics, instead, pay more attention to understanding why users behave in certain ways, what they find confusing, maybe there are some needs of users that are not met in any design.