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."
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."
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.
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."
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: