Waterfall vs Agile

Introduction to The Waterfall Methodology:

The Waterfall methodology was first developed by Winston W Royce in the 70’s as a way to remodel an exposed development process into a linear approach to development which would provide the desired product in the end. This traditional method is a stepped software development approach that has a hierarchical structure. In this process each step in the software development process needs to be approved by the project stakeholders before the team can move to the next step, accordingly termed ‘waterfall’.

The process of this method goes as follows:

  1. Planning – gathering and documenting requirements
  2. Design – finding a fit to meet all the requirements
  3. Development – coding and testing
  4. Testing – testing for faults and failures
  5. Deployment – delivered to the customer environment
  6. Maintenance – enhance the product with recommended versions.

Introduction to The Agile Methodology:

The Agile methodology was developed in 2001 after seventeen software developers met and published The Manifesto of Agile Software Development. Many methods were evolved from the 90’s but collectively referred as Agile in 2001. The Agile approach is more collaborative in software development, where the requirements and solutions develop through iterations. There is more communication and customer involvement in Agile.

The process of this method goes as follows:

  1. Plan – based on customers vision and background
  2. Build – build an iteration of features
  3. Deployment – launch the feature
  4. Learn – feedback and new requirements
  5. Repeat – repeat micro-outcome sprints until final product is achieved

Below is a table reflecting the PRO’s and CON’s of using Waterfall or Agile.

A screenshot of a cell phone

Description automatically generated

So how do we choose? Below is a table which can be used as help in the deciding of whether to use Waterfall or Agile.

A screenshot of a cell phone

Description automatically generated

The bottom line is that Waterfall methodology is better suited for projects with precise feature sets that have a stiff budget or timeline. The Agile methodology is better suited when you have projects with close client involvement and flexibility. They are both very different and it is not always possible to be able to choose between them both.

Leave a Comment