Engineering Dimensions
January/February, 1998
pages 28,29

Roundtable looks at issue of licensing software engineers

Professionalism and accountability are
needed in the software engineering field,
but is licensing the answer?

by Connie Mucklestone

Certification and licensing are badly needed in the field of software engineering, but it's hard to tell who should be licensed, who should do the licensing, and on what criteria. And lawsuits over the name of the speciality aren't likely to get it sorted out any faster. This was the consensus of a recent roundtable discussion sponsored by the Council of Ontario Deans of Engineering.

Professional status for software engineering is becoming absolutely critical", said Peter Leach, P.Eng., president and CEO, Communications and Information Technology Ontario (CITO). "If you look at the way this technology is being used, quality and accountability are crucial. But the difficulty revolves around the state of knowledge. Right now, software engineering is more an art than a science. You can always refer back to the blueprints of a building - but it's not the same with software. It's clear that you cannot certify someone as a professional if you don't know after the fact whether they've done a good job."

A New Discipline

Held October 27, 1997 at Professional Engineers Ontario, the roundtable brought together engineering educators, computer scientists, and representatives of engineering regulatory bodies and industry. Its goal was to explore software engineering as a discrete discipline of engineering, and consider the role and relationship of computer science to the new discipline. Because university programs in software engineering are under development at engineering schools across Canada, the discussion was intended to provide guidance for the deans of engineering and for the Canadian Engineering Accreditation Board (CEAB), which will have to accredit the programs. There are currently no CEAB accredited programs in software engineering at Canadian universities.

Dr. David Parnas, P.Eng., electrical and computer engineering professor, McMaster University, told the roundtable that "software engineering is engineering" and "software engineers are engineers who build, maintain, and analyze software in computer systems". The problem, he said, is that the term "Software Engineering" is used to cover research activities that should be more properly described as "software science", and activities that are true "software engineering", with all the rigour and discipline engineering requires. Holder of the Natural Sciences and Engineering Research Council / Bell Industrial Chair in Software Engineering, Parnas likened the difference between the two areas to that between physics and electrical engineering. Bachelor's programs are needed in both areas, which are separate career streams he said, so that "computer scientists become scientists and engineers become engineers."

Questioning Criteria

Presenting the computer science view, Dr. Ken Sevcik, computer science professor, University of Toronto, defined software engineering as a set of "principles, methodologies, techniques, and tools", which should be practised by "whomever is best, and I've seen no evidence that [these people are] engineers". The term "software engineering" has been used internationally for about 30 years, he said, with no connotation of professional engineering. Restricting the terms use in Canada to tie it to the engineering profession will only confuse the international information Technology (IT) industry, and put Canadian IT workers at a disadvantage, he said. Sevcik said that while he agrees "professionalism and accountability are needed" in the software engineering field, he is not convinced that P.Eng. licensing is the only route to achieve that goal, or that software engineering programs necessarily belongs in a faculty of engineering or requires CEAB accreditation. What's required first, he said, is a sense of what are best practices in the field and what is the body of knowledge. Consensus on these issues may be difficult to achieve because the field is so new, he added.

Although Sevcik said there is little evidence that certified software practitioners perform better, Norman Ichiyen, P.Eng., manager, control and instrumentation, Atomic Energy of Canada Ltd., said that in his experience those who come from a pure computer science background generally "do not produce software designs that are as good as those produced by people from engineering backgrounds". Ichiyen said that because the Canadian nuclear industry is heavily regulated, it uses a structured approach to software engineering, with mandated minimum design processes and documentation for criticality-based categories of software. The result of this "good engineering practice" and "rigorous adherence to software development methodologies" has been "a much higher quality of software", he said.


Prefacing his remarks by saying he was taking no position on whether the practice of software engineering is professional engineering, PEO deputy registrar Larry Gill, P.Eng., said that under the Ontario Professional Engineers Act, it is illegal to use a tide that may lead to the belief that an individual is a professional engineer, if the individual is not. As far as PEO is concerned, he said, use of the term "software engineer" by anyone who isn't a professional engineer is a breach of section 40(2) of the Act, which is punishable by maximum fines of $10,000 for a first conviction and $25,000 for any subsequent convictions. Generally, however, PEO's approach has been to negotiate with individuals or companies over use of the tide "software engineer", rather than to initiate legal action, he said, which in most cases has resulted in titles being changed from "software engineer" to "software developer" or "software specialist". Gill said PEO is continuing to negotiate with several large, international companies that have said they cannot change their job titles.

Among industry representatives at the roundtable, opinion was unanimous that there's an overwhelming demand for IT personnel, but divided on whether such individuals need to be licensed. "We don't look for professionals. We'll take anyone. We desperately need good people", said one industry representative. Said another: "Today's presentation is fighting between turfs. But there are different categories of software. Licensing is needed only for people designing safety critical software, although engineers have a lot to offer to software development because they're problem solvers."

Must Work Together

However, McMaster's Parnas said it's sometimes hard to tell whether software is safety critical: "Take something like WordPerfect. If it's used to prepare an engineering document and something in the document gets lost in editing or formatting, then WordPerfect is safety critical". CITO's Leach agreed, noting, "The original designer may not have designed the software for a safety critical application, but a safety critical application can be built on that software."

All participants agreed that in the future, computer science departments and faculties of engineering must work together to develop programs that meet industry's needs. Some of these programs will be engineering accredited; others will not be, they said, and there will likely be a need for graduates of both types. Public awareness must also be raised, so that people know what comprises good software design. Because software can be designed by people anywhere in the world, it was also suggested that public safety can best be protected by certifying software products rather than software producers.

Most participants also turned thumbs down on the current lawsuit in which the Canadian Council of Professional Engineers (CCPE) is suing Memorial University for trademark infringement, because Memorial offers a program in "software engineering" through its computer science department rather than its engineering faculty. CCPE holds the trademark on the terms "engineer" and "engineering". "I don't think lawsuits work. You can't get ahead by holding someone else back. Both sides have something to offer, so they should work together", said computer scientist Sevcik. "There's a need for both computer scientists and software engineers", said Parnas. "I'm disturbed that with this lawsuit what should be a win/win situation is becoming a lose/lose situation. If they worked together, both programs could be strengthened."

In 1996, PEO's Task Group on Emerging Engineering and Multidisciplinary Groups held a similar roundtable, in which it explored the role and impact of software engineering and information systems design in such sectors as aeronautics, oil and gas, telecommunications, transportation, and nuclear energy. Issues discussed included public safety and welfare, training and education, how responsibility, liability, and accountability are assumed, the relationship between professional engineers and other practitioners, and potential mechanisms for addressing the issues raised.

The roundtable found that some of software design do constitute the practice of engineering and that there are significant public safety issues in the way software is currently designed and used. PEO roundtable participants also agreed that accountability structures for software practitioners and general standards for software development are almost nonexistent. Participants suggested several roles for PEO, including registering software practitioners (see The Link, June/July 1996, p.4. The Final Report of the Task Group on Emerging Engineering and Multidisciplinary Groups is available on request).

Since the 1996 roundtable, PEO's admissions and newly established professional affairs departments have been:

Copyright © 1998 by Engineering Dimensions. All Rights Reserved. Reprinted with permission.