Prototyping Model is used when the customers do not know the exact project requirements beforehand. In this model, a prototype of the end product is first developed, tested and refined as per customer feedback repeatedly till a final acceptable prototype is achieved which forms the basis for developing the final product.
System is partially implemented before or during the analysis phase thereby giving the customers an opportunity to see the product early in the life cycle.
Advantages of using Prototype Model :
- This model is flexible in design.
- It is easy to detect errors.
- We can find missing functionality easily.
- There is scope of refinement, it means new requirements can be easily accommodated.
- It can be reused by the developer for more complicated projects in the future.
- It ensures a greater level of customer satisfaction and comfort.
- It is ideal for online system.
- It helps developers and users both understand the system better.
- Integration requirements are very well understood and deployment channels are decided at a very early stage.
- It can actively involve users in the development phase.
Disadvantages of using Prototype Model :
- This model is costly.
- It has poor documentation because of continuously changing customer requirements.
- There may be too much variation in requirements.
- Customers sometimes demand the actual product to be delivered soon after seeing an early prototype.
- There may be sub-optimal solutions because of developers in a hurry to build prototypes.
- Customers may not be satisfied or interested in the product after seeing the initial prototype.
- There is certainty in determining the number of iterations.
- There may be incomplete or inadequate problem analysis.
- There may increase the complexity of the system.