The waterfall methodology is a software development methodology that is based on the sequential-linear approach of software development. It reinforces the notion of “define before design” and “design before code”.
Whereas agile is based on an incremental-iterative approach where requirements are expected to change frequently.
|The waterfall methodology is sequential and linear.||Agile methodology is incremental and iterative.|
|Requirements have to be frozen at the beginning of SDLC.||Requirements are expected to change and changes are incorporated at any point.|
|The working model of software is delivered at the later phases of SDLC.||The working model is delivered during the initial phases and successive iteration of the model is delivered to the client for feedback.|
|It is difficult to scale-up projects based on waterfall methodology.||Scaling up of products is easy because of the iterative approach.|
|Customers or end-user doesn’t have a say after the requirements are frozen during the initial phases. They only get to know the product once it is built completely.||Frequent customer interaction and feedbacks are involved in agile methodology.|
|Waterfall requires formalized documentations.||In agile documentation is often neglected and a working prototype serves as the basis for customer evaluation and feedback.|
|Testing is performed once the software is built.||Continuous testing is performed during each iteration.|