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?