This is a cyclic version of the linear model. In this model, once the requirement analysis is done and the design for a prototype is made, after the design phase, the development process gets started. Once the prototype is created, it is given to the customer for evaluation and verification. The customer tests the package and gives his/her feedback to the developer who refines the product according to the customer’s exact expectation. Post a finite number of iterations, the final software package is given to the customer. In this methodology, the software is devolved as a result of the periodic shuttling of information between the customer and developer.
This is the most popular development model in the contemporary IT industry sector. Most of the successful software products have been developed using this model - as it is very difficult (even for a whiz kid!). To comprehend all the requirements of a customer in one shot. There are many variations of this model skewed with respect to the project management styles of the companies. New versions of a software product evolve as a result of prototyping.