What semantics should be used when referring to waterfall and agile methodologies [closed]
https://softwareengineering.stackexchange.com/questions/226066
-
02-10-2020 - |
题
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: -
http://en.wikipedia.org/wiki/Software_development_methodology
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?
解决方案
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.