In the world of software development or foreign terms Software Development, cannot be separated from the stages that must be passed so that the software developed can be completed as expected. There are many software development methods and also custom developed software services that I found in various sources on the internet, and one of them is the waterfall model.

The waterfall is also often referred to as a traditional method and is the method most often used in software development. The cycle in this method is often seen as a classic software development method. The step in the waterfall method is illustrated by the sequence of process flow where each stage will be started/performed if the previous stage has been 100% completed. So it is not possible to go back to the previous stage to make some changes.

Advantages:

The waterfall is very simple, easy to understand and used for beginner developers.
Easy to manage, because each stage has specific tasks.
It saves time because each stage is processed and completed at once.
The waterfall is very effective for developing software on a small scale with some easy-to-understand software requirements.
Testing (testing) is easy to do because it refers to a test scenario that has been defined in the previous functional specifications.

Deficiency:

This model can only be used when the exact requirements are needed.
This model cannot be applied to system maintenance (only for the development of new systems).
the main drawback of this model is that once it is in the testing phase, there is no possibility to go back to the previous stage to make a change.
There is no possibility to produce some other software until the last stage of the cycle is completed.
There is no choice to know the final outcome of the project as a whole.
This model is suitable for small projects but is not suitable for old and sustainable projects.
Less ideal for projects with very moderate requirements and large scope for modification.