Waterfall Process Model: Principles
Waterfall process model is probably the most popular methodology of software development. Teams and company’s all over the world use it to manage their projects. However, there are still programmers who want to know more about its features. In this article we will tell you how Waterfall model processes. But the first thing we should do is to find a proper definition for Waterfall.
Waterfall is often called the traditional methodology of software development. It originated in the 1950s. The methodology was initially used in hardware development, but after the invention of software development it was applied to this industry. Today Waterfall remains one of the most popular process models. It is strongly criticized by some programmers that prefer to use Agile methods. However, most software development companies still use Waterfall because it is well known.
Waterfall model is based on three main principles: low customer involvement, strong documentation, and sequential structure. Let’s look at them in greater detail.
The degree of customer involvement into Waterfall projects is very low. Some clients consider it convenient because they don’t have to participate in various team meetings and contact the team during the period of project realization. The first meeting of the customer with the developers is conducted before the work on a project begins. Its main goal is to document all customer requirements. The next meeting is conducted only after the final product is ready to be delivered. Some software developers consider this principle a big disadvantage of Waterfall methodology. That is because of the fact that in some cases the customer can change his initial requirements during the period of project realization. In such cases he may not accept the final product and the team will have to start the project from the very beginning.
The documentation in all Waterfall projects is very strong. Some specialists say that is because of low customer involvement. Instead of discussing all features with the client during the project, the developers have to document them before the project starts. That is why Waterfall projects are not flexible. All activities of Waterfall teams are based on the initial project documentation. At the stage of design when the architecture of the future software product is defined, Waterfall developers also formulate lots of documents to base their further work on them.
The principle of sequential stages is the main principle of Waterfall. It is simple and complex at the same time. Every Waterfall project has a number of sequential stages. Usually there are five of them, but some projects have seven stages. All of them should be performed one after another. If the team had already finished one stage, it cannot return to it. It has to run the project from the very beginning to make some corrections. Most programmers consider this feature the greatest disadvantage of Waterfall.
The example of Waterfall process model is simple. It looks as following:
– Defining the requirements
– Design
– Implementation
– Testing
– Maintenance.