Agile is a type of software development methodology that focuses on building products in an iterative and incremental fashion. It is based on the idea that software development should be flexible and responsive to change, while still maintaining a high-quality product. Waterfall is a type of software development methodology that focuses on building products in a sequential and planned fashion. It is based on the idea that software development should be stable and predictable, while still maintaining a high-quality product. In order to have successful projects, companies need to implement processes like the Waterfall or Agile methodologies. When using the waterfall method, there are several steps involved with each phase of project management: planning, implementation, testing and release. The steps are usually done sequentially without much flexibility or control over changes.