3. Evolutionary Prototyping

evolutionaryThe idea behind this is that an initial prototype is presented to the user. They provide feedback and suggestions for improvements.

These are actioned by the developer who then presents a more refined prototype. The user once more provides feedback. The process is repeated.

So at each stage the prototype 'evolves' towards the final system.

Hence the term 'evolutionary prototyping'.


An example: Developing the user input screen in a new customer records system.

1. Working with the analyst, the developer quickly puts together an initial prototype . This prototype is then tried out by users who provide immediate feedback.

The initial prototype may not even look like the final system - it may be just trying out user interactions with no interest in how it looks at this stage. The developer will lay out the appropriate raw input boxes and navigation buttons but without any graphic or colour work.

2. Users try out the prototype and inform the analyst of any changes needed to the interactions (not commenting on graphics or how it looks).

3. The requirement specification is updated by the analyst and the developer adjusts the interactions as needed.

4. The user tries out the adjusted prototype. They can either accept how it is now working or they once again inform the analyst of any changes that should be made. The process repeats.

5. The interaction aspect of the interface is eventually accepted and signed off.

6. Now perhaps the developers begin work on the graphics and the way the input screen actually looks.

7. A new prototype is released, now with all the graphics set up properly. The user tries out the prototype and comments on the design. Any changes needed are added to the requirements specification and the developer carries out the changes.

8. The prototype evolves towards the finished system.


The advantages of evolutionary prototyping are:

  • The delivery of the system is speeded up
  • The user engages with the system
  • The system is more likely to meet the user requirements

A problem with evolutionary prototyping is knowing when it is necessary to stop tweaking the system and actually finish the development.


challenge see if you can find out one extra fact on this topic that we haven't already told you

Click on this link: Evolutionary prototype