What Is Waterfall Methodology?
Let’s talk about Waterfall methodology. This method of software development is well known and widely spread all over the world. Most software development companies run their projects in Waterfall. That is why it is necessary to tell about this methodology in greater detail.
Waterfall is often called the traditional methodology of software development. That is because of the fact that it originated along with the software development industry itself. The history of Waterfall methodology began in the 1950s when a typical hardware development method was applied to software creation. At that time Waterfall methodology seemed to be innovational as the software itself. It was partially similar to a typical manufacturing process with strict documentation, lots of employees and sequential stages. To understand the nature of Waterfall methodology, let’s look at these aspects in greater detail.
The customer does not participate in Waterfall projects. Before the work on the product begins, the team interviews the client to learn his demands and vision of the required software. Waterfall developers document each word of the customer during this interview.
Later they use this documentation to plan and create the features of the software product. The customer can see the product only after it is finished.
The key feature of Waterfall methodology is that it is sequential. It means that it has a strict number of stages that are performed one after another. Each task or element of the final product should pass them. A typical Waterfall project has five stages: documentation, design, implementation, verification, and maintenance. However, there are also Waterfall teams that have more complex schemes of work with seven stages. Regardless of the number of stages, Waterfall developers cannot return to the stages that have already been done. To fix something in them the team has to run the project from the very beginning.
That was the reason for strong Waterfall critics and invention of a new methodology called Agile in the early 2000s.
Waterfall methodology is called traditional not only because of the way how it manages software development projects, but also because of the structure of its teams. A typical Waterfall team is big. It may include more than ten or even twenty employees. They are not interchangeable. Each of them works in own office and performs own tasks. The communication inside of such teams is weak. However, they have strict hierarchical structure. The project manager in Waterfall is not just an unnecessary position. He is the real leader and project chief. The project manager is the only person who makes final decisions on the functionality of certain elements of the software product. Other employees like programmers, testers, and analysts perform his orders. Hence, the project manager in Waterfall is responsible for success or fail of any project.
Now let’s talk about the disadvantages of Waterfall methodology.
As we have already mentioned, Waterfall does not involve the customer in the process of software development. This may be a problem, because the client is the only person who estimates the quality of the final product. If the team works independently, the software product may not meet his requirements. Such situation may lead to additional time and money expenses.
Sequential structure is another large disadvantage of Waterfall. The developers cannot return to previous stages of task performance if they have been already finished, so they often have to run the project from the very beginning.