Rapid prototyping


In rapid prototyping interactive prototypes are developed which can be quickly replaced or changed in line with design feedback. This feedback may be derived from colleagues or users as they work with the prototype to accomplish set tasks.

This method is concerned with developing different proposed concepts through software or hardware prototypes, and evaluating them. In general the process is termed ‘rapid’ prototyping. The development of a simulation or prototype of the future system can be very helpful, allowing users to visualise the system and provide feedback on it. Thus it can be used to clarify user requirements options. Later on in the lifecycle, it can also be used to specify details of the user interface to be included in the future system.

Within software engineering circles the method is closely associated with user interface management systems and various design support tools. The latter tools offer the designer libraries of process and graphical interface elements for defining the software’s logical structure and ‘look-and-feel’. Here the title refers to an approach adopted by software developers in which the prototypes exhibit a higher fidelity with the end product than those created as part of other methods such as paper prototyping.


  • Gives users (especially the general public) a tangible demonstration of what the system is about.
  • Permits the swift development of interactive software prototypes.
  • Prototypes created by this method have a high fidelity with the final product
  • The prototypes created under this method support metric-based evaluations


A general procedure for adopting the rapid prototyping method is outlined below.

  1. Allow enough time to create the prototype. If the prototype is to be evaluated with users then allow time to design relevant tasks, recruit the users, evaluate the prototype and report the results.
  2. Assemble the necessary equipment, including the hardware and software tools necessary to create the interactive prototype.
  3. Develop the prototype itself.
  4. Select appropriate users to test the prototype, trying to cover the range of users within the target population. A facilitator will also be required to instruct the users and run the evaluation.
  5. Prepare realistic tasks to occupy the users as they work with the prototype.
  6. Pilot the evaluation procedure and ensure the prototype can be used to accomplish the tasks.
  7. Ensure recording facilities are available and functioning.
  8. Conduct each session. The facilitator instructs the user to work through the allocated tasks, interacting with, and responding to, the system as appropriate.
  9. If necessary additional information can be obtained by interviewing users following their use of the prototype. Debrief and thank the user.
  10. Analyse the obtained information and then summarise the observations and user evaluations. Determine the themes and severity of the problems identified.
  11. Summarise design implications and recommendations for improvements and feed back to design team. Video recordings can support this.
  12. Where necessary refine the prototype and repeat the above process.

When using this method, avoid spending too long on the development of initial prototypes as user evaluation may result in substantial changes. Also, avoid making the prototype too polished as this may force users to accept it as finished. Do not put in features that will raise the users expectations but which are unlikely to be achieved with the real system (e.g. too fast response times, too sophisticated graphics) and do not put too much effort into particular features (e.g. animations) which may not be required.

Be aware that the method requires software development skills. Also, although rapid, the method can often be more time consuming than other approaches and that resources required are greater than paper and pens due to the need for software and hardware.

More Information

Many tools exist for producing rapid prototypes ranging from a sequence of Microsoft PowerPoint screens, to script based programming systems such as HyperCard, Toolbook and Visual Basic that can help to create a software prototype. The method requires more sophisticated technical resources than is the case with low-fidelity prototyping methods that rely on paper materials. An additional cost of use is the level of human expertise required to master the supporting development tools, along with the time necessary to implement a software prototype.

Alternative Methods

Alternative methods that can be used earlier in the lifecycle are:

Background Reading

Andrews, D.C. (1991) JAD: A crucial dimension for rapid applications development’. Journal of systems management, March 23-31.

Isensee, S, & J Rudd (1966) The Art of Rapid Prototyping. International Thomson Computer Press, London.

©UsabilityNet 2006. Reproduction permitted provided the source is acknowledged.