Waterfall is the first methodology founded for the systems development life cycle. Also, it is called classic and traditional approach. It was established in 1970 by Winston W. Royce. It is about a sequential phase which used in the software developer processes, it called waterfall because the phases are flowing steadily downwards like the waterfall, and these phases are: requirement, design, implementation, verification, and maintenance. However, like any model, Waterfall has its pros and cons. First pros, it’s considered to be the simplest and the easiest model because it is easy to manage. Second, each stage has specific deliverables plus review processes in the same time. Moreover, the stages are well organized, and each step has a start date and finish date. Plus, testing is applied in every stage. Additionally, waterfall is the best option for small projects with clear requirements. Also, it is good for the large systems because it provides a lot of details. Furthermore, a well-organized documentation is provided by waterfall which is very important to move from each stage. Back to the waterfall cons, there will be a lot of budget and effort for writing the documentation after each stage. Waterfall is not flexible on responding to any changes that happen between stages. In addition, it is sometimes costly to be implemented. Further, when the customer tests the system and represent a feedback, these feedbacks will be difficult to contain into the project. Another issue is that when developers face problems they left it to the end to solve it and also does not allow for much revision.