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