Talk:Software engineering

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Earlier Reference to term Software Engineering[edit]

An earlier reference to the term Software Engineering was recently inserted into the article. This would be quite some news. The initial link seems very complete and is a message from Bertrand Meyer himself on the usenet group comp.software-engineering in 1992. In Bertrand's post, he references a "Letter to the ACM Membership" by Anthony Oettinger published in Vol.9, Issue #8 in Aug. of 1966. Having access to the ACM archives, I searched for this letter extensively. I could not find it. I also searched the Internet, but could not find it. Something of this importance needs a more formidable reference than a post in a usenet group archive. If the "Letter" is produced, I am ready to include it in the article. Lwoodyiii (talk) 16:28, 14 April 2013 (UTC)

The book "Science of Computing: Shaping a Discipline" gives that citation by Oettinger in 1966; it's Communications of the ACM, 9(8), p.546 but those pages are missing from the digital library. However I was able to find it also in CACM 10(10) page 605. That's 1967 and by Oettinger again. So the term was definitely introduced by Oettinger before the 1968 conference, and it was done in the flagship publication of the ACM. I made a screen shot for you http://i.imgur.com/ZJy15Ij.png see the bottom part 91.159.183.138 (talk) 10:43, 29 August 2015 (UTC)

Coined software Engineering[edit]

There is someone who coined the word software, as someone coined the world electricity. But no one has the right to claim a new term only with an Engineer after it. The word creation, development, making, designing are sometimes synonymous with the word Engineering. --108.162.136.215 (talk) 08:28, 20 May 2015 (UTC)

"Software engineers" are programmers. It's as simple as that. I know because I am one. We have to have this article because the term is in wide use, but to describe programmers as engineers is akin to describing a hairdresser as a keratin engineer. 31.52.163.167 (talk) 23:23, 23 February 2016 (UTC)

Proposed merge with In-house software[edit]

The following discussion is closed. Please do not modify it. Subsequent comments should be made in a new section. A summary of the conclusions reached follows.
Closed as no consensus to merge. Discussion begun 6 months ago, petered out with no consensus after 3 months. TJRC (talk) 23:06, 16 December 2015 (UTC)

Too minor for own article. Entirely lacks sources. Easily incorporated into target article. Another similar page, In-House Design, redirects to software engineering as well. EvergreenFir (talk) Please {{re}} 00:15, 3 June 2015 (UTC)

@EvergreenFir: Support In my opinion both In-House Design and In-house software are candidates for speedy deletion. They are both minor and easily incorporated to Software engineering.Gpeja (talk) 23:38, 18 August 2015 (UTC)
Would suggest merging into Software development, which is broader and more appropriate. Since there is little to merge, it's probably more a matter of where to redirect both those articles. --Boson (talk) 11:13, 19 August 2015 (UTC)
  • Oppose In-house software is a small article, but it's a decent topic on the issues of build vs. buy vs. commission. Andy Dingley (talk) 11:53, 19 August 2015 (UTC)
