Talk:Software development methodology

The search for specific software development methodologies

 * This talk item started on the Template talk:Software Engineering, see here

At the moment
 * 1970s
 * Structured programming since 1969
 * Jackson Structured Programming since 1975


 * 1980s
 * Structured Systems Analysis and Design Methodology (SSADM) from 1980 onwards
 * Information Engineering (IE/IEM) since 1981


 * 1990s
 * Object-oriented programming (OOP) evolved since the early 1990s
 * Virtual finite state machine (VFSM) since 1990s
 * Dynamic Systems Development Method developed in the UK in the 1990s.
 * Scrum (development), since the late 1990s


 * New millennium
 * Extreme Programming since 1999
 * Enterprise Unified Process (EUP) an RUP extension since 2002
 * Rational Unified Process (RUP) since 2003.
 * Constructionist design methodology (CDM) since 2004 by Kristinn R. Thórisson
 * Agile Unified Process (AUP) since 2005 by Scott Ambler

The question stays how many Software development methodologies there are, and how many there are actually described in Wikipedia. Now I allready noticed some extra methodologies:

The Unified Process article lists some more methods, all refinements and variations of the Unified Process framework. (3 of 8 allready listed above: Agile, Enterprise and Rational)
 * Unified Process


 * Agile Unified Process (AUP), a lightweight variation developed by Scott W. Ambler
 * Basic Unified Process (BUP), a lightweight variation developed by IBM and a precursor to OpenUP
 * Enterprise Unified Process (EUP), an extension of the Rational Unified Process
 * Essential Unified Process (EssUP), a lightweight variation developed by Ivar Jacobson
 * Open Unified Process (OpenUP), the Eclipse Process Framework software development process
 * Rational Unified Process (RUP), the IBM / Rational Software development process
 * Oracle Unified Method (OUM), the Oracle development and implementation process
 * Rational Unified Process-System Engineering (RUP-SE), a version of RUP tailored by Rational Software for System Engineering


 * Two other remarkable things
 * Lightweight methodology
 * List of software development philosophies

This seems like enough for now. The trick is to determine which of these are actually methodologies, or else just principles, models, approaches, or some thing else with doesn't fit the scheme here.

-- Marcel Douwe Dekker (talk) 00:19, 28 October 2008 (UTC)

Method vs. Methodology
I think the article should be renamed to Software development method. Method and Methodology are not synonyms, but have different meanings. See the article Methodology for explanation on their meanings. Also software engineering text books such as Pressmann and Sommerville  use systematically term software development method instead of methodology.

