2

What is the definition of "development model"?

For example: Waterfall model, Iterative model or Spiral model.

In this case "model" is just synonym of "methodology" (wikipedia keep articles about this models in "methodologies" section), or "model" is a model for methodology and metamodel for development process (i.e. set of principles on which build methodologies)?

If second case is more correct, are there some models, that not related with life circle of software? For example, can we name "agile" model and "non-agile" model? Or "agile" it is not a model, it is just family of methodologies? Looks like I'm confused again :-/

  • I don't think either of your OR conditions is correct. – Myles Horne Aug 25 '14 at 19:00
3

Interesting question, I have given it some though now. I think you make one wrong assumption, and that is why you are confused.

First, a very simple and practical, but not fully correct, answer: some sites suggest that model in this would be the same as method (so the first option; e.g. http://istqbexamcertification.com/what-are-the-software-development-models, not sure though how reliable this is). I think that is a nice daily life solution, but if you need a more academic answer, read on.

My real answer (I think this might be the answer): I think you make one wrong assumption. I think the biggest part of your confusion, is the that you categorize waterfall, spiral, agile approaches at the same abstraction level. I think that if you want place them into one category, the word 'approach' is more appropriate, since these terms (agile, waterfall, iterative) are not at same abstraction level. Let me explain why:

Agile is actually a very broad term, although relatively new in software development, the term exists quite a while now. The "agile manifesto meaning" of Agile is a set of core values and principals. Making it therefore something to similar to a metamodel (though not exactly a metamodel I believe, but generally the idea is similiar/groups well together). Scrum, XP and so are "compliant" with the agile manifesto principals (though it should be noted that the methods are not really build on the manifesto, since many existed before the manifesto). However, the agile manifesto can be interpretered as a kind of metamodel (though it is not exactly following that description either I my opinion), while SCRUM, XP are actually methods(!) of achieving agility. The implication of this at the the agile manifesto is one abstraction level higher than the actual agile methods, such as SCRUM.

The waterfall approach, is much more concrete than the term agile. The waterfall method is (although there are variations) more concrete and more prescriptive (see http://en.wikipedia.org/wiki/Waterfall_model), making the abstration level of the waterfall approach similiar to that of SCRUM. SCRUM and Waterfall approaches describe and prescribe how things need to be done (well, the procedure). They are at the same abstraction level and are methods of software development management (while terms as agile and traditional are more abstract).

Therefore, the concrete approaches such as SCRUM and Waterfall are at the same abstraction level, while a term as agile is a bit more abstract and therefore the term agile does not fit your definition

I hope this answers your question and makes sense. If not, let me know. Perhaps you can tell us why you ask this, with a bot more context I or others might be able to formulate a better answer. I think you should note that methods such as scrum are highly defined, but terms such as agile less obvious. Defining terms is often a part of a research paper.

  • Thanks a lot for your answer! I'll try to articulate my new vision of this question, that I have after reading your answer. Unfortunately, it will take some time for me. – Sergey Kudryavtsev Sep 4 '14 at 14:27
  • You're welcome. Hope it helped you ;) – a.k.89 Sep 5 '14 at 14:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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