Agile Vs Waterfall

Waterfall is the best thing that has happened to Project Management since sliced bread!!!

Let’s examine which is better to see if sliced bread has anything on Agile

Have you ever been in a situation where the team had to make a decision on how to approach a development project? Let me tell you, this is one of the most heated discussions you will ever have due to two major development methodologies at play. Agile and Waterfall. They are commonly applied to software development as well as project management.

What is Waterfall – It is a linear approach where the customer’s requirements are gathered upfront and then a sequential project plan is created to accommodate those requirements. This approach is predominantly applied in industries such manufacturing and construction where a structured environment is required for delivering large complex projects.

What is Agile – It is an iterative approach where customer value is delivered faster in small increments. Requirements, plans and results are continuously evaluated so that the team has a mechanism to respond to change quickly. This approach is applied to industries where customers are demanding constant changes such as software development.

Before making a decision there are some advantages and disadvantages for both methodologies to consider.

Waterfall – Advantages

  • Scope is confirmed between customers and developers early in the development cycle

  • Progress is easily measured as the scope is known in advance

  • Persistent teams are not required as people are only needed during certain phases of the development

           lifecycle

  • Once the initial design and project plans are in place, there is little requirement for the customer to

          be present until the product needs to be reviewed. Adopts a hand-off approach.

Waterfall – Disadvantages

  • Gathering requirements that are easy for the customer to understand is challenging, also the possibility

           of missing requirements is very high in the initial stage of development.

  • A hand-off approach is not always suitable for every type of product. Some customers would like to be

           more involved and if there isn’t a framework for involvement then it could lead to         frustration on both ends

  • Making changes during development is not easy, the whole point of waterfall is that it follows clear steps

           and timeframes

  • Since the customer is not involved through the entire development cycle they could be dissatisfied with

           their delivered product. As they don’t get to see it until it’s almost finished.

Agile – Advantages

  • The customer is permanently embedded with the development team and has early opportunities to see

           how the product is delivered and make changes throughout the development cycle.

  • Prioritisation of deliverables ensures that the items with the highest customer value are delivered first.

  • The development can adapt to the user needs rather than rolling out a product with full feature set at initial

           launch. Around 80% of all software features are hardly or never used.

  • Since customers are entrenched in the development teams, they are able to provide feedback at every

          review which leads to a higher quality and a user-friendly product.

Agile – Disadvantages

  • Persistent teams are essential to the success of Agile projects, in large organisations this is not always

          possible because people tend to work across many initiatives.

  • Possible cost blow outs due to the iterative nature of development and frequent re-prioritisation leads

          to some items set for delivery will not be completed within the allotted time frame.             Additional sprints may be needed hence adding to the project cost and moving timeframes.

  • It is essential for success that Agile teams have a high level of collaboration and communication.

           The close working relationships are easiest to manage when the team members are                       located in the same physical space. However, the use of collaboration tools such as                       Microsoft teams and Zoom can overcome this issue.

So, how do we choose which methodology is best for our needs, let’s compare the two based on 6 key areas.

Focus Areas

Agile

Waterfall

Project Scope

An effective approach when scope is not clearly defined, it is much more flexible when scope changes are requested by the customer

Rigid to change, works well when scope is fixed, changes usually impacts cost and schedule

Speed to market

Due to its iterative approach, working parts of the overall product can be delivered to the market for customers to test and provide feedback. This enables development of a better product which satisfies customer needs.

Due to its linear approach, the product is usually delivered at the end of the development lifecycle which is typically months or years, this means the product may or may not meet customer’s needs.

Team size

Agile teams are typically small, dedicated, self organised and well-coordinated.

Team sizes are large and require a project manager to coordinate and control the flow of work.

Customer involvement

Customers are involved throughout the development of the project. The continuous feedback ensures the product meet customer needs and expectations

Customers are usually involved at milestones or at the end of the development cycle, leading to risks of not meeting customer needs

Prioritisation

Customer value dictates which feature is implemented first, thus enhancing the chances of product acceptance and ensures the risk of complete failure is decreased by allowing ‘partial’ success.

There is no concept of prioritisation, it adopts a do everything that was agreed on approach, even if there is no customer value.

Funding

Works best with a non-fixed funding model (Time & Material) , the team needs to be flexible and able to pivot within a short time frame.

Works best when there is a fixed funding model. Price contracts agreed up-front.

Once we have decided which methodology to use, we can further make changes to the process to best fit our project goals. Keep one thing in mind, although the way we work is important, delivering a product that satisfies our customer needs is ultimately what really counts. So if the requirements are clear such as construction then do Waterfall but if the requirements are unclear like software development then use Agile.

Similar Posts