I didn't change anything yet, but unless someone disagrees, I'll do the change. —Preceding unsigned comment added by Okivekas (talk • contribs) 17:38, 19 March 2009 (UTC)


 * I don't agree. This article speaks of both methods and methologies. The waterfall model could be considered a method. But Software prototyping among other things a methology. I do think this artcle should explain about the difference. -- Marcel Douwe Dekker (talk) 18:47, 19 March 2009 (UTC)


 * The Software prototyping page itself seems to use mostly word method. Also Agile software development uses mostly method, though unsystematically. Software development seems to use word methodology, though mostly in context where method would clearly be the appropriate word.


 * Methodology is defined as follows: "Methodology includes the following concepts as they relate to a particular discipline or field of inquiry:
 * a collection of theories, concepts or ideas;
 * comparative study of different approaches; and
 * critique of the individual methods"


 * The first meaning gives some room for interpretation whether e.g. software prototyping should be seen as method or methodology (as it indeed can be seen as collection of various prototyping models).


 * However, on non-wikipedian sources such as the disipline textbooks, the word method is systematically used, including also e.g. prototyping (see e.g. Pressman 5th ed. section 11.4.2, Prototyping Methods and Tools). Thus I'd say, that the practice in software engineering is to call all the different development models methods. Methodology would then mean the collection of all the different methods and the study of them.--Okivekas (talk) 21:10, 19 March 2009 (UTC)


 * This article is designed to represent "system development methodology", and it talks about several software development tools: from flow charts and methods to methodologies. This article is not just and only about methods. I do think this article could be improved explaining the difference.


 * We are not here to do our own original research, as you are arguing, and determine to real term or meaning or what. We are here to represent reliable sources. -- Marcel Douwe Dekker (talk) 21:40, 19 March 2009 (UTC)


 * Ok, clearly changing the name of the article is not an obvious thing, so I will not do it. I fail to see how original research is related to this, I just refered to sources which use the terms to explain the common practice (in wikipedia and elsewhere). There is nothing original in that.


 * however, all the examples you describe sound like methods to me, and methodology isn't really a developmemnt tool, but study of development tools.


 * I agree that clarifying the difference sounds like a good idea. Unfortunately I can't do it since I don't really understand the difference in the way you define it (isn't just defining meanings of terms with no explanantion also original research?). --Okivekas (talk) 08:53, 20 March 2009 (UTC)


 * Ok, I think you made a good point, that there could be differences between methods and methodologies here. And this could be better explained in the article.


 * Now I think your argument was original research, because you didn't refer to a notable source that stated "there are no methodologies in the field of Software development, just methods". You used those sources to make a (new) point. And you are doing it again. A statement like a "methodology isn't really a developmement tool" sound like more original research to me. I can only respond with my own original experience, that the term methodology may refer to a comparative study, the methodologies defined in the field of software engineering are not meant to be only comparative studies, but a collection of methods to guide software developement. now that I think of it, I think the Wikipedia definition of methodology is incomplete... it should mention methods.


 * Now furter explaining the difference can start with making an assumption and then finding some notable sources that confirms it. Or just google for (reliable or not) sources that mention both "system development methodology" and "system development method".


 * One of my first assumptions is, that it is a historical thing: the term "software development methodology" is more used in the past, and the term "software development method" in the presents. So I checked Google books with "Return content published between" in the 1960s, 1970s, 1980s, 1990s and 2000s and found:
 * The term Software Development Methodogy is used: 8, 180, 642, 610, 409 times
 * The term Software Development Method is used: 4, 13, 272, 319, 229 times
 * Now three things I can preliminary conclude here are:
 * The term "Software Development Methodogy" seems to be used twice as much a the term "Software Development Method" since the 1980s
 * While the term "Software Development Methodogy" got populair in the 1970s, the term "Software Development Method" started being used in the 1980s.
 * ... and my first assumption doesn't seem to hold.
 * This conclusions seems likely. This experiment itself is original research, and I could even use some of these findings in a history section. But more likely I would try to find a reliabe source about the history of "Software Development Methodogy" stating it became populair in the 1970s. This searches are just a beginning. It needs a lot of original research to further develop this article. But you can only use the notable source you found.


 * One way or an other this historical search again confirms the term "Software Development Methodogy" is more used the the term "Software Development Method". And it seems like a lot of work explaining the differences. -- Marcel Douwe Dekker (talk) 14:40, 20 March 2009 (UTC)


 * P.S. I think the Wikipedia methodology article is unreliable. And I question your argumentation even more. You apparently choose to ignor the first definition given in the methodology article, stating methodology is a "collection of methods".

The term "methodology" is broader than "method," because methods come from methodology. The term method is more specific to a process. -- Oicumayberight (talk) 16:47, 18 May 2009 (UTC)

Merge proposal
Considering the merge proposal into the software development process article, I'm suggesting a partial merge. Move the software development methods out of this article and merge them into the software development process article. Then redirect the term software development method to the software development process article. Leave this a smaller article with a broader scope that doesn't describe specific methods, but instead describes the nature of developing or using methodology and the alternatives, if there are any. Oicumayberight (talk) 16:47, 18 May 2009 (UTC)


 * Do you mean moving the Software development approaches section to the software development process article?


 * I guess this could be an option. There seems to be at least three different subjects in the articles
 * The different stages of the software development process
 * The different models or approaches used as a framework, and
 * The different kind of methodologies developed to govern the software development process.
 * I agree there is no clear separatation of these subjects in both article. -- Marcel Douwe Dekker (talk) 22:59, 18 May 2009 (UTC)

That's what I mean. There is no fine line distinction. But there is a difference that can be somewhat contrasted by the choice of content between the two articles. Oicumayberight (talk) 23:30, 18 May 2009 (UTC)


 * I agree their is no fine line here. Some of the methodologies mentioned here are listed as philosophies as well, see List of software development philosophies. There is no fine line between approaches, models, methods, methodologies and philosophies. And the different methodologies define different stages in the development process. I do think it is this to much to explain in one article. -- Marcel Douwe Dekker (talk) 22:25, 19 May 2009 (UTC)

Disagree on merging Method and Process -- They are different flavors of describing Software Development. Method is general description of the model e.g. waterfall, and process is a specification of the steps and terms and criteria at each point. There can be multiple processes for one method, or vice-versa. Markbassett (talk) 15:37, 28 August 2012 (UTC)

Copy-paste registration
-- Mdd (talk) 02:06, 6 November 2009 (UTC)
 * In this first edit text has been copy/pasted from the waterfall model, Software prototyping, data model, Computer-Aided Software Engineering, integrated development environment, modeling language, programming paradigm and Software development process articles.
 * In this edit text has been copy/pasted from the Unified Process article.
 * In this edit text has been copy/pasted from the software framework article.
 * In this edit text has been copy/pasted from the Object oriented article.
 * In this edit text has been copy/pasted from the Rapid application development article.
 * In this edit text has been copy/pasted from the View model article.

Citations and sources
Most of the citations in this article refer to what appear to be two memos from US government departments/agencies. It is questionable whether these are valid citations for a Wikipedia article. The source material is also largely drawn from these memos. However, there is no mention of the US government in the body of the article. A casual reader is, therefore, likely to think the article represents an independent viewpoint, rather than an official position. The main citation does not even mention the USA government and it is not until you download the PDF file that you discover what it really is. If the article is to promote the US government viewpoint it should say so in the main body of the article, viz "The USA Department of Medicare and Medicaid Services states that a software development methodology is Blah, Blah, Blah."

If nobody objects, I shall make the appropriate changes in a few days time.--Logicalgregory (talk) 07:30, 3 January 2011 (UTC)


 * I don't know what you think that the "appropriate changes" should be, be I do have a problem with your first assumtions/doubts. We should look at the content of the sources, and not judge the material used just because of it's origin. I have used those sources because they reflect an rather objective view on this matter. If you think this is not the case, then comment on that particular content. -- Mdd (talk) 13:13, 3 January 2011 (UTC)

Most of the references are to "selecting a development approach" but neither author or publisher are given in the article references section. The normal way of making a citation is to give author, work, publisher and date. Here the author would appear to be Department of Health & Human Services, USA (but maybe this is the publisher - its not clear). Also when the publication is not a book or periodical publication it is normal to indicate the type of publication (PhD thesis, discussion paper, conference paper etc.) Again its not clear what type of publication this is, it looks like a memo to me. I do not object to government material being used provided it made clear that it is government material and where it comes from. --Logicalgregory (talk) 15:46, 3 January 2011 (UTC)


 * The author of that source is the CMS Office of Information Services, a federal US government department. I have added this info to that source. Again. If you don't agree with some of the info, that source is give, just improve it. -- Mdd (talk) 19:33, 3 January 2011 (UTC)

Thanks, I think the article is now much better. However, some problems with the citations remain. The reference to Boehm does not provide a given name (first name, in European languages) or initial. It does not give the title of the book or paper cited. It does not give the publisher or journal title. There is no publisher for Elliott. There is no publisher or date for Loucopulus.--Logicalgregory (talk) 04:50, 4 January 2011 (UTC)


 * Ok, thanks. I made some further adjustments. -- Mdd (talk) 11:38, 4 January 2011 (UTC)

typo in chart
on the prototype pad, make it Implement.

Verb
This article uses the term "verb" either incorrectly or in a specialized sense that is completely different from the normal grammatical definition used in WP's article verb. Is there an article, or should there be a section, defining or explaining this new specialized sense of the word "verb"? 10:39, 27 February 2013 (UTC) — Preceding unsigned comment added by 82.153.39.9 (talk)


 * should there be a section, defining or explaining this new specialized sense of the word "verb"? Yes, definitely. (I don't know what it means either, so I can't add the section.) Mitch Ames (talk) 13:24, 27 February 2013 (UTC)


 * I do quite a lot of software development and I've never come across this meaning of the word "verb". I think someone got the wrong end of the stick somewhere.  Unless someone disagrees soon, I will reword it to what I think it is trying to say.  i.e. "framework" rather than "noun" and "approach" rather than "verb".  Yaris678 (talk) 11:24, 31 July 2013 (UTC)
 * BTW, The word "verb" was added with this edit. Judging by that edit, the user didn't understand some of Wikipedia's norms. The user was since blocked.  Yaris678 (talk) 11:34, 31 July 2013 (UTC)
 * ✅ on this edit. Yaris678 (talk) 14:14, 1 September 2013 (UTC)

Merger proposal
The two pages Software development methodology and Software development process appear to cover almost the same topic. Since the former is (IMHO) the better article, I suggest a merge to that article.

Murray Langton (talk) 09:27, 2 November 2013 (UTC)


 * Support merging, as they do appear to be mostly the same. Mitch Ames (talk) 11:55, 2 November 2013 (UTC)
 * Support merging. There is a big overlap between these articles.  We should take the best from each (harder than it sounds but I'm willing to have a go.  I think this article is better overall so perhaps we should start with this one and add in the best bits of Software development process.  I could go either way on the article name.  "methodology" does seem to be the more common term but it is generally frowned on in Wikipedia when used to mean "method" (as it is in this case) rather than the study of methods. Yaris678 (talk) 18:52, 22 December 2013 (UTC)
 * Support merging, but the merge should be to "software development process" since it's the more common term. "Software development methodology" is 270000 hits on Google while "Software development process" is 772000. I could search at StickyMinds.com as well, but Google numbers are clear. Walter Görlitz (talk) 07:43, 18 January 2014 (UTC)
 * Support merging with condition. As with most cognitive biases, the above recommendations start from having to chose between 'process' or 'methodology' since that was the initial anchor of the two Wiki-pieces. Step back an realize that it should only be labeled: 'Software Development.' This will capture both search foci while at the same time provide a level of maturity to the discipline. We do not speak of hardware engineering process or methodologies, but simply hardware engineering. I believe that software development has reached this level of acceptance and maturity. Yes, merge, but simplify to 'Software Development.' [email: ibnanouk@gmail.com] No time for IM. 07:18, 27 January 2014 (UTC) — Preceding unsigned comment added by Ibnanouk (talk • contribs)
 * Support merging although IMO they aren't exactly the same thing. Software process is the specific steps to develop the system.The methodology describes a reusable approach to software development that includes a process as well as example artifacts, standards for design and analysis documents, etc. You could almost think of it as the process are a bunch of instances and the methodology describe a bunch of classes you instantiate every time you create a process for a new system. But I know that's really pedantic and in practice the words are used virtually interchangably by everyone except academic nerdy types like me. BTW, I strongly disagree with the suggestion in the merge comment above, that we should rename it just "Software Development" That IMO IS a different concept. You can do software development without a formal process or methodology. A lot of systems used to be developed that way and some still are. I think just saying "Software Development" is too generic, there needs to be a notion of procese or methodology. If we are coming from the academic view then "process" is the right word if from the IT business world then "methodology" is better but one of them for sure IMO. --MadScientistX11 (talk) 04:16, 1 April 2014 (UTC)
 * Support merging. Agree that the resulting article should be "Software Development Process", both because it is the more common term, but also because "methodology" is the more formal term. A software development method implies to me a formalized list of steps, whereas a process could be as simple as performing some or all of the "activities" listed in the process article (possibly performing steps in any order) and need not be formalized. Grid (talk) 16:12, 16 July 2014 (UTC)

I am not impressed. Why was the correct article redirected here? Walter Görlitz (talk) 04:25, 21 August 2014 (UTC)


 * I implemented the merge. As it happens, it was easier to merge "software development process" into this article, just based on how the content fit together.  I was going to move the result to "software development process" as was the preference above, but then there was another preference expressed for merging into software development.  That makes sense to me, given how short that article is, and that the methodology/process is the core of what makes software development a superset of computer programming, if those two things are different, and given that "software development activities" seems to belong in both articles.  I thought I would give some time for discussion on that second merge before doing it.  That would also give me some time to clean up this article, which is a bit of a mess - a lot of summaries of the particular methodologies need to be shortened after the merging lengthened them, and the History section had a lot of internal overlap to begin with. -- Beland (talk) 15:05, 21 August 2014 (UTC)
 * There's clearly enough for a separate article, so merging it back to software development is a non-starter. Leaving the article here still makes no sense despite your argument. Walter Görlitz (talk) 15:22, 21 August 2014 (UTC)
 * Since there are apparently strong feelings, I moved the content to software development process for now. -- Beland (talk) 16:30, 21 August 2014 (UTC)

Software development life cycle
It looks like the term "software development life cycle" or "system development life cycle" can be applied to any methodology, including waterfall and agile. I'm going to remove the split between SLDC and Agile. -- Beland (talk) 20:33, 19 August 2014 (UTC)
 * I'm fine with making that change. I think the distinction is artificial and it jumped out at me when I read this article. But I think the idea the original author was getting at is that SDLC methods focus on defining various phases of the life cycle, the requirements phase, the design phase, etc. In an SDLC methodology there will be guidelines about when you can leave one phase for the next, what documents get communicated from one phase to the next, etc. Where as Agile methods don't really have such a concept, with Agile you are just doing development, you probably do less programming at the beginning but there is no notion of being in the analysis or design phase with Agile. --MadScientistX11 (talk) 21:27, 19 August 2014 (UTC)