Fil Salustri's Design Site

Site Tools



Iteration is the process of repeating a set of tasks to refine some objective, where each repetition adds extra information to the process, which is used to improve subsequent repetitions.

Iteration is not to be confused with recursion, which is also a very important aspect of design processes.

Iterative processes are supposed to work like this:

  • Run through a series of tasks, given some input information.
  • The result of the tasks is deemed insufficient (i.e. not as good as it could be).
  • The tasks are rerun, but with the original input plus information about the last iteration's errors.
  • The result of this iteration is presumably better than the previous iteration.
  • Continue performing the series of tasks, taking into account the results of the previous iteration each time, until the result is “good enough.”

loopcarbig.jpgFig. 1: Cruise control for automobiles is a good example of an iterative process. (

Figure 1 shows a good example of an iterative process. The process works at the same level and with the same objects/entities, continually refining an output. The heating system in your home, and convergent numerical methods are also examples of iterative processes.

The question of when the results are “good enough” is an important one. If you're doing the tasks properly, then the differences between two successive iterations will become less and less. This is convergence. Generally, convergent processes only reach the “perfect” solution after an infinite number of iterations. Instead, we iterate until the improvement becomes so slight that it simply isn't worth the effort to continue iterating. That's when one can stop the iterative process.

Iteration in designing is when you have to repeat some steps over (and over) to get it right.

It has been shown (e.g. [IKE00]) that many, fast, short iterations early in the design process can cut total development time by as much as 50%.

So you don't want to go through the whole design process once then have to start over. You want to iterate over each stage quickly and often to most likely cut the time you need to spend fixing and redesigning things later.

This is also supported by one of IDEO's “rules” of design: fail often to succeed sooner.


[IKE00]. O. Isaksson, S. Keski-Seppala and S.D. Eppinger 2000. Evaluation of design process alternatives using signal flow graphs. J. Eng. Design 11(3):211-224.
design/iteration.txt · Last modified: 2020.03.12 13:30 (external edit)