Prototyping is an interim step to producing a finished product which allows the possible product to be tested before the finished product is produced.

Prototyping can take many forms, such as mechanical designs, electronics designs, firmware designs, software designs, etc.

Prototyping is the first or preliminary version of a device or product from which other forms are developed.

A prototype is an early sample, model, or release of a product built to test a concept or process. It is a term used in a variety of contexts, including semanticsdesignelectronics, and software programming. A prototype is generally used to evaluate a new design to enhance precision by system analysts and users.

Prototyping serves to provide specifications for a real, working system rather than a theoretical one.

In some design workflow models, creating a prototype (a process sometimes called materialization) is the step between the formalization and the evaluation of an idea

Prototypes explore different aspects of an intended design/product:

  • A proof-of-principle prototype serves to verify some key functional aspects of the intended design, but usually does not have all the functionality of the final product.
  • A working prototype represents all or nearly all the functionality of the final product.
  • A visual prototype represents the size and appearance, but not the functionality, of the intended design. A form study prototype is a preliminary type of visual prototype in which the geometric features of a design are emphasized, with less concern for colour, texture, or other aspects of the final appearance.
  • A user experience prototype represents enough of the appearance and function of the product that it can be used for user research.
  • A functional prototype captures both function and appearance of the intended design, though it may be created with different techniques and even different scale from final design.
  • A paper prototype is a printed or hand-drawn representation of the user interface of a software product. Such prototypes are commonly used for early testing of a software design, and can be part of a software walkthrough to confirm design decisions before more costly levels of design effort are expended.