Waterfall

Waterfall is the most popular version of the systems development life cycle (SDLC) for software engineering and IT projects. It proceeds through a sequential, single direction process that flows like a waterfall.

We’ve detailed the key components of Waterfall including its phases, advantages and disadvantages, strategic comparisons to Agile, and definitions of two important structures leveraged in Waterfall: work breakdown structures and the critical path method. In addition, you’ll find helpful resources to help you create effective Waterfall charts for your next project.

The Phases of Waterfall Methodology

The Waterfall methodology is broken into seven stages, and each stage is completely dependent on the previous ones. This process can be planned using a Gantt chart, which is a linear bar chart that shows the start and end dates for each task.

Before a team can advance to the next step, the previous stage must be completed, reviewed, and approved. This method originated in industries where change is too costly or time consuming to run into, so the Waterfall methodology gives tight structure to these projects to ensure the most efficiency.

The seven stages of Waterfall include:

  1. Conception: This stage starts with an idea and a baseline assessment of the project, its cost analysis, and its benefits.

  2. Initiation: Once the idea is created, the project team is hired and objectives, scope, purpose, and deliverables are defined.

  3. Requirement gathering and analysis: A feasibility analysis is conducted for the project and documented in the requirement specification document.

  4. Design: Design specifications are created, studied, and evaluated in an effort to understand what the final product should look like, along with the actions needed to get there

  5. Implementation/Coding: The coding of the software actually begins. All previous planning is put into action during this phase.

  6. Testing: After the coding is completed, testing is performed to ensure that there are no errors before the software is delivered to the customer. An optional user acceptance test (UAT) can also be performed, where users try the software before distributing it to the greater public.

  7. Maintenance: This phase relies on the customers to report on any additional issues that may have been encountered in the real world. The development team works to solve and modify the software based on this feedback.

Additional Resources:

What Is a Work Breakdown Structure?

A work breakdown structure (WBS) is a visual tool used to create, define, and track a project deliverable and all of its subsequent components. A WBS is a decomposed visual of a total scope of work that determines the project objectives, the steps needed to complete the objectives, and the desired outcome or product.

By focusing more on the individual deliverables as opposed to the method to achieve these tasks, unnecessary work, risk, and wasted time is eliminated from the equation. The focus is shifted from a large project towards a deconstructed task list, helping teams accomplish their goals faster and more efficiently.

Additional Resources:

What Is the Critical Path Method?

The critical path method, a project management technique that came to the forefront in the 1950s, gives companies the ability to identify the success that hinges on completing the tasks of the project effectively. This method determines the sequence of successive activities that will affect the duration and successful completion of a project.

The CPM helps to determine how a delay or setback in a project will affect the entirety of the proposed plan, deeming certain tasks as critical because of the more detrimental consequences in failure of timely completion. Most projects have only one critical path, but some can have multiple critical paths that must be followed and maintained in order to stick to the predetermined timeline.

Additional Resources:

The Advantages and Disadvantages of Waterfall

For simple, structured projects, Waterfall is best used because of its linear and easy-to-follow design. Its visual representation makes it easy to understand the steps that must be completed to achieve project objectives.

Some further advantages of Waterfall include:

  • Ease of use and manageability: Waterfall is an extremely rigid model that designates the steps needed to push further down the sequential stages of a project. It’s easily understood because it follows the same pattern for each project and requires no prior knowledge or training to get started. Each of the seven phases has specific components that need to be met and reviewed, making it easy to maintain control over each step.

  • High level of discipline: Because the start and end points of each step are determined at the onset of a project, it’s easy to share progress, report on missed deadlines, and eliminate risk associated with project management.

  • Comprehensive documentation: Waterfall requires that each phase is reviewed and documented before moving on to the next, ensuring a greater understanding of the tasks that were completed in each phase. There is a physical way to follow, report on, and refer back to the project because of the commitment to documentation associated with Waterfall.

The largest downfall to Waterfall is its lack of adaptability to change. Because Waterfall relies on a linear, dependent model, the ability to bounce back from issues is hindered.

Further disadvantages to Waterfall include:

  • Slowed accomodation to change: Once a phase is completed, there is no way to go back and change the outcome without repeating the entire process from the beginning. It is both time-consuming and costly to allow room for change within this process, making it difficult for teams to maintain strict timelines if not everything goes as planned.

  • Longer delivery times: There are extensive steps that a project must go through before it even begins the execution phase. As a result, it takes longer to see a product begin production until late in the life cycle.

  • Difficulty in determining requirements: An analysis of the project is done very early in the process, meaning stakeholders and customers must identify their desired outcome early on. However, it can be hard to determine the desired outcome without seeing the project in progress - especially that early in the design phase.

When to Use Waterfall

Because of its highly structured nature, Waterfall is best used in industries where firm tasks and deadlines need to be set and maintained. For example, manufacturing and construction industries are two highly rigid businesses that rely on the timely completion of dependent stages.

Changes to these plans can be expensive, and in some instances, impossible. As a result, Waterfall is leveraged to preserve a sequential process and maintain stability throughout stages of a project.

Comparing Waterfall vs. Agile

The focus of Waterfall is on the design phase of a project, whereas Agile concerns itself very little in design. Waterfall requires a lengthier period of building and testing before delivering new software, while Agile constantly tests software as it is built, most often completed by the developer.

Most significantly, Waterfall is considered a methodology that depends on tasks to be completed before the project moves forward. Agile is thought of as a “movement” with a large number of derivative methods that leverage the values of agile.

Although Waterfall is ideal when projects include a variety of dependencies between tasks, Agile is more fitting for projects where the client is uncertain of their desired outcome, seeks a rapid delivery time, and wants to be closely involved in the design process. Quality and speed are important variables to consider when deciding which project management method to employ.

Additional Resources:

The Waterfall and Agile Hybrid

In some instances, combining the two project management approaches will result in the best product. This process, coined “Agifall” or “WAgile”, melds some of the most advantageous parts of each method to result in the best management style.

In an Agifall project, the development phase takes on more of an Agile approach, with more information delivered up front and less of a need to wait for the completion of previous phases to move to the next one. There is still extensive planning, research, and strategy behind the method, like in Waterfall, but there is more flexibility and adoption of change, like in Agile.

 

Add new comment

Our Privacy Policy describes how we process your personal data.

By submitting this form, you accept the Akismet privacy policy.