Talk:Software development
From Wikipedia, the free encyclopedia
Contents |
[edit] OR?
This article smells a little like original research to me. Are there any citations for the definition of software development used in the article? --Allan McInnes (talk) 04:12, 26 October 2006 (UTC)
- It's a term. There's only 55,000,000 google hits where the term is used. [1], plus the research on the wikipedia pages linked. If this is OR, then the linked pages must be OR too. Is there any part of this that you find disputable? Oicumayberight 04:49, 26 October 2006 (UTC)
-
- I'm not disputing that "sofwtare development" is a term. What I'm disputing is the part where it's claimed that "Software development" is a term to encompass the processes of software engineering combined with the research and goals of software marketing to develop computer software products. Do you have a reference to back up that usage? I've seen "software development" used to refer to the act of creating software, but this is the first time I've heard anyone claim that it also encompasses marketing. The discussions of "software development" that I've seen treat it as a subset of software engineering, not the other way around. Example (this from the SWEBOK): The IEEE Computer Society defines software engineering as “(1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software." (emph. mine). --Allan McInnes (talk) 03:51, 27 October 2006 (UTC)
- Not in those exact words. I've referred to just a few of dozens, perhaps hundreds of books, that refer to the marketing role in software development. This means that the term is used to encompass involvement from both. I suppose we could find many pages on the wikipedia that don't use word-for-word quotations from references in all of their factual statements. If IEEE wants to define software development, then maybe we'll reference it word-for-word. For now, it's safe to say that the term has broader meaning, if not broader usage than "software engineering" simply by the number of google hits yielded when searching both terms. I wouldn't call it a subset of engineering. I wonder if any reputable publications have been made on that assumption. I think it warrants it's own page and collaborative writing from more than those with engineering background. Oicumayberight 04:14, 27 October 2006 (UTC)
- I'm not disputing that "sofwtare development" is a term. What I'm disputing is the part where it's claimed that "Software development" is a term to encompass the processes of software engineering combined with the research and goals of software marketing to develop computer software products. Do you have a reference to back up that usage? I've seen "software development" used to refer to the act of creating software, but this is the first time I've heard anyone claim that it also encompasses marketing. The discussions of "software development" that I've seen treat it as a subset of software engineering, not the other way around. Example (this from the SWEBOK): The IEEE Computer Society defines software engineering as “(1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software." (emph. mine). --Allan McInnes (talk) 03:51, 27 October 2006 (UTC)
-
-
-
- You say:
- For now, it's safe to say that the term has broader meaning, if not broader usage than "software engineering" simply by the number of google hits yielded when searching both terms.
- which pretty much makes my point - you are drawing an inference about what "software development" means, rather than citing a source. That's what makes this article seem like "original research". Please take a look at Wikipedia's guidance on both original research and verifiability. --Allan McInnes (talk) 23:33, 28 October 2006 (UTC)
- You say:
-
-
-
-
-
- A few other references:
- In an interview, Joel Spolsky says: What is software development? Well, it ain't what you thought it was in college, when your professors taught you about making loops and objects. That's a part of it, but if your software is going to be popular, you are going to have to deal with a million other things: writing manuals, creating good looking icons if you have a GUI, testing, recruiting good programmers, making a product that people want, usability testing, dealing with Norman the Cranky Tester, and about 100 other things that take up most of your time.
- In From craft to science: Searching for First Principles of Software Development, Rational's Koni Buhrer says: Is software development today a craft, an engineering discipline, or something in between? Many software developers would probably assert that software development is not yet an established engineering discipline, but it is well on its way to becoming one... I think that is a delusion. In my view, software development is pure craft.
- In The Art, Science, and Engineering of Software Development, Steve McConnell says: Software development is art. It is science. It is craft, fire fighting, archeology, and a host of other activities. It is as many different things as there are different people programming. But the proper question is not "What is software development?" but rather "What should software development be?" In my opinion, the answer to that question is clear: Software development should be engineering. Is it? No. Should it be? Unquestionably, yes.
- Of the three, only Spolsky doesn't explicitly describe software development as engineering (or something that should be engineering). OTOH, Spolsky's description sounds a lot like the difference between academic engineering degree programs and real-world engineering work.
- I found all three of these references while searching Google for definitions of "software development". I haven't found any references yet that support the notion of software development as a superset of engineering. --Allan McInnes (talk) 00:36, 29 October 2006 (UTC)
- I read those definitions as saying software development includes engineering, not a function of engineering. Oicumayberight 01:57, 29 October 2006 (UTC)
- A few other references:
-
-
-
-
-
-
-
- McConnell flat out states "Software development should be engineering". Buhrer, if you read the full article linked to above, says basically the same thing (his argument is that it's a "craft" right now, but can become engineering). Both are saying that software development is engineering, not that it includes engineering. --Allan McInnes (talk) 18:34, 29 October 2006 (UTC)
- What's missing is the word "sum" or the word "subset". Marshall McLuhan said the The Medium "is" the Massage. I could make that statement that to love someone "is" to understand someone, or that to understand someone "is" to love them. That doesn't imply that the sum of one is greater than the sum of the other. The word "is" leaves much to interpretation. "Is" can mean "includes", is the "sum", is "part of", is "similar to", "overlaps", of "equal" importance, "currently", etc. William Jefferson Clinton said it depends on what the meaning of the word "is" is. Oicumayberight 19:44, 29 October 2006 (UTC)
- McConnell flat out states "Software development should be engineering". Buhrer, if you read the full article linked to above, says basically the same thing (his argument is that it's a "craft" right now, but can become engineering). Both are saying that software development is engineering, not that it includes engineering. --Allan McInnes (talk) 18:34, 29 October 2006 (UTC)
-
-
-
-
-
-
-
-
-
-
-
- I think you're getting hung up on the word "subset". You started out by claiming that software engineering is a subset of (encompassed by) software development. I said that I'd not seen that usage before, but had seen development treated as a subset of engineering (SWEBOK). I then also provided several references that treat software development as equivalent to software engineering. I'm not interested in getting into a semantic argument about the meaning of "is". What I'm interested in is seeing some references that provide some indication that (a) "software development" is used as a term that denotes a superset of software engineering, and (b) that marketing is included in that superset. Until those references appear, then the claim that "Software development" is a term to encompass the processes of software engineering combined with the research and goals of software marketing to develop computer software products. will continue to sound like original research to me. --Allan McInnes (talk) 20:03, 29 October 2006 (UTC)
- You can call it OR if you want. I call it ambiguity. Until there is a verifiable source that says software development "does not" include involvement from marketing, I don't see any harm in having a page that discusses the marketing function of software development. Oicumayberight 20:19, 29 October 2006 (UTC)
- I think you're getting hung up on the word "subset". You started out by claiming that software engineering is a subset of (encompassed by) software development. I said that I'd not seen that usage before, but had seen development treated as a subset of engineering (SWEBOK). I then also provided several references that treat software development as equivalent to software engineering. I'm not interested in getting into a semantic argument about the meaning of "is". What I'm interested in is seeing some references that provide some indication that (a) "software development" is used as a term that denotes a superset of software engineering, and (b) that marketing is included in that superset. Until those references appear, then the claim that "Software development" is a term to encompass the processes of software engineering combined with the research and goals of software marketing to develop computer software products. will continue to sound like original research to me. --Allan McInnes (talk) 20:03, 29 October 2006 (UTC)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The burden of evidence doesn't lie with me. As WP:V explicitly states: The burden of evidence lies with the editor who adds or restores material. Any material that is challenged or likely to be challenged needs a reliable source, which should be cited in the article. If an article topic has no reliable, third-party sources, Wikipedia should not have an article on it. --Allan McInnes (talk) 20:40, 29 October 2006 (UTC)
- Evidence is not proof. I believe that I've shown plenty of evidence. The only thing I haven't shown is a word for word statement to say that the "term encompasses". That is a factual statement unless someone else can prove that nobody has ever used that term to encompass software engineering, marketing research, and marketing goals. The Alan M. Davis statement seems to encompass marketing research, marketing goals and software engineering as separate entities and part of software development. Oicumayberight 21:24, 29 October 2006 (UTC)
- The burden of evidence doesn't lie with me. As WP:V explicitly states: The burden of evidence lies with the editor who adds or restores material. Any material that is challenged or likely to be challenged needs a reliable source, which should be cited in the article. If an article topic has no reliable, third-party sources, Wikipedia should not have an article on it. --Allan McInnes (talk) 20:40, 29 October 2006 (UTC)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- You say:
- That is a factual statement unless someone else can prove that nobody has ever used that term to encompass software engineering, marketing research, and marketing goals.
- That's not the case at all. It's a speculative assertion until someone (you, presumably) can show that the term "software development" is used to encompass software engineering, marketing research, and marketing goals. So far the best evidence of that is the Davis quote - and a single quote means that someone uses the term that way, not that the majority of people do.
- Another useful reference may be Sahil Thaker's Top Ten Myths About Software Engineering, in which he points out that:
- Software Engineering, Software Development, Software Development Engineering, Programming, and Coding are all terms frequently misused to describe more-or-less a single concept. and also that Largely, Software Engineering is used as a synonym for Software Development.
- But goes on to say that:
- Software Development, like housing development, is a broad term describing various engineering, management, and both creative aswell as asinine activities and their interactions; it could be a precisely calculated endevaour or an ad-hoc attempt yet still fit under this generalized term.
- The difference is between the reality of what software development is, vs. what the term "software development" is used to mean. That's (I believe) the substance of our debate here. Perhaps a good place to start would be to remove the word "term" from the leader (it's not exactly good Wikipedia style anyway), and to make use of Thaker's (and Spolsky's) citable descriptions of software development being something other/larger than engineering. --Allan McInnes (talk) 21:51, 29 October 2006 (UTC)
- I thought it was being more fair and accurate to the ambiguity by calling it a term, especially if it's not in any dictionary. I took the word "term" out as advised and put in place words to keep it neutral. Oicumayberight 22:09, 29 October 2006 (UTC)
- You say:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- I've tried a new definition, which is (I hope) reasonably neutral, backed up by references, and fits Wikipedia style for opening sentences a little better. The rest of the leader needs some work though. --Allan McInnes (talk) 23:31, 29 October 2006 (UTC)
-
-
-
-
-
-
-
-
-
-
-
-
[edit] Development vs Engineering
Aside from the claim that the description of the term is OR because it's not described word-for-word in a reference, Allan McInnes makes the case that software development is a sub-discipline of engineering. I haven't seen any word-for-word references to this notion.
The only distinction made in the dictionary between design, development and engineering, is the specific distinction that engineering utilizes math and science. This can only serve to narrow what is described as engineering compare to the alternatives, not broaden it. This also tells me that anything that doesn't utilize math and science should not be called engineering. "Development" may be anything that contributes to the problem-solving or production of a product. Even IEEE's definition implies that software development is broader than engineering. The part that describes "the application of engineering to software" would not had needed to be said otherwise.
If enough users feel that this page should be removed, it doesn't justify redirecting the term to a page that doesn't span the full dictionary definition of terms (or words used in terms) especially if there is controversy over the term used in the official title of the page it's redirected to. Judging by the amount of controversy on the software engineering page and behind it in it's talk page, it is shameful that what is important about such an important subject is buried in the debate over terminology. Why is there so much controversy? Perhaps it's because so much software is shipped full of bugs that certified engineers are embarrassed to share the term. Is the practice of letting customers troubleshoot bugs in the software after the purchase part of the engineering process as well? It's definitely part of software development?
The last thing we should do is let the business aspect of software development suffer the same fate. Call it what you want. Redefine the term. It's obviously not as "scientific" as engineering, nor should it be. Everyone knows that product development, marketing and business are not as scientific. And yet they are all used in the software development process. Why water down the scientific legitimacy used in the word "engineering" with the messiness and open-ended expectation of business. Oicumayberight 01:50, 29 October 2006 (UTC)
- Look, I'm not saying you're wrong. What I'm saying is that Wikipedia is not the correct venue for writing about your own ideas on a subject. Wikipedia's policies on original research and verifiability are pretty clear, and they exist for a reason.
- The reason that I initially questioned this article is that it makes claims about what the term "software development" encompasses that don't match up with the way I've typically heard the term used. I'm not disputing that there's more to bringing a software product to market than engineering, what I'm saying is that the term "software development" isn't (in my experience) used to encompass all of those other things. The references I provided above back that up, since they equate "software development" with "software engineering". What I'm asking for is some references that back up the broader meaning you seem to be trying to give to the term. Furthermore, I'm suggesting that the article needs to discuss the fact that some people (such as the authors of the references I've provided) treat "software development" as "software engineering", while some (authors of the references you provide) treat "software development" as encompassing the larger business aspects as well. --Allan McInnes (talk) 18:50, 29 October 2006 (UTC)
- If you think it needs to be mentioned in the article that some people treat the sum of what is called software development to be less than the sum of what is called engineering, feel free to write it. I would just ask that you provide references that make that specific case. Just keep in mind that you will be speaking mainly to business minds in this article. Oicumayberight 19:23, 29 October 2006 (UTC)
-
-
- I think that what is needed is some kind of reference to back up your claim that the term "software development" encompasses marketing as well as engineering. I've yet to find a reference that treats "software development" as encompassing marketing, and several that treat "software development" as equivalent to "software engineering". Again, please read Wikipedia's policies on original research and verifiability. --Allan McInnes (talk) 19:57, 29 October 2006 (UTC)
- I've read it. The question of if this article is OR has nothing to do with the question of "development" versus "engineering". I can go through the software engineering article and find way more unverified statements than you can find on this article. There's much more controversy over the term "software engineering". Marketing would only complicate it more. I don't see ambiguity as justification to squeeze an ambiguous term in to the tight box of what most people know as engineering. Oicumayberight 20:10, 29 October 2006 (UTC)
- I think that what is needed is some kind of reference to back up your claim that the term "software development" encompasses marketing as well as engineering. I've yet to find a reference that treats "software development" as encompassing marketing, and several that treat "software development" as equivalent to "software engineering". Again, please read Wikipedia's policies on original research and verifiability. --Allan McInnes (talk) 19:57, 29 October 2006 (UTC)
-
-
-
-
-
- You say: I can go through the software engineering article and find way more unverified statements than you can find on this article.
- By all means, please do. The SE article needs substantial work, and is full of unverifiable opinions. It'd be great if someone would go through and explicitly identify the parts that need citations. --Allan McInnes (talk) 20:46, 29 October 2006 (UTC)
-
-
-
-
-
-
-
-
- Maybe I will contribute more when I'm freed up from working on this article. Right now the claim that this is OR has my hands full trying to prove that it's not. Oicumayberight 21:13, 29 October 2006 (UTC)
-
-
-
-
[edit] Marketing in SRA
These links further explain marketing involvement in SRA.
-
- The linked article states:
- It defines a number of software engineering processes, and a scale for measuring their capability. One of the defined processes is software requirements analysis (SRA). (emph. mine) --Allan McInnes (talk) 19:45, 29 October 2006 (UTC)
- The linked article states:
-
- The linked article states that:
- Once the Market study is made, the customer's need is given to the Research and Development (R&D) Department to conceptualize a cost-effective system that could potentially solve customer's needs better than the competitors. Once the conceptual system is developed and tested in a hypothetical environment, the development team takes control of it. The development team adopts one of the software development methodologies that is given below, develops the proposed system, and gives it to the customers.
- The development team, and the development of the system, are described as separate from marketing. Note that the article starts by saying As in any other engineering disciplines, software engineering also has some structured models for software development. --Allan McInnes (talk) 19:45, 29 October 2006 (UTC)
- The linked article states that:
-
- The linked article states:
- The requirements analysis step typically starts with a requirements specification that the marketing team has produced. Leaders of the development team analyze the requirements specification, and make changes to it.
- Again, a separation in roles between "development team" and "marketing team". --Allan McInnes (talk) 19:45, 29 October 2006 (UTC)
- The linked article states:
- http://www.unex.berkeley.edu/cat/bus.html
- http://www.processimpact.com/articles/usecase.pdf
- http://www.cs.iastate.edu/~leavens/SAVCBS/2005/posters/Ereno-Cortazar-Landa.pdf
- http://dec.bournemouth.ac.uk/ESERG/kphalp/ist06.pdf
- All of these links stress the importance of requirements analysis to software development. But most of the literature and real-world usage I'm familiar with treats requirements analysis as one part of software engineering (as it is part of the engineering of other kinds of products). Some of the links explicitly place requirements analysis within the purview of SE. The others don't make it clear where they see requirements analysis fitting in, just that it is important. I agree that requirements analysis is important. I agree that requirements analysis requires interaction with marketing. I still don't see anything that supports the assertion that Software development is a term to encompass the processes of software engineering combined with the research and goals of software marketing to develop computer software products. If anything, a couple of the links further reinforce the fact that "software development" as a term doesn't encompass marketing, since there's explicit mention of separate marketing and development teams. --Allan McInnes (talk) 19:45, 29 October 2006 (UTC)
- Why is this hard to understand? If the SRA requires marketing involvment, and SRA is part of software development, than software development requires collaboration with marketing. SRA is the Intersection in software development. Oicumayberight 19:58, 29 October 2006 (UTC)
-
-
- Sigh. Why is this hard to understand? I'm not saying that the creation of a software product doesn't require involvement from marketing. What I'm saying is that the term "software development" is not (in my experience, and in the references I've found so far) used to denote the part of creating a software product that includes marketing. You've made a specific claim about what the term "software development" encompasses. But you haven't shown any citable evidence that what you've claimed is in fact the way the term "software development" is actually used. In fact, several of the references you've provided explicitly differentiate between marketing and development.
- Yes, some of those references describe developers as using the outputs generated by a marketing team (so I suppose in that sense "software development" could be said to encompass "the research and goals of software marketing" - perhaps you could clarify exactly what you are trying to get across with that phrase). But none of them treat "software development" as encompassing "software engineering". If anything, they treat "software engineering" as encompassing "software development" (As in any other engineering disciplines, software engineering also has some structured models for software development.)
- --Allan McInnes (talk) 20:36, 29 October 2006 (UTC)
- Perhaps my latest addition quote form Alan M. Davis' Book should help. I put the quote on this page.
- http://www.wiley.com/WileyCDA/WileyTitle/productCd-0471675237,miniSiteCd-IEEE_CS.html Oicumayberight 21:04, 29 October 2006 (UTC)
-
-
-
-
-
- Yes, I just saw that addition. Nice work! It definitely helps make your case. --Allan McInnes (talk) 21:06, 29 October 2006 (UTC)
-
-
-
[edit] Marketing involvement in software development
Joel Spolsky makes the point that there are several different kinds of software development. Not all of them will involve marketing, since not all of them involve producing something for an external customer. A good example is in-house financial software, or flight software for a spacecraft. Neither involves marketing. This is not to say that software development doesn't involve marketing. Just that the article currently makes it sound like marketing is (or should be) always involved, which is clearly not the case. Sometimes the software requirements come from somewhere other than the marketing team. --Allan McInnes (talk) 21:28, 29 October 2006 (UTC)
-
- Understood. There's also cases where software development do not involve engineering. The development process may start with the SRA, but then come to a halt due to lack of engineering or finances. Also, the term marketing is ambiguous when you take money out of the meaning. Some call any form of meeting anyones needs "marketing". But I wouldn't call meeting ones own needs marketing. So I suppose one could develop software for oneself, but that would be the exception to the term. I included the software development (disambiguation) page for those exceptions. Oicumayberight 21:59, 29 October 2006 (UTC)
I noticed the new edit with the words "user needs" in the opening statement. This is where the ambiguity of "marketing" by itself may be useful. Most everyone knows marketing doesn't always attempt to sell what the user needs or even what the user wants. Nonetheless, it's marketing that sets the goals of many if not most software development projects.
I modified the first statement to reflect that it may either be a question of user needs "or" marketing goals without implying that it's always a case of one or the other. If this is too controversial for the opening statement, I suggest that the point be made elsewhere in the page, or the words "user needs" are left out of the page altogether. Wikipedia should be truthful first and foremost. Oicumayberight 23:47, 29 October 2006 (UTC)
- Actually, the primary reference I'm using for that definition (Birrell's text) just talks about "needs", rather than specifically "user needs". But I felt that "...the translation of needs into software products..." would be difficult for the uninitiated reader to understand. I'm open to alternative wordings that preserve the basic message. --Allan McInnes (talk) 04:10, 31 October 2006 (UTC)
-
- I think you made that edit as I was posting a comment. What you did works fine. Oicumayberight 04:16, 31 October 2006 (UTC)
[edit] Commercial Software Focus
Software development is actually an umbrella term that covers a wide range of circumstances in which many different types of computer software product might be conceived, designed, and created. So the content of this article should be at least as general as that of the software development process article. In many situations in which software development occurs, this article's references to the marketing are meaningless. However, this article introduces the role of marketing in software development in its first sentence, and contains further references to marketing throughout. Consequently, it appears to be only about the development of commercial off-the-shelf (COTS) software products by software vendors. Chris Loosley 19:24, 27 December 2006 (UTC)
- Feel free to expand the article to include non-commercial and custom solutions. I agree that it is an umbrella term. It's a good starting point for going into the more specific articles. If you didn't notice, there is a disambiguation page with the same name. This page is linked first because business and (more specifically) marketing should be considered first when starting any software project. What good is a product with no need or demand for it? If there is a need, there should be a demand or marketing to stimulate a demand. If there is a demand that's not being met, it's often marketings job to make sure that suppliers are connected to the (market) demand. The reason why marketing is emphasized here is because it is not emphasized enough in the other articles. Marketing isn't exclusively commercial as in the case of cause marketing and public services. Technically, any service that is unsolicited needs to be marketed regardless of who benefits or profits. Software is just an automated service provider. Oicumayberight 01:43, 28 December 2006 (UTC)
- First, I had not seen the disambiguation page before, because links to software development bring you directly here, as does any search on that term. So I don't really see the point of having that page. It does not disambiguate between references to software development, because all the terms it covers are different. It seems to be a way of avoiding having a real article explaining software development, a subject that should include references to software engineering, the software development process, computer programming, and software architecture. Those are four different but inter-related concepts, which should be linked from this article.
-
- Second, I am very familiar with the role of Marketing as you describe it; I live with a Marketing VP, who runs a marketing consultancy business. And (naturally) I do recognize the importance of Marketing's participation in software development -- when the organization developing the software has a marketing function. All the same, I believe that a lot of software is developed to meet needs that do not involve a marketing function -- for example, software applications that will be used by company employees, software that will control a manufacuring process, software that will be embedded in a device, software that I write for my own use, software written by an individual anticipating a future business, software written by researchers to support their work, open source software, etc., etc. It would be a stretch to apply the content of this article, as it is today, to those examples of software development, without redefining the term marketing to mean simply someone responsible for identifying software requirements. And that is not how most people would read the article. Chris Loosley 07:07, 28 December 2006 (UTC)
-
-
- The disambiguation page does state what little distinctions are maid between uses of the term. I stated the reason why it links here first. It's common for wikipedia articles to link the broadest most common use of a term before the disambiguation. Just because an article is not thorough, it doesn't mean anyone is avoiding any explanations. You are free to include what you think has been left out. There are references to software engineering and the software development process in the article. Computer programming and software architecture are linked in those broader articles. The goal is not to tell the full story of everything and everything involved in everything in one article.
-
-
-
- The examples you say don't require marketing, still require internal marketing if the developer is not the internal customer and the internal customer did not solicit the development. The exceptions are also covered in the first sentence that states "Software development is the translation of a user need or marketing goal." The article doesn't have to be entirely about marketing. The only reason why this article was created was to cover the broader use of the term. Marketing didn't get much mention in the page that the term was formerly directed to. Oicumayberight 11:14, 28 December 2006 (UTC)
-