Agile vs Waterfall – Which one is better Software Development Methodology?

When was the last time you heard someone say: “Here’s how we build software – we come up with an idea, prepare a plan, and stick to it throughout the entire development process. Once it’s ready, we put it out on the market and find out if it ever made sense”.

Let me guess – never?

Well, there’s a reason why software teams have long declared this application development approach, known as a waterfall, as obsolete.

Instead, the best development teams worldwide have long embraced what is known as agile methodology.

Dell, Amazon, WordPress, and General Electric – these are just four of the thousands of top companies that have taken note and chosen the workflow.

So, how does agile vs waterfall stand? And what makes agile the global favourite? Let’s take a look.

Agile vs Waterfall – The Differences

What is waterfall?

Waterfall methodology (also referred to as the waterfall model) specifies a sequence of logical milestones that need to take place one after another so that you can deliver a working product. This means that stepping into each new phase requires that you’re either done with – or in very advanced stages of – the current milestone.

So, a development team will first need to determine the software requirements (Step 1), which are then analyzed at all angles (Step 2). If the analysis results in a green light, the project can then proceed into the next phase – design (Step 3). Pretty straight-forward, right?

Altogether, the waterfall cascade consists of six steps, as pictured on the image below:

Agile vs Waterfall

Image source: https://airbrake.io/blog/sdlc/waterfall-model

The risks of waterfall

Based on the definition you’ve just read, you might think that it’s a perfectly logical way to go about things, right?

Well, the major downside of this model is that it does not oversee that things rarely go as planned.

In this model, the testing phase comes only after coding is completed. Needless to say, a lot can change from day one on your project.

For example, halfway through development, you may realize there’s a company on the market which does the same thing, that you don’t stand a chance against. Alternatively, when you’re in the design phase, your investors might start disagreeing as to the features prioritized back during step 1.

Bottom line, you need to be working in a model, where a tweak here and there, or even a pivot, won’t harm or collapse your entire project.

Here’s how the FBI learned that waterfall wasn’t a good match – the hard way:

Right after the atrocities of 9/11, the bureau decided to take steps and urgently integrate all their databases. With data scattered across thousands of documents, it was absolutely critical that they avoid a similar tragedy in the future. The goal was for FBI agents to be able to work on complete intel and track terrorists down faster.

agile vs waterfall

Agile or Waterfall – that is the question!

Little did the FBI know though, choosing waterfall to develop their database would come at a very high cost – specifically, $400M burned in tax payers’ money. Not to mention a major project shattered into pieces and temporarily shut down.

That’s when Jeff Sutherland, the co-creator of an agile methodology called Scrum, came to the rescue. Pivoting to an agile workflow, with just 10% of the initial team left aboard the sinking ship, resulted in the completion of the project for less than $50M.

A similar situation took place when the ObamaCare website, healthcare.gov, was saved by a six-person agile team just within 6 weeks.

These are the results of just two
agile vs waterfall battles
, but it’s pretty clear which methodology won the war, and why.

So, with these impressive examples at hand, how does agile work, exactly? And what can you do to develop your next software project in this workflow?

What is Agile?

The amazing thing about agile – and the secret behind its success – is that it’s not a single, set-in-stone approach. At its core, agile is a set of values derived from the experiences of the world’s most experienced project masterminds of the late 20th century.

A comprehensive definition and a list of principles can be found in the famous Agile Manifesto (which we highly recommend as a supplementary reading), but there’s one description that brilliantly sums it up.

Tomas & Jannicka Björkholm, authors of “Kanban in 30 Days”, have pointed out that:

Agile is about getting fast feedback and being technically and mentally prepared for changing direction. [It is also] a way of minimising risk; the risk that customers no longer want what we originally thought they wanted.

The ins and outs of agile

If you want to call yourself an agile development team, you should also tick all the boxes for the following statements:

  • Individuals and interactions should be prioritized over processes and tools.
  • Working software is more important than creating comprehensive documentation.
  • Customer collaboration, hence, establishing a great partnership with your clients, is more important than negotiating a top-notch contract.
  • Responding to change is always more important than following a plan.

These four points perfectly depict the major differences between waterfall and agile. Furthermore – some of these values aren’t even touched upon by waterfall, altogether!

Another strong suit of agile is that it offers a multitude of choice for teams. Ever since the Agile Manifesto was announced in 2001, tens of various agile-driven frameworks have come to life. These include, most prominently, Scrum (which salvaged the FBI and ObamaCare projects), Kanban, and Lean SD.

Which methodology is best for you?

Here’s a comprehensive breakdown of what you can expect of each of the above-mentioned frameworks.

Summary

While Waterfall has certainly, in the past, helped develop a fair amount of successful software projects, it’s safe to say that it hasn’t stood the test of time.

The case for agile is simple – in today’s fast-paced world there’s no better way to develop software than by choosing an iterative, collaborative method.

Can you already imagine where agile can take your next software development project?

We’d love to discuss how we can help your plans become a reality. Let us know and we’ll get in touch!

Let’s software together!

SUBSCRIBE our NEWSLETTER

Are you interested in news from the world of software development? Subscribe to our newsletter and receive a list of the most interesting information once a week.

COMMENTS (1) comments arrow

  1. Thanks for the good writeup. It if truth be told was once a amusement account it. Glance advanced to far delivered agreeable from you! By the way, how could we keep in touch?|

Add comment