# Waterfall

"Waterfall" is a linear project management method with distinct, sequential phases. This sequential approach to project management and software development is a traditional methodology where progress flows steadily downwards through defined phases. These phases typically include requirements gathering, design, implementation, testing, deployment, and maintenance. Each phase must be completed before the next one begins, resembling a waterfall cascading down in a linear manner.

<figure><img src="/files/G65oCof9eHbMlcdgQE7n" alt="" width="450"><figcaption><p>Image by <a href="https://www.tmap.net/page/waterfall">Tmap</a></p></figcaption></figure>

One of the key features of the waterfall model is its emphasis on extensive upfront planning and documentation. This methodology assumes that requirements can be clearly defined at the beginning of the project and that changes to those requirements are both infrequent and expensive.

While the waterfall model has been widely used in the past, it has certain limitations, particularly in today's fast-paced and dynamic business environment. Critics argue that its rigid structure can lead to difficulties in accommodating changes and responding to customer feedback effectively. As a result, many software development teams have adopted more flexible and iterative approaches such as Agile or DevOps.

#### Further Viewing

{% embed url="<https://www.youtube.com/watch?v=bNLcRdrSQAU>" %}

#### Further Reading

{% embed url="<https://kasata.medium.com/agile-and-waterfall-development-a-comparison-and-selection-guide-5762120fe17c>" %}

{% embed url="<https://www.techtarget.com/searchsoftwarequality/definition/waterfall-model>" %}

{% embed url="<https://kruschecompany.com/waterfall-software-development-methodology/>" %}

{% embed url="<https://dcmlearning.ie/scrum-resources/agile-and-waterfall-the-difference-between-methodologies.html>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.designreference.xyz/leadership/process/waterfall.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
