Let’s talk about the most popular software development methodology. It is called Waterfall. Software developers all over the world think they know it very well. However, this methodology has a long history, so there are lots of things we should learn about it. In this article we will give the full Waterfall definition and describe the main principles of this popular methodology.
The first thing we should know about Waterfall is that it was the first software development methodology. In 1950s it originated along with the software development industry itself. Waterfall came to programming from the sphere of hardware development. It is actually a typical manufacturing methodology applied to software development.
Waterfall is based on three main principles: low customer involvement, strong documentation, and sequential structure. Let’s look at them in greater detail to gain a better understanding of this methodology.
The degree of customer involvement in Waterfall projects is very low. That is because of the fact that Waterfall teams do not want to disturb the client during the period of project realization. Most customers consider such approach very convenient. Waterfall developers usually conduct only two meetings with their client during every project. The first of them takes place before the work on the project starts. Its main goal is to document the customer’s demands regarding the future software product. The second meeting is conducted only after the final product is ready to be delivered.
Documentation is an important part of every Waterfall project. As we have already mentioned, the demands of the customer are documented before the project begins. All further work of a Waterfall team is based on these documents. At the design stage the team creates even more documentation. Later it is used at all stages of project realization.
Sequential stages are the main principle of Waterfall methodology. Traditional Waterfall projects have only five stages that should be passed one after another. However, today there are lots of Waterfall projects that have seven stages. The main thing you should know about Waterfall system of sequential project realization is that the team cannot return to previous stage of work even if something in it went wrong. Many Waterfall teams have to start their projects from the very beginning because of serious bugs detected at the last stages of their realization. Most modern software developers consider this feature the greatest disadvantage of Waterfall methodology.
Waterfall and definition of done
Most specialists agree that Waterfall definition of “done” is quite simple. That is because of the sequential structure of this methodology. Unlike Agile methodologies, Waterfall does not produce separate intermediate products that are united in one software product only at the end of the project. Hence, “done” in Waterfall means that the product is completely ready to be delivered and all customers’ requirements are met.