From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,bf72ca9e8a6b3cf X-Google-Attributes: gid103376,public From: Richard D Riehle Subject: Re: Software Engineering in Florida Date: 1999/11/07 Message-ID: <804plo$dvs$1@nntp5.atl.mindspring.net>#1/1 X-Deja-AN: 545654837 References: <1e0rgtb.6j187t1hibcsaN@[209.132.126.64]> <7vv26t$tju$1@nnrp1.deja.com> Organization: MindSpring Enterprises X-Server-Date: 7 Nov 1999 21:07:04 GMT Newsgroups: comp.lang.ada Date: 1999-11-07T21:07:04+00:00 List-Id: In article , kenner@lab.ultra.nyu.edu (Richard Kenner) wrote: >No, there's more than that: 471.003 starts with "No person other than >a duly registered engineer shall practice engineering". However precisely >because the definition of "engineer" in 471.005(6) does not apply to >software engineering, the entire statute does not refer to us. We really need to take more care in our use of the word "engineering" when discussing software. I post the following in the form of a "Devil's advocate," proposition. Is software engineering simply an attractive oxymoron? One of my degrees is in software engineering, and I am still not sure there is such as thing as "engineering" when speaking of software. It seems to be, rather, an emerging discipline with more to emerge before we can really call it engineering. What is the difference between the effort of a methodical programmer and a software engineer. Here is Silicon Valley, every programmer is now calling himself/herself a software engineer. The term has lost any meaning it may have had. Software engineering is now where Industrial Engineering used to be. Most classical engineering, including chemical engineering, are based on the measurable forces of physics. Software practice, in general, is not constrained by those forces. Every engineering practice includes some kind of design metrics. Software practice may proceed oblivious to any notion of design metrics. In fact, design metrics are rarely an issue for most software products. Without design metrics, there will never be a discipline we can call software engineering that is as credible or respectable as other branches of engineering. Software cannot be called engineering simply because we organize projects around a set of accepted methods of development and project management. It cannot be called engineering because we are doing difficult embedded projects with it. It cannot be called engineering because some of us who practice have engineering degrees of one kind or another. We need to define what we mean by engineering. The definition must be consistent with that for other engineering disciplines. Although the pursuit of an engineering model for software practice is commendable, we have not yet arrived at a place where we can honestly elevate what we do to the level of engineering. Having said what I just said, I do see some software practice that comes very close to engineering. Some practitioners do have a realization of the importance of design metrics and use those few actually available. Some practitioners do build models before commiting to code. We are moving in the direction of tools and languages that can lead to the codification of engineering standards. Some organizations are trying to take an engineering approach to the development of software. Not enough. Sadly, many of those who refer to themselves as software engineers have not concept of engineering. One dBASEIV/FoxPro programmer of my acquaintance has the temerity to call himself a software engineer. Texas and Florida may be on the right track here. How many people who call themselves software engineers could pass the Professional Engineers exam? How many reading this message? That is the criteria by which one is allowed to add the initials, PE, to a business card or letterhead. If one cannot pass the PE exam, one is not, by commonly accepted standards, an engineer. I realize I have probably opened a hornet's nest with this, but it is important enough for Ada practitioners to consider since we so often tout Ada as a software engineering language. Richard Riehle http://www.adaworks.com