Skip to content

Waterfall

Rob Moffat edited this page Mar 23, 2018 · 13 revisions

Waterfall is something of a swear-word in Development these days. It's widely considered tha

// image of waterfall techniques

Having large cycles in a waterfall project of many months or many people has been shown to be a recipe for cost and budget overruns. But, the same techniques underpinning Agile

Risks Prioritised

You can see the priority Waterfall places the risks by observing the order of the steps:

It's likely that the Waterfall-Style methodologies were inspired by the construction industry, wherein we try to [Design Up Front] in order to avoid the cost of re-work: once concrete is poured, it's expensive to change it again, compared to the cost of updating the design in a diagram. In the same way,

In any construction project, there are likely to be lots of stakeholders - landowners, neighbours, government, clients and so on.
Waterfall tries to mitigate this risk by getting Sign-Offs as it goes along.

When Waterfall was originally conceived, automated testing techniques were not well established. If you expect to perform a large manual testing cycle for each release, then clearly, few releases looks cheaper on paper.

4. Need For Dates

According to the Wikipedia article,

Defining Characteristics

  • As shown in the diagram above, the software process is broken into distinct stages, to be carried out one-after-another.
  • At the end of each stage is a sign-off, where the results of the stage are completed.

What risks does it prioritise?

  • [Technical Debt]

Variations

  • Prototyping: Picking a particularly high-risk part of the project (such as UI elements) and delivering it first.
  • Business Case: Adding a stage in the at the start of the project to perform some benefits calculations.
  • Cycles: Delivering in multiple, incremental stages.

(list of main features)

  • like building a house

Major Practices

Clone this wiki locally