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. |