Template talk:Software development process

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
WikiProject iconSoftware: Computing Template‑class
WikiProject iconThis template is within the scope of WikiProject Software, a collaborative effort to improve the coverage of software on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
TemplateThis template does not require a rating on Wikipedia's content assessment scale.
Taskforce icon
This template is supported by WikiProject Computing.

Where to use this template[edit]

It seems to me that this template belongs on all the pages in the activities and models section, but not always the supporting disciplines -- some of the latter, like Project management, are more general than software. --David.alex.lamb 21:39, 23 February 2006 (UTC)[reply]

XP = Agile[edit]

Since eXtreme is an Agile method, why is it listed as a sub-process as opposed to say Scrum or any other other Agile methods and approaches? --Walter Görlitz 04:29, 31 March 2006 (UTC)[reply]

Only because it was much more commonly mentioned than other agile methods at the time I created the entry. If it is now no more common than any other, perhaps it should go -- but I'm not inclined to do so myself just yet. David.alex.lamb 07:25, 8 March 2007 (UTC)[reply]

Well - someone should remove it, since right now the structure is wrong and misleading 84.112.16.84 11:53, 15 April 2007 (UTC)[reply]

confused with MIS[edit]

So what is the difference between Software development process and Management Information System...???@@???? --Ramu50 (talk) 23:10, 19 August 2008 (UTC)[reply]

One describes a process exclusively for developing software; the other describes a process for managing information that may or may not include software development. Oicumayberight (talk) 20:30, 17 October 2008 (UTC)[reply]

Software engineering added in the title[edit]

I have (re)added Software engineering in the templates title. I think the Software development process is the hart of software engineering and visa versa. Templates like this should state it's domain.

I admit though, that the dubble title isn't perfect. Maybe it is a solution to recreate this template as a horizontal collapsable Software engineering template. This template will have the main scope, but will have the option to give a better overview of all aspects related to the Software development process. I think the current template is rather limited in scope. -- Marcel Douwe Dekker (talk) 08:29, 13 October 2008 (UTC)[reply]

I strongly disagree: There are parts of the software development process that are obviously not the domain of "engineering". In the book "Great Software Debates", Alan M. Davis states in the chapter "Requirements", subchapter "The Missing Piece of Software Development":
Software engineering was listed in the template as a related discipline. By making it the title of the template, your implying that everything in the template (every step of the software development process) falls under the category of engineering, as if all product researchers, developers and marketers should report to someone with the title of "software engineer". Oicumayberight (talk) 20:14, 17 October 2008 (UTC)[reply]
I am not going to refer you again. I am going to replace this whole template by a software engineering template sone, but I am going to do some more research first. The problem here is not the software engineering in the title, but the whole very selective view the template is offering on the software development process.
Now I already stated that I believe that the Software development process is the central issue software engineering. This is not just a related issue. Your reference to a subchapter in one book about software development debates makes no sense to me. There are dozens of introduction books about software engineering. Do you want to tell me, that those books are not about software engineering? -- Marcel Douwe Dekker (talk) 21:53, 17 October 2008 (UTC)[reply]
I'm not denying that there are books about software engineering. That doesn't contradict the argument made by Alan Davis. If you are making the case that software engineering is part of the software development process, then I agree. If you are making the case that software development is summed up by software engineering, then I strongly disagree. Oicumayberight (talk) 08:35, 18 October 2008 (UTC)[reply]
I don't know exactly what you mean with "summed up". But stating that there are books about software engineering is rather an understatement. There is an over 40 years tradition here. If you are interested you should take a look at the original two The NATO Software Engineering Conferences - reports from 1968 and 1969 rapports. This already focusses on what they have called the systems development proces of large-scale software systems. In recent Software engineering (study) books you still find the similar scope. But I first going to study some more about want happened in the main time. -- Marcel Douwe Dekker (talk) 10:09, 18 October 2008 (UTC
In simple mathematical engineering terms: Software Development ≠ Software Engineering. Software Development > Software Engineering. Software Development = Software Engineering + Marketing + many other multidisciplinary skills. Oicumayberight (talk) 00:15, 19 October 2008 (UTC)[reply]
This is just on theory, which doesn't fit the practice. I can show you a dozend Software Engineering books which introduces the field and are build around the Software development process. -- Marcel Douwe Dekker (talk) 20:20, 20 October 2008 (UTC)[reply]

References

  1. ^ Alan M. Davis. Great Software Debates (October 8, 2004), pp:125-128 Wiley-IEEE Computer Society Press

A new Software Engineering Template[edit]

I designed a new Software Engineering Template to replace this template, see Template talk:Software Engineering. -- Marcel Douwe Dekker (talk) 20:20, 20 October 2008 (UTC)[reply]

