Issue statement: October 27, 2016
The regulation and enforcement of software engineering practice has proven to be a difficult task, because activities such as software programming may often appear to overlap with software engineering.
Many licensed engineering practitioners in the traditional engineering disciplines are grounded in Canadian Engineering Accreditation Board accredited programs and the scope, practices and standards for these disciplines are well-defined. However, software engineering practitioners seeking licensure are less likely to be graduates from an accredited program in software engineering, and come from a wide range of backgrounds in industry. There are thousands of software developers working in industry, but who may not fulfill the necessary requirements to obtain a professional engineer’s licence.
In order to protect the public and to prevent unlicensed software development practitioners from assuming responsibilities that should be taken on by a professional engineer, regulators need an understanding of the scope of regulated practice in software engineering.
- The “practice of engineering” means any act of planning, designing, composing, evaluating, advising, reporting, directing or supervising, or managing any of the foregoing, that requires the application of engineering principles, and that concerns the safeguarding of life, health, property, economic interests, the public welfare or the environment.
- With reference to the above definition, both of the following conditions must be true for an activity to be considered to fall under the scope of software engineering:
- The development of the software required the application of engineering principles (ie. “a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software”)
- The software concerns the public interest (ie. there is a reasonable expectation that failure or inappropriate functioning of the system would result in harm to life, health, property, economic interests, the public welfare or the environment).
- Enforcement and compliance officials are referred to Engineers Canada's Paper on professional practice in software engineering, which is meant to help officials identify software engineering practice that should be regulated. It presents a simplified tool and guidance to help regulators and enforcement personnel distinguish the practice of software engineering.
- For a further exploration of the scope and depth of the software engineering discipline, Engineers Canada recommends the Canadian Engineering Qualifications Board Software Engineering Syllabus and the Institute of Electrical and Electronics Engineers’ Guide to the Software Engineering Body of Knowledge.
- Engineers Canada will continue to monitor developments in the professional practice of software engineering and will update its guidelines if/when necessary.