The waterfall model (plan-driven) of the traditional methodology used as a lifecycle for software development is well-known and straightforward. It is based on dependent phases of the software development life cycle (SDLC). Each phase depends on the completion of the previous phase. However, it has some problems due to today’s dynamic market and the need to deliver software products fast. This is true, especially in the software industry, where requirements change rapidly due to changes in services, laws, and technologies. Another problem with the waterfall is that it requires clear documented requirements before going to the next phase of design. The 2020 Standish Group Chaos Study shows that about 70% of any failing waterfall project is attributed to requirements [1]. In addition, the waterfall lacks the user’s participation during the SDLC, and this participation and involvement are becoming the main factor to the success of any software project.