In this model the developers build a prototype during the requirements phase which is evaluated by the end users. After that the user gives feedback and based on that feedback the developer further refines the prototype. There may be cases like once seeing the prototype user thinks of adding new requirements to their model and they submit their new ideas back to developers and the developer’s works on them. When the user is satisfied with the prototype developer starts bringing it into the standard needed for a final product.
A prototype (a small version of the system) can be used to clear the vague requirements. A prototype should be evaluated with the user participation.
Repeated Steps of Prototyping Model
Requirement Gathering: New requirement gathering or modification of existing requirements based on client feedback
Quick Design/Build: Quickly complete the design and build the software based on requirements gathered in the earlier stage
Prototype evaluated by Client: Client evaluate the prototype to check the fit with their requirements
Refined the end functionality: Client refines the end functionality based on the evaluation and send back for modification
The detail steps of the prototyping model is shown in the below diagram.
Prototyping Model Diagram
Users can view their requirements as prototypes as new requirements are being gathered
Seeing the prototype user gets awareness of additional needed functionality for the customer.
Flexible design & flexibility in development can be achieved and thus a more accurate end product.
signs of progress produced is visible at every stage
Reduced time and costs
Improved and increased user involvement
Overall maintainability of the product is difficult
Process goes on infinitely; as development and testing take place parallel and takes time.
The customer may like the prototype and wants it to be delivered affecting our business