
Agile vs. Waterfall? - PeOe
https://blog.zenkit.com/agile-vs-waterfall-bcd2b1cecd25
======
eesmith
I wail.

The simple narrative these days is the blank & white story of two camps,
waterfall and Agile.

Seemingly anything which isn't 100% waterfall is "Agile".

This is lousy because those aren't even two ends of a single spectrum.

Let's take this paragraph:

> Agile uses six main deliverables to create the product and to track
> progress. They are the product vision statement, the product roadmap, the
> product backlog, the release plan, the Sprint backlog, and Increment. It
> also uses visual tools such as a Kanban board and a burndown chart to help
> with the progress tracking and to keep within deadlines.

Boehm's spiral model and Martin's RAD approach both predate Agile. They are
definitely not waterfall.

By the above definition, they are not Agile, because they don't have those six
main deliverables.

If they are not waterfall and not Agile, then what are they?

I expect that many will correctly point out that Agile is a further iteration
of those earlier models, adding new best practices.

But then I'll point out the earlier paragraph:

> Emerging from the values and principles of the Agile Manifesto, it was
> created as a response to the shortfalls of the Waterfall method. Developers
> realized they needed something different to the linear, sequential approach
> of the traditional methods of Waterfall in order to keep up with the
> improving and innovative culture of the constantly-developing software
> industry.

My wailing is because the term "Agile" obscures the much longer history of
"rapid application development" doing exactly the same thing. Quoting now from
[https://en.wikipedia.org/wiki/Rapid_application_development](https://en.wikipedia.org/wiki/Rapid_application_development)

> Rapid application development was a response to plan-driven waterfall
> processes, developed in the 1970s and 1980s, such as the Structured Systems
> Analysis and Design Method (SSADM).

I'll end with some questions rather than this more personal tilting at
windmills.

Is CPython development Agile or Waterfall?

Is PyPy development Agile or Waterfall?

If they are both Agile, does it make sense to have some way to distinguish
between their quite different development approaches?

