Waterfall methodology — when to use it?

TheProjectista
3 min readOct 15, 2022

Million-dollar question: should you use Agile or follow the Waterfall approach for your next project? There are several factors to consider when you are choosing between these methods.

In this article, I will focus on describing the Waterfall methodology, its advantages and disadvantages and when you can use it. In a next article, I will promise to do the same for the Agile method.

So what exactly is Waterfall?

Considered the basic software development life cycle model, is a linear and sequential form of project management that requires the project development team to complete each project phase before moving on to the next one.

Image by the Author

1. Requirements Analysis

Key condition of the waterfall method is that you gather and analyze customer requirements at the start, hence you can plan every project phase without further customer correspondence until the product is complete. During this phase, you should also produce a requirements document, defining the product’s expectations.

2. Design

This phase’s purpose is to translate the requirements into a technical format that includes hardware and system requirements, programming languages used, network infrastructure, and overall software architecture. You should create a software design document to track such information.

3. Implementation

The magic happens. The source code is written, the specifications are turned into a working code. The system is developed in small units, that are then integrated.

4. Testing and Deployment

Time to check whether each module works. The testing team receives the code and testers run test cases either manually or through automation. You can involve the client in order to ensure all requirements are met.

Right after the software is deployed into a live environment in order to test its performance. Once deployed, it becomes available to end-users. This phase may also include users training to communicate instructions or benefits of the system.

5. Maintenance

The customer uses the product, discovering bugs and other errors that may occur during production. The team applies fixes as necessary until the customer is satisfied.

Waterfall advantages

  1. This model is very simple and is the right approach for small projects where requirements are clear.
  2. The phases and activities are well-defined. Therefore, it is easy for the project managers to plan resources, schedule, and define goals.
  3. Each phase has a clear deliverable, making the process simple. The entire process is always well-documented.

Waterfall disadvantages

  1. The model is rigid. It is not possible to change requirements once the process begins. There is no space for feedback.
  2. Not applicable for big projects with frequent requirement changes.
  3. Testing starts after completion of the development. This may cause late detection of bugs and errors.

When to use Waterfall?

This model is appropriate for small projects with clear goals where requirements are not ambiguous and fixed (Product definition is stable and does not change overtime), as this model lacks flexibility.

If the project has strict deadlines, Waterfall enables completion of the project, adhering to time constraints for developing the product. However, once the product is developed and if errors occur, the cost of fixing them is high, because you need to update everything from the document to the logic.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

TheProjectista
TheProjectista

Written by TheProjectista

Project Manager with passion for Data, AI and new technologies. Connect on https://www.linkedin.com/in/michelangelo-ischia/

Responses (8)

Write a response