Waterfall is a product and software development methodology. It breaks work into sequential stages flowing towards the completion of the project.
Typical stages within a waterfall process include producing a requirements document, designing the software architecture, designing the UX and UI, developing the software, testing prototypes, verifying that the work was completed to specification and finally entering a maintenance stage if required.
Costs and time requirements are known at the start of the project
A detailed specification allows new team members to become familiar with the project quickly
Unlike agile, waterfall does not allow for discovery, iteration, and refinement whilst developing the product. Instead, new requirements must be written.
As it is static, waterfall is not suitable for projects where client or business requirements may change during development