I disagree that it should replace this template. This template is about a multidisciplinary process that includes software engineering but is not summed up by software engineering. Software engineering describes a skill that evolves much faster than any one process. You are doing both software engineers and those who work with software engineers a disservice by trying to monopolize all the software development terminology under the umbrella of "software engineering." Oicumayberight (talk) 03:00, 21 October 2008 (UTC)[reply]
I have responded on the Talk:Software engineering here -- Marcel Douwe Dekker (talk) 12:58, 21 October 2008 (UTC)[reply]
You can try to oversimplify it by saying that software engineering is the main discipline. I'm sure there are product developers and project managers that would disagree with you, but that's beside the point. The point is that software development is multidisciplinary. You're trying to pull the disciplines of "software development" that have little to do with engineering under the umbrella of "software engineering" as if those functions are a less important subclass of engineering. The article and the template are titled "software development process", not "software engineering process". You are just in denial that development is broader in scope than engineering. Oicumayberight (talk) 00:07, 22 October 2008 (UTC)[reply]
I have responded on the Talk:Software engineering here -- Marcel Douwe Dekker (talk) 09:56, 22 October 2008 (UTC)[reply]
This template was better the way it was because it laid it out in steps and was highly visible at the top for those who may have only been interested in a particular step. I know that software engineering is not a step-by-step process, so I think it's futile to have the software engineering template replace the software development process template. There should be two separate templates, one for the broader software development process and the other for the field or skill of software engineering. Your oversimplifying both subjects by merging the templates. Oicumayberight (talk) 22:38, 22 October 2008 (UTC)[reply]
I have responded on the Talk:Software engineering here-- Marcel Douwe Dekker (talk) 23:41, 22 October 2008 (UTC)[reply]

Some questions about the current template[edit]

I have agreed to keep this template for now. I do think it shouldn't interfer with images such as in the Requirements analysis. These images should come first.

Second question. I recently added a link to the data model article, which I think could better be removed again. If I am not mistaken all other items listed here are about models of the development process!? This off cause fitt the purpose of the template. Now data models are a different category of models, and should therefor better be removed?

Last but not least. The template now is giving a list of process development models? But aren't there a lot more process models here. A lot of (older(?)) software development methodologies, for example Jackson System Development are also giving models of the development process. Now I am not sure about all new methodologies here. But isn't the current listing rather selective? -- Marcel Douwe Dekker (talk) 01:07, 23 October 2008 (UTC)[reply]

On the first question I think the way the template was handled on the requirements analysis page was fine. As long as that familiar template is there somewhere near the top for those who just want to quickly step through the articles.
On the second question, I'm not sure if data models should be removed, but I lean towards saying yes. Data models seem to be more related to data processing, more about using software than developing it. I know there is a gray area there which is summed up by database design and database development of database management systems which involve selecting the right software, configuring it and sometime programming scripts or APIs.
On the third question, if there are articles for it, then maybe they should be included if there aren't too many. If the processes are obsolete, then maybe the template can have a separate section for obsolete models. If some of those models have been made obsolete by newer models, then maybe those models should be merged with the articles of the newer model explaining the difference. If the articles are more than a dozen or two, then maybe all of them should be removed from the template and listed in the main article or even a separate article for obsolete models. Oicumayberight (talk) 01:44, 23 October 2008 (UTC)[reply]
Thanks for your response. Again there are multiple items which I will take one at the time.
-- Marcel Douwe Dekker (talk) 14:27, 23 October 2008 (UTC)[reply]

The place of the template in the article[edit]

A place of the template near the top is all right with me too. -- Marcel Douwe Dekker (talk) 14:27, 23 October 2008 (UTC)[reply]

Models in software development[edit]

The question I asked about the datamodel being listed is in fact part of problem I am working on to determine, what kind of diagrams/models exist in the field of software engineering in particular and computer science in general? For example

  • I have raised the question here if the subjects of the Logical data model, Logical schema and Semantic data model are about one single subject, or if they are different. I just made a proposal to merge them in the Logical data model article, see Talk:Logical data model.
  • I am also active on WikiCommons, see for example here, where I have been restructuring all diagrams in the field of computer science.