@Andy Dingley: In-house software is not a 'decent' topic if you mean by 'decent' requiring its own article. Topics such as Software#Types of software (including in-house, outsourced, off-the-shelf) or Software business or Software development or Software Engineering are convenient places for this small piece of information. If you are able to expand this topic and support it with Reliable sources, it may become 'decent'. Gpeja (talk) 22:17, 21 August 2015 (UTC)
Thankyou for explaining the basics of Wikipedia to me. Are you equally experienced in the software industry? Andy Dingley (talk) 22:46, 21 August 2015 (UTC)
Thankyou Andy Dingley. It seems I have a problem in attitude. What would be a constructive thing to do in this case? Please advise as an experienced Wikipedian. I've just joined this year and have no idea what is the proper etiquette in case of disagreements. Gpeja (talk) 19:13, 24 August 2015 (UTC)
There is a big difference in WP between the qualities of an article and the qualities of a topic. If an article is poorly written, it's quite common for it to end up at AfD where the qualities of it as a topic are then judged. This generally gives the right result: WP thus focusses on notable topics, as intended.
One of the biggest questions in commercial software is the three-way decision between buying existing software, developing it in house, or having it developed externally. Million pound projects have to choose this on a regular basis, many do not choose wisely. It's a huge issue within IT management and within software engineering. All three of these, and their overview, are excellent in-depth articles for WP that would be valuable articles to have afterwards. There is also a vast literature out there describing the trade-offs. There's probably even an MBA course to be had out there, just on how to choose (someone who was thought to reliably choose well would be a valuable consultant within the industry).
By all means, list these topics at AfD if you think they're not notable as topics and unworthy of effort to develop them as articles. But I think I know what the outcome would be. Andy Dingley (talk) 11:40, 29 August 2015 (UTC)
Thanks for giving more explanation. This is part of my learning process as a new WP editor. It would be great help if you at least put a rough outline and your definition of in-house software. The first sentence now reads: "In-house software is a software that is produced by a corporate entity for purpose of using it within the organization. " This doesn't match what you described above. Your description is more about commercial software development process and its tradeoffs. As I see it, there is lots of commercial software out there that is combination of all of the above so there is no reason to describe in-house software by itself. It is more important to describe the decisions you mentioned as an important part of software development process. I am still curious and would like to understand your point of you and idea of this article. It would help me learn how to create a new articles and make sure they stay on WP. I know it is quite common for new articles to be deleted at first review. Is there an option to move this article in Draft of my (or the original author) space and work on it off line? Gpeja (talk) 00:56, 1 September 2015 (UTC)
"Commercial" software is misleading as a term, because software becomes commercial when it's either bought or sold. This could be an accountant buying software in, or it could be a software house developing it in-house and then selling it. As our distinction here is mostly whether to "develop in-house or buy the work of others", then commercialism isn't the crucial difference, means of creation is. Remember too that software can be sold as applications (things that are usable by users) or libraries (things that developers use to build further software on top of). A software house might be writing an application for sale, thus needs to write it themselves so that they then own the rights to these sales (they're a developer, not a reseller). Yet they still have to choose whether to build the component libraries within it themselves, or buy them from others.
There's also the question of whether open source software is "commercial" or not. For most practical purposes here it is, even if there's no bill to be paid for it. It has the same technical implications (to a consumer) as commercial software: it is produced by others, it is dependent on others, but it does not require an in-house development team.
"In-house software is software that is produced by a corporate entity" is correct, but it's not necessarily for use only within that organisation. It's produced to meet the software needs of the organisation (either to use themselves or to sell on), but it is not limited to only being used internally. The case of the software application developer building or buying in a database library etc. is a simple counter-example. The distinction is about who builds it, not who uses it.
If you want a draft space to work in, I'd suggest just creating it under User:Gpeja/drafts/In-house software or similar. It's easy to move later, you can even do it yourself. There's also the Draft: namespace, which is useful for very new editors who don't yet have the rights to create pages in most namespaces. Andy Dingley (talk) 09:09, 1 September 2015 (UTC)
Andy Dingley Could you please comment on the article Insourcing? It is a strange term I've never heard. There is a connection to what you described above but for the business in general not only software.Gpeja (talk) 00:49, 3 September 2015 (UTC)
"Insourcing" and the variants "onshoring" and "backsourcing" are recent formations that are a reaction to the fashion (early 2000s) for offshoring and outsourcing, and the general failure of those approaches. Although they can be (but not necessarily) a form of in-house development, their key feature is that they're a movement away from some previous outsourcing effort. Insourcing usually means moving development in-house, onshoring to move it to a separate developer who is locally located in-country. None of these terms are clear or particularly trustworthy, because they're used by management without the technical nous to really understand the issue, or the precision in language to maintain the distinctions clearly.
I've even heard the awful form "expatrisourcing" which meant convincing a UK development team to leave the country and relocate to Bulgaria, where they could do the same work and be paid less (but would avoid the language issues of native Bulgarian developers). I still don't know if that was a serious management suggestion.
In-house development is the process of development in-house. Doesn't matter whether it has always been done in-house, or if it is a recent change from development previously done externally. Andy Dingley (talk) 08:50, 3 September 2015 (UTC)
Another aspect to "in house" development is the size of the house. If a team within a large corporate builds some software within that team (usually by one person) rather than having it done for them by the corporate IT Services monolith, that too can be seen as "in house development", as opposed to having the official heavyweight process and team build it (I don't know of a specific term for this, but would be interested to hear one). There are lots of projects facing this as an issue too. Corporate IT departments are often regarded as slow-moving and inflexible, encouraging this lightweight in-team development. Andy Dingley (talk) 08:57, 3 September 2015 (UTC)

The above discussion is closed. Please do not modify it. Subsequent comments should be made in a new section.

External links modified[edit]

Hello fellow Wikipedians,

I have just added archive links to one external link on Software engineering. Please take a moment to review my edit. If necessary, add {{cbignore}} after the link to keep me from modifying it. Alternatively, you can add {{nobots|deny=InternetArchiveBot}} to keep me off the page altogether. I made the following changes:

When you have finished reviewing my changes, please set the checked parameter below to true to let others know.

You may set the |checked=, on this template, to true or failed to let other editors know you reviewed the change. If you find any errors, please use the tools below to fix them or call an editor by setting |needhelp= to your help request.

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

If you are unable to use these tools, you may set |needhelp=<your help request> on this template to request help from an experienced user. Please include details about your problem, to help other editors.

Cheers. —cyberbot IITalk to my owner:Online 14:01, 27 August 2015 (UTC)

Citations of Software Engineering Body of Knowledge[edit]

I updated Software_engineering#Subdisciplines section to follow SWEBOK more precisely. I think that unsourced statements poorly repeat what was said in 15 links of SWEBOKv3.

Please review unsourced statements and tidy citation syntax. Ushkin N (talk) 09:18, 24 May 2016 (UTC)

Who coined the term?[edit]

According to Milestones in Computer Science and Information Technology, entry on software engineering, Edwin Reilly cites historian Brian Randall as believing that the term came from Fredrich L. "Fritz" Bauer. He says to see pp 1606-11 of Encyclopedia of Computer Science for additional reading, but my edition of that book is older and doesn't contain those pages. Bubba73 You talkin' to me? 00:07, 15 July 2016 (UTC)

I've seen by RFC this come up under Margaret Hamilton, as an article there was noted dubious in July 2016. Here it appeared in Dec 2014 edit as "coined by" her, later shifted to "adopted the term" in August 2015. Since 'used by her' is not notable to the topic, I have removed it from the article. I think that the original mention of her as coining it was in error and this was simply a remnant of the error. Markbassett (talk) 14:53, 19 July 2016 (UTC)
p.s. I've also removed the photo of her that was put in on 14 Jan 2014 as the top photo with subtext of credited with inventing the term. Again, legacy of an error propagated and later revised and ... just removing the mistake cleanly and completely. Markbassett (talk) 15:09, 19 July 2016 (UTC)

Certification and Licensure[edit]

This article misses the fact that in the USA over 30 States recognize Licensed Software Engineers also know as Professional Engineers (PE). The process started by finding a cadre of experienced engineers who were individually vetted by the Texas Board of Professional Engineers. This group formed the majority of those who then went and helped NCEES create the PE Exam in 2013 [1]

The path requires a minimum degree in Engineering (some states will allow ABIT [2] accredited science such as Physics and Computer Science), five years of experience working under another PE, passing the Fundamentals of Engineering exam (thus allowing a person to say they are an Engineer In Training or EIT), a background check, five to nine references, and finally the Professional Software Engineering Exam. [3]. Keeping the license requires ongoing professional education.

This means that the individual is now legally and ethically obligated to follow and uphold the standards of a professional engineer in their actions and deliverables. At least in Texas there are many PEs who have been stripped of their license and/or fined for breaking those rules. This is a different level of professionalism than a certificate from IEEE or Microsoft. Don Gilman, PE, Texas and contributor to the national exam. Uncleharpoon (talk) 19:38, 13 November 2017 (UTC)

References

Uncleharpoon, yes the article should mention licensing of professional engineers. There is an article on this, Software engineering professionalism. However licensing affects very few software engineers. The need for this licensure can be seen by looking at the number of people who take the exam. The NCEES offers the PE Software exam twice a year, in April and October. In April 2017 a total of 20 people took the exam.[1] In states that require it a PE is needed only for those offering themselves directly to the public in solo practice or a small partnership. If you work for a large employer you will be considered under the supervision of PEs at the company, and can call yourself whatever your company calls you.[2]
While the IEEE supports licensing, the ACM took a strong stand against it and withdrew from the committee, stating "...the Council further concluded that the framework of a licensed professional engineer, originally developed for civil engineers, does not match the professional industrial practice of software engineering".[3] The Fundamentals of Engineering exam, usually taken by graduating students, covers material such as Properties of Electrical Materials, Engineering Sciences, Circuit Analysis (DC and AC Steady State), Electronics, Signal Processing, Power, Electromagnetics as well as material software engineers would be expected to study.[4] No effort has been made to develop an FE exam appropriate for software development. Time that would need to be spent by students to learn the material to pass the current exam is much better spent on topics in software development. StarryGrandma (talk) 22:11, 14 November 2017 (UTC)

References

Dubious claim in history[edit]

I'm undoing a dubious claim in the history that Margaret Hamilton was the one who made up the term. Frankly, there seems clear evidence in 1966 of the letter published by Anthony Oettinger leading to the 1968 NATO conference on the topic with it's report widely spread as the origin of the common usage, and also credit given to the extensive works of Barry Boehm for developing it but she does not seem to have any prominent published works on the topic during this period that would credit it's rise to her. I see a 21st century claim by her, also conveyed via local paper and NASA 50th anniversary review of people, but not as a part of the publicizing work. I think it possible the phrase occurred by others in the 1950s as a casual utterance but not part of the field development and perhaps she independently used it as well in the 1960s -- but that would be after Oettinger, and lacks the body of work that Boehm contributed so any mention would be after those two and with less coverage to reflect due prominence. Jus put up some evidence prior to 1999 or please stop pushing the tale. Markbassett (talk) 01:33, 1 December 2017 (UTC)