An original type, form, or instance serving as a basis or standard for later stages.

"Prototyping has several benefits: The software designer and implementer can get valuable feedback from the users early in the project. The client and the contractor can compare if the software made matches the software specification, according to which the software program is built. It also allows the software engineer some insight into the accuracy of initial project estimates and whether the deadlines and milestones proposed can be successfully met. The degree of completeness and the techniques used in the prototyping have been in development and debate since its proposal in the early 1970s."

The process of prototyping involves the following steps
  1. Identify basic requirementsDetermine basic requirements including the input and output information desired. Details, such as security, can typically be ignored.
  2. Develop Initial PrototypeThe initial prototype is developed that includes only user interfaces. (See Horizontal Prototype, below)
  3. ReviewThe customers, including end-users, examine the prototype and provide feedback on additions or changes.
Revise and Enhance the PrototypeUsing the feedback both the specifications and the prototype can be improved. Negotiation about what is within the scope of the contract/product may be necessary. If changes are introduced then a repeat of steps #3 and #4 may be needed.