| Testing is done in parallel with the development activity which means that as the development progresses so does the testing |
Testing is generally done at the end of the development |
| Agile is an iterative and incremental approach |
It is a sequential design process where design, development, testing and other phases happens one after another in a sequential way |
| Testing is performed concurrently with software development |
"Testing" phase comes after the "Build" phase |
| Requirements are collected even late in development. |
Requirements are collected before starting the development in Waterfall model. |
| Agile teams participate in changing requirements. |
Waterfall teams were not involved in changing requirements. |
| Agile methodology is known for its flexibility |
Waterfall is a structured software development methodology, and often times can be quite rigid |
| It believes in constant feedback and accepts changes to requirements |
Customer feedback is usually not collected until the very end of the project, and changes are discouraged |
| Agile focuses on collaboration, small releases and customer feedback |
Team coordination is very limited |
| Agile divides the project into sprints. |
The waterfall divides the project into stages. |
| Self-motivated and self-organizing teams drive the project |
Project manager drives the project as a central controlling authority |
| It allows us to complete multiple small active projects. |
It allows us to complete a single project. |
| Testing phase starts in parallel with development in Agile. |
Testing phase starts only after the development in Waterfall model. |