No I haven't head an answer on the logical data model question yet? And why not? And why couldn't you give me a firm answer about datamodels should be listed or not? (I don't mean that you should have?)

I think the main problem here is, that this is a rather undetermined field. There is no clear understanding and overview about models in software development. Now you have argued that I am trying to simplify things here. I am merely trying to get a more clear and differentiated view here. I think here is possible progress to be made. Some kind of overview could help!? -- Marcel Douwe Dekker (talk) 14:27, 23 October 2008 (UTC)[reply]

Process development models and methods[edit]

There is an other thing I don't understand in the listing of models in the template:

They are all listed as models here. But for me there are two separate things:

  • The models of the software development process: Spiral model, Waterfall model, V-Model

And the other items listed (exclusive datamodel), which I consider:

  • Development methodes containing a model of the development process.

This is a differentation, I am trying to make in the software egineering template. -- Marcel Douwe Dekker (talk) 14:33, 23 October 2008 (UTC)[reply]

Process development methods[edit]

I already mentioned Jackson System Development as a Process development methods. Now I will like to take a closer look at what methods exist here. I was under the impression that there are dozends of them. I will get back on this. -- Marcel Douwe Dekker (talk) 14:37, 23 October 2008 (UTC)[reply]

Further general comment[edit]

Please comment on separate items and here with general comment. -- Marcel Douwe Dekker (talk) 14:37, 23 October 2008 (UTC)[reply]

CMM/CMMi[edit]

I'm curious, is there any reason CMM/CMMi is not considered a software development process? It seems to me that it is definitely a major player in the field. I'll add it if there is no opposition. —Preceding unsigned comment added by Topkai22 (talkcontribs) 18:54, 3 February 2009 (UTC)[reply]

It has been placed into the section Standards and BOKs. -- Softzen (talk) 12:20, 21 August 2015 (UTC)[reply]

I have just (see here) replaced Executable UML by UML for the following reasons:

  • First, UML was not yet listed, and executable UML is (just) a single language in the UML family. If one of the UML family should be listed, it should be UML
  • Second, there is no doubt Executable UML is notable, but it doesn't seem notable enough to be listed here. Other items listed like Scrum RAD DSDM RUP UML XP Agile have triggered a whole movement in the Software engineering community.

It doesn't seem that Executable UML has a similar impact as other items listed. -- Mdd (talk) 19:11, 29 November 2012 (UTC)[reply]

Your corrections are mistaken:
  • UML is not a development method, so it doesn't belong in the category.
  • Executable UML is a major basis for the definition of MDA and is pretty much the basis for the new fUML initiative. It is disingenuous to argue that it either in it's UML incarnation or as the Shlaer-Mellor method hasn't had significant impact on software development/engineering.Lwriemen (talk) 20:09, 29 November 2012 (UTC)[reply]

I am aware that UML is not a development method, and I already had my doubts including it in the set of development methods. So I removed it again (for now). However, I am quite sure that Executable UML should not be listed here at the moment. Let us first try to solve the problems around that article. -- Mdd (talk) 20:57, 29 November 2012 (UTC)[reply]

This Template is Misleading[edit]

Activities and Steps. There is not, and has never been, a shred of empirical evidence that software development work can be meaningfully divided into the activities and steps listed in this template. These steps are channeling a RUP/IBM/Plan-Driven worldview. They represent a hyper-rationalized, oversimplified view of development as translated from an idealized engineering process. There are several theories of the software development process – SCI Theory, FBS Framework, Boomerang – that could be drawn on to improve, but I don't know how to fix this without changing about 20 different articles.

Methodologies. Scrum is a project management framework. TDD is a practice. XP is a method. Iterative is class of methods that includes basically all of them. Agile is a philosophy or worldview, and a fuzzy category of methods. V and Dual Vee are hypothetical, academic methods that have never had any significant uptake. Dumping all of these into the same category is misleading – it implies false equivalence.

Supporting Disciplines. These look straight out of RUP to me.

Anyone have any ideas for how to sort out this template? Paul Ralph (Lancaster University) (talk) 19:56, 15 March 2013 (UTC)[reply]

First, do not use [edit] link on a talk page unless you know what you are doing. Use the WP:+ feature. Misleading or not, but the {{misleading}} ambox should not be transcluded to articles, which could suggest problems with either article’s content or doubts about inclusion of the {{Software development process}} navbox to a particular article, which are not the case. Incnis Mrsi (talk) 20:15, 15 March 2013 (UTC)[reply]
Splitting up into a new section Paradigms and models seems a sound solution. Done. -- Softzen (talk) 12:48, 21 August 2015 (UTC)[reply]

LAFABLE[edit]

The Large Agile Framework Appropriate for Big, Lumbering Enterprises parody website that Mike Cohn released as an April Fool's joke some years back has made an appearance as an ostensibly valid link on the Scaled Agile Framework page and in the template for Software development processes. I have removed these with appropriate comments. Let's watch out for this coming back. Davidjcmorris  Talk  19:15, 14 November 2017 (UTC)[reply]