I've just been involved in a debate regarding semantics of how to define approaches to the software development lifecycle.

As far as I have been concerned, waterfall and agile are not methodologies, they are vaguely defined approaches/models. The definition of a methodology being a set of tools and techniques used to exactly define the steps taken to develop a successful software project.

In my understanding, the following statements are true: -

  • SSADM (Structured System Analysis and Design) is a waterfall methodology
  • Scrum is an agile methodology
  • XP is an agile methodology

Thus, it would not make sense to write: -

  • Waterfall is a waterfall methodology
  • Agile is an agile methodology

Since you would get into a recursive mess.

The issue is, whenever I get into this debate with anyone, they seem to be certain that waterfall is a methodology and so is agile.

An example of what I see as being incorrect is the following article: -


Methodologies Waterfall Prototype model Incremental Iterative V-Model Spiral Scrum Cleanroom RAD DSDM RUP XP Agile Lean Dual Vee Model TDD FDD DDD

These are listed as methodologies on the wikipedia page and I find that this is just plain wrong. Can someone please correct me and/or let me know what terminology I should be using?

  • 4
    A programmer once said that waterfall is a waterfall methodology. When they asked if waterfall methodology was named after waterfall, the programmer lapsed into a coma and has not awoken. You're messing with dangerous forces here. – Neil Jan 30 '14 at 11:49
  • 1
    I do wish stack exchange wouldn't allow down votes without commented reasoning – chrisw Jan 30 '14 at 12:44
  • In the absence of a specific comment, you might find it useful to assume that a downvote means the downvoter thought that "This question does not show any research effort; it is unclear or not useful", since that's what the downvote button offers as a tooltip. – AakashM Jan 30 '14 at 12:58
  • 1
    @AakashM: honestly, the question shows some research effort, it is IMHO very clear, and it is specific for software development. So I would be interested in the reasons for downvoting, too. But I guess this may be a good starting point for a question on meta. - Seems this question was already asked there meta.programmers.stackexchange.com/questions/5420/… – Doc Brown Jan 30 '14 at 13:31
  • @DocBrown sure, I was just offering OP some unsolicited advice. It's been a recurring theme on MSO since forever, pretty much. – AakashM Jan 30 '14 at 13:57

If you call "Waterfall" a methodology, or if you only call something like SSADM a methodology, depends mainly on the level of detail and the context of your discussion. Same holds for "Agile" (though I guess the latter term is not very often considered to be a methodology on its own).

So my advice is: whenever you want to talk about those things, just clarify the context before you run into a fruitless debate.

Natural language is not always precise.

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