0

Traditionally Agile is compared to Waterfall. And I think that most people when do this, think of Waterfall simply as a model with long release cycles. E.g. we plan tasks for 6-12 months, implement & test them (usually simultaneously), then we release. Next year we repeat. At some point the project is done.

But according to the classical definition of Waterfall: we plan and design the whole project, then we implement, then we test, etc. It has to be sequential and the whole sequence should happen only once.

In my life I don't think I've ever seen a true Waterfall project and thus I don't want to compare Agile with it. But I've seen projects with long release cycles which clearly weren't Agile. And I think that's what we should compare Agile with.

But do we have a collective term for such projects?

6
  • I'm being silly, but this reminds me of SQL vs NoSQL, which initially meant not-SQL then not-only-SQL. So NoAgile :) ?!?!? "Not Agile" or "not only Agile" since many use hybrids. Even Waterfall, as described in the initial paper, was iterative, while what you call "true Waterfall" can mostly be seen in IT on projects building hardware.
    – Bogdan
    Commented Jan 30, 2021 at 15:15
  • 1
    I think the technical term is "exhaustively-planned failure magnets." :)
    – Todd A. Jacobs
    Commented Jan 30, 2021 at 16:57
  • @Bogdan, which initial paper do you mean? In Royce, Winston (1970), "Managing the Development of Large Software Systems" there're no iterations: www-scf.usc.edu/~csci201/lectures/Lecture11/royce1970.pdf Commented Jan 31, 2021 at 19:57
  • Also, I don't think hardware is built using sequential waterfall'ish approaches either. I don't think there are any fields left which use such approaches.. Though that's a speculation on my side :) I've heard how nuclear plants are built - and they seemed to be much more agile than what we got used to in software.. Commented Jan 31, 2021 at 20:07
  • @StanislavBashkyrtsev: in the paper, figure 2 shows the commonly known Waterfall process, but then figure 3 shows iterative steps between the phases. It's not what iterative development is today, but you still needed to go back on your phases as you learned new things in the current phase, so the development didn't just flow from one phase to the other without going back, you had to iterate at least once. I don't remember how that concept got lost and only the process in figure 2 stuck with people :(
    – Bogdan
    Commented Feb 1, 2021 at 9:16

2 Answers 2

1

I'm not sure about a formal definition, however I would tend to use the term "Waterfall with multiple phases" for the model you are discussing. My experience of these is that you plan in more detail and with greater accuracy for the first phase than any subsequent phases, and refine the plans for the subsequent phases as time goes on.

In terms of a comparison with Agile, I know from experience that in some organisations, Agile is a term that is used widely (but inappropriately) for a large waterfall project that is broken into short phases, where the phases are delivered in short time boxes but the whole project is planned up front - rather than one sprint at a time. This can be done to allow management to report on project progress in an organisation that has not fully embraced the Agile way of working, often where functional managers don't understand or trust their teams adequately.

1

The Project Management Institute uses the terms predictive and adaptive for project life cycles. A predictive life cycle is all about long term predictability and controlling change whereas an adaptive life cycle emphasises responding rapidly to change. Iterations are almost inevitable for any kind of software development life cycle whatever you call it, but that said, a planned 6 month release cycle certainly sounds more predictive than adaptive.

If by "agile" you mean the Agile Manifesto for Software Development then those are suggestions that you can apply regardless of the type of life cycle - it's just harder to be true to those ideas if you only have long release cycles. It isn't really very meaningful to contrast waterfall with agile; the former is supposed to be a kind of life cycle whereas the latter is a list of suggested working practices.

2
  • Thanks, "predictive" and "adaptive" are nice terms. As for Agile Manifesto - it's explicit about frequent releases. Of course if it's not feasible we can still be as agile as possible; but still Waterfall has many features that are in direct conflict with Agile Manifesto: lot's of documentation, rigid contract negotiation w/ the client, following the plan instead of welcoming changes, etc. Commented Jan 31, 2021 at 20:04
  • @StanislavBashkyrtsev I would say that those are not features of "waterfall" as such. What you have mentioned are just some ways of working that may be adopted by people using a waterfall-style lifecycle. It is also possible to use a waterfall lifecycle while following agile ways of working (welcoming change, minimising contract negotiation and prioritising working code over documentation).
    – nvogel
    Commented Feb 2, 2021 at 11:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.