A software prototype is a preliminary or first built working model of the desired product. It represents and resembles the original, desired product, in terms of basic or limited features or functionalities, but lacks the completeness. This operational dummy, gives an overview of the final product, which is to be developed.
What is Prototype Model?
It is one of the forms of the Software Development Cycle (SDLC) models, which is based on the quick initial development of the prototypes based on the currently available or limited requirements. This enables the developers, to understand the further requirements that need to be implemented in the software product, through receiving feedbacks, in respect of delivered prototype, from the client.
These prototypes are developed, through a less formal or informal way of development process i.e. each prototype is developed through specified, the traditional way of development process, viz planning, designing, implementation & development, but each of these phases lacks detailing and strict adherence to the requirements.
What happens during software Prototype Development Process?
The activities, that are carried out, in the prototype development process, may be understood through following given points sequentially.
What is currently available or limited known requirements are used to begin the development process.
These requirements are analysed and planned.
Based on the requirements, the quick design is prepared.
The design, developed during the designing phase, is then implemented to develop the software prototype.
Thereafter, the prototype is handed over to the client, for its evaluation.
Based on the feedback and reviews, received from the client, the prototype is either accepted for the further actual development process, and thereafter testing, to achieve the final product, or is being diverted to the designing phase, again, for the refinement.
An approach based on the prototype, which enables the client to perceive an overview of the final desirable software product and provide their feedback and reviews.
It is, usually approached, when the exact requirements are not available, or on the availability of few requirements.
Involvement of the client, who works as an approver, to either carry out the further development process on the prototype, to achieve develop the final product or may ask for the improvement in the prototype.
Earlier detection of defects saves both time and cost.
Missing functionality or feature can easily be identified.
The Complexity of the development process increases.
Risk of an insufficient amount of requirements analysis.
The client may likely to get confused, between what is observed in the prototype and what is being received in the final product.