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