I'm having a hard time classifying software development methodologies. In my understanding, SDLC is the overarching model used for software development approaches. SDLC methodologies can range from being very linear (e.g. the waterfall methodology) to being very adaptable (e.g. agile methodologies). Is this correct, i.e. do agile methodologies fall within the SDLC model?\
3I'm not keen on this question... what qualities does, "SDLC model" have? Do you have a link? Why do you think Agile conflicts with this? References would be useful for more context. Why are you trying to classify them? Is this a practical problem?– Dave HillierAug 14, 2013 at 11:47
@DaveHillier, I'm trying to classify methodologies for an academic assignment, in order to compare them. The Wikipedia article en.wikipedia.org/wiki/Systems_development_life-cycle seems to portray SDLC as the general steps in the development process. It notes that there are various forms of the SDLC, ranging from linear to agile. In your understanding, is agile part of the SDLC, or a completely different approach?– PietAug 14, 2013 at 13:15
the S in SDLC can stand for System or Software. Agile is a Software methodology and can be regarded as a subset, but often if your system is a software one you can do the lot using agile.– Dave HillierAug 14, 2013 at 13:17
Would your teacher/professor think you're cheating by asking on here?– Dave HillierAug 14, 2013 at 13:18
1You really havent put much effort in, "It is often considered a subset of systems development life cycle" from "Software Development Life Cycle" on wikipedia– Dave HillierAug 14, 2013 at 13:19
"Agile" isn't a methodology; it's a set of principles espoused by the Agile Manifesto. SDLC is an ambiguous term that can refer to a specific, waterfall-like methodology or a generic lifecycle. Either way, frameworks like Scrum or Kanban are more usefully classified as project management methodologies rather than lifecycles.
Frameworks Aren't Lifecycles
You could certainly make the case that agile methodologies are part of a systems- or software-development lifecycle. However, the converse is not true, since a framework or methodology isn't really a complete subset of a lifecycle.
For project management purposes, it is often useful to think of the lifecycle as a process that starts with project inception and flows through to project closure. A more systems-centric view might look at the lifecycle from development through deployment, and then ultimately to decommissioning; however, this is rarely encompassed within a single monolithic project, and is probably the wrong viewpoint for the typical project management professional.
Your mileage may vary.
In other words: the SDLC is an abstract structure imposed on software development, a model is a specific conceptual understanding of how software development works, and a methodology refers to the specific processes that focus on how a particular model should be implemented in practice. Agile is a particular model (contrasted with others, like the Waterfall model), informed by the principles of the Agile Manifesto. Is this correct?– PietAug 14, 2013 at 19:38
This post on Programmers.se gives a good summary of software lifecycles - programmers.stackexchange.com/questions/11512/… Perhaps some examples will help round out @CodeGnome's answer.– MichaelAug 17, 2013 at 15:30