Agile model is one of the latest software development models which has soon gain popularity due to its accurate, detailed consistent, simple and comprehensive nature. The basic idea behind agile model is delivery of software in small parts and small frames called iteration which are miniature project themselves. The requirement keeps changing very rapidly and the development team using agile are always ready to deal with the changes. The two most widely used flavor of agile are Extreme programming and Scrum. Agile development model provides more flexibility as compared to traditional methods and relies on team integrity, principles and self motivation.
Waterfall model is one of the most widely used development model. It is used when the requirements are clearly defined since beginning and frequent changes are not expected. It follows chronological development method which involves stepwise development. Waterfall Model has derived its name because here work flows steadily downward like a waterfall. The various stages it goes through include conception, initiation, analysis, design, construction, testing and maintenance.
Prototyping development model is used when the client is not very clear about the requirements of the project. An initial prototype of the project is first presented to the client. These prototypes are refined and the final requirement is freeze beforehand. A close communication between company and client is the key to success for prototype model. It is an iterative process which uses different trial-and-error before the prototype is finalized.