Software prototyping is the activity of creating prototypes of software applications, i.e., incomplete versions of the software program being developed.
Application prototyping is usually used in software development at the beginning of project, so customer could compare if the software made matches the software specification according to which software is built.
Another valuable benefit of prototyping is that software designer and implementer can get timely feedback. It also allows developers making some insight into the accuracy of project estimations and whether deadlines proposed can be successfully met.
Process of prototyping consists of following steps:
- specify basic requirements (including input and output information desired);
- develop prototype - it includes only user interfaces;
- review - customers, including end-users, examine the prototype and provide feedback on additions or changes;
- revise and enhance prototype - using feedbackand specifications, prototype is improved. If necessary, steps three and four are repeated.