Software Engineering Profession and Discipline



Similar documents
SURVEY OF GRADUATE PROGRAMS WITH COOPERATIVE AND INTERNSHIP OPTIONS IN CANADIAN UNIVERSITIES

UNIVERSITY GRADING SYSTEMS SYSTÈMES DE NOTATION UNIVERSITAIRE

Nurse Practitioner Education in Canada. Nursing Masters Education in Canada Final report 2012

Life After StFX: Graduate Studies Options. Dr. Mark Fuller and Dr. Bhasker Mukerji

Nurse Practitioner Education in Canada

Memorial University of Newfoundland 2,550 2,550 8,800 8,800. University of Prince Edward Island 5,360 5,360 11,600 11,600

Response by the Canadian Institute of Mortgage Brokers and Lenders (CIMBL) to

Thank you for having applied to a Pain Medicine Subspecialty Residency.

Pamela Gravestock & Emily Gregor Greenleaf University of Toronto

The Emergence of Software Engineering Professionalism

The Degree Mobility Spectrum: The Tiering of Canadian Degrees. Dave Marshall, PhD. Mount Royal College Mount Royal Gate SW

Culture, Tourism and the Centre for Education Statistics: Research Papers

Future Directions in Canadian Research Computing: Complexities of Big Data TORONTO RESEARCH MANAGEMENT SYMPOSIUM, DECEMBER 4, 2014

Engineers Canada 2012 Membership Survey

March 19, Manager-Admissions

List of CIHR Eligible Institutions

ACADEMIC REQUIREMENTS FOR PROFESSIONAL ENGINEER REGISTRATION IN CANADA

MASSACHUSETTS BAR MEMO FOR INTERNATIONAL LL.M. STUDENTS. Boston University School of Law. Graduate and International Programs

Market Modifier Master of Business Administration

Master s Degree Programs in Canada

Labour Mobility Act QUESTIONS AND ANSWERS

Careers in wildlife conservation

Research Productivity of Canadian Business Schools ( ): A Report by Gustavson UVic

CSC Accredited Programs

CAP Statistical Study of the effects of changes to NSERC s Discovery Grants Program On Breadth of Support

1.1.3 Professional Conduct and Ethics

ANATOMICAL PATHOLOGY PROFILE

NEW LEGISLATION FOR MORTGAGE BROKERING ACTIVITIES THE MORTGAGE BROKERAGES, LENDERS AND ADMINISTRATORS ACT, 2006 (ONTARIO)

University of Victoria Performance Measures

Foreign-educated LL.M. students planning to take the Massachusetts Bar Examination

P.Eng Licensing Process. Hamilton - Ontario

PSYCHIATRY PROFILE. GENERAL INFORMATION (Sources: Pathway Evaluation Program, the Canadian Medical Residency Guide, and the Royal College)

EMERGENCY MEDICINE PROFILE GENERAL INFORMATION (Sources: Pathway Evaluation Program and the Canadian Medical Residency Guide, Royal College)

11 doing business in Canada. Business Structures

TEMPLETON &BRITANNIA Secondary SCHOOLS

Software Engineering as a Professional Discipline

Canada Canada & H.K.

How To Become A Clinical Psychologist

ONTARIO HST: WHAT IT MEANS FOR LANDLORDS AND TENANTS OF COMMERCIAL REAL PROPERTIES

Canadian Paediatric Society

RHEUMATOLOGY PROFILE

Graduate Student Enrolment Expansion

Atlantic Provinces 71 COMMUNITIES

Computer & Software Engineers. A guide for newcomers to British Columbia

Research Productivity of Globally Accredited Canadian Business Schools in : A Report by Gustavson School of Business@ UVic

GENERAL/CLINICAL PATHOLOGY PROFILE. GENERAL INFORMATION (Sources: Pathway Evaluation Program, the Canadian Medical Residency Guide, Royal College)

Second Annual MBA Rankings - A Summary for AMBAC

Limited Licence Application Guide

Accredited Degree Assessment

2013 R-1 MAIN RESIDENCY MATCH REPORT

Certificate of Authorization Requirements: An Information Guide. and regulates professional engineering in Ontario to serve and protect the public.

If you have experience and academic. The Applied Science and Engineering Technology Professions in Canada ELECTRICAL TECHNOLOGY

Computer & Software Engineers. A guide for newcomers to British Columbia

DIAGNOSTIC RADIOLOGY PROFILE

UWaterloo

Quality Assurance of Engineering Education in Canada: its suitability for graduates working in global markets*

Research Productivity of Globally Accredited Canadian Business Schools : An FT40 Publications Report by the Gustavson School of

The Emergence of Software Engineering Professionalism

Guide to Preparing a Quality Management Plan for Registered Code Agencies (under the Building Code Act, 1992 and Building Code )

APPLICATION FOR AN ARCHITECTURAL FIRM/ FOR A CERTIFICATE OF PRACTICE / CHANGES AND AMENDMENTS

Investment Dealers Association of Canada

Law Society of Saskatchewan Queen s Bench Rules of Court webinars Part 1: Overview

Registration Reform Frequently Asked Questions

The Relevance of CS and SE Education: A Survey

A Guide for Self-Employed Registered Nurses

RE: Questions regarding the Education Credential Assessment (ECA) Program

Where to Study Criminology/Criminal Justice and related fields of study/work in Canada

CHART 4: Eligibility to Take the Bar Examination: Foreign Law School Graduates

Overview of TRIUMF. International Peer Review

GENERAL SURGERY PROFILE

Guidelines for Self-Employed Registered Nurses

The text boxes in this document are for explanatory purposes only and are not part of the Instrument or the Companion Policy.

Internationally Educated Medical Radiation Technologists APPLICATION for ASSESSMENT

IB Diploma Recognition The current picture. IB Americas Bob Poole Regional Development Vancouver Office Toronto, January

OPHTHALMOLOGY PROFILE. GENERAL INFORMATION (Sources: Pathway Evaluation Program, the Canadian Medical Residency Guide, and the Royal College)

KEY ELEMENTS PSYCHOLOGIST REGULATIONS

Nursing Education In New Brunswick - Standards For Success

Opening Your Retail Account

Regulation of Paramedics and Emergency Medical Attendants: A Jurisdictional Review

CHARTERED PROFESSIONAL ACCOUNTANTS OF ONTARIO

Transcription:

University of Waterloo Software Engineering Profession and Discipline Joanne Atlee Director of Software Engineering University of Waterloo An extension and update of David Notkin s CRA Snowbird presentation on Software Engineering Licensing and Certification, from a Canadian perspective.

Approaches to Software Quality Focus on the product Focus on the process to build the product Focus on the people who build the product Software engineering education Licensing of software engineers

Topics Education - Efforts to define a body of knowledge Licensing of software engineers as P.Eng.s - Provide some basic facts - Present the varying opinions and the rationales behind them Discussion I will try to focus on each topic separately, but they are intertwined, so it will be hard.

Multiple Hats FACT I SAY CS SAYS SOME SAY ENG SAYS Hat idea borrowed from David Notkin

SE Programs in Canada SE Degrees Offered by CS Waterloo Joint New Brunswick McGill* Saskatchewan (CSAC) FACT Joint SE Degrees Offered by Engineering Waterloo New Brunswick McGill* Ottawa (CEAB) McMaster (CEAB) Western (CEAB) Calgary Concordia CS/SE Options Joint Waterloo Joint Victoria UBC Toronto Alberta (CSAC) Queen s Calgary Simon Fraser Western Windsor Brock Memorial Montreal CE/SE Options Waterloo Victoria UBC Toronto Alberta Queen s RMC Regina Ecole Poly Sherbrooke ETS *Subject to approve by Ministry of Education

SE is a specialty within Engineering SE is an engineering discipline that specializes in the design of software artifacts......and is distinct from Computer Science Requires an appreciation for other engineering disciplines - software might have to interact with other engineered components Requires an understanding of how the physical world behaves - software might have to react to or control the physical world Emphasizes teamwork ENG SAYS

SE is a specialty within Engineering Degree programs offered with engineering titles should be accredited as engineering programs non-accredited engineering programs weaken standards intended to protect the public. could be viewed as fraudulent by graduates who find that the degree they earned does not satsify the academic requirements for a P.Eng. licence. ENG SAYS

SE Evolved from Computer Science Computer science has an engineering flavour, in that computer scientists design and build software artifacts. The discipline of software engineering was founded primarily by computer scientists Software engineering advances over the past 30+ years have been primarily from the results of computer scientist researchers. Computer scientists know more about building software than any other group. CS SAYS

SE is unlike other Engineering Disciplines Software behaviour can have many discontinuities - which makes it much more difficult to model and evaluate than a (non-discrete) physical component Traditional engineering programs instill no appreciation for the complexity of software problems. - software is viewed as being malleable and inexpensive to change Engineering curriculum cannot include serious computing science depth and still maintain a shared experience with other branches of engineering. CS SAYS

SE = CS + Eng Computer Science data management data transformations design patterns algorithm paradigms programming languages human-computer interfaces I SAY Engineering disciplined process large, integrated systems coordinated teams non-functional properties (e.g., performance, reliability, maintainability, ease of use)

Waterloo s SE program is designed to be accredited by both Eng. and CS CS & CE programming principles data structures & alg. digital circuits digital computers programming languages dynamic systems databases concurrency operating systems networks and security performance evaluation Software Engineering abstraction and specification project management requirements software architecture testing and quality assurance human-computer interfaces FACT

SE Body of Knowledge Accreditation and licensing require the definition of a core body of knowledge of principles, practices, technical knowledge (CS, Eng., and SE knowledge) FACT This core body of knowledge should reflect good practices that are applicable to most SE products, are achievable, and provide some assurance of quality The practices need not be guaranteed to produce perfect software ENG SAYS

Canadian SE Bodies of Knowledge FACT CEQB* PEO BC OIQ MAC UoO UWO UW UNB Discrete Math - - 2 2 Data Struct. & Alg. 2 3 2 2 Software Design 2 3 3 2 3 Testing, Reliability - - Digital Systems Computer Arch. 2 2 2 Operating Systems 2 2 File and Database - Systems, Control - - - 2 - - * Proposal

Licensing Software Engineers What is it? Current status? To what degree should it become mandatory? FACT ENG SAYS I SAY CS SAYS

Licensing and Certification The general purpose of certification and licensing is to verify and provide assurances about the competency of those being certified/licensed. Provincial and state governments mandate the licensing of certain professionals who are legally required to practice at a level consistent with public safety (doctors, lawyers, professional engineers). FACT

Licensing and Certification A professional society may voluntarily operate a certification program to authenticate practitioners competency and to inspire public confidence in the profession. CIPS Information Systems Professional (I.S.P.), IEEE Software Engineering Certification Some software companies offer product- or vendor-specific certifications that assess a user s proficiency in using the company s products. FACT

Professional Engineers (P.Eng.) In Ontario, any practising engineer must be licensed as a P.Eng. FACT Anyone who practises engineering without a license or a temporary license is guilty of an offense and may be fined. Most provinces define engineering by practice (what an engineer does) rather than by title

Professional Engineers Act In Ontario, the practice of professional engineering is defined in the Professional Engineers Act and comprises three tests:. Any act of designing, composing, evaluating, advising, reporting, directing or supervising; 2. Wherein the safeguarding of life, health, property or the public welfare is concerned, and 3. Requires the application of engineering principles, but does not include practising as a natural scientist. FACT

Enforcement varies The PEO does not have the resources to enforce the licensing of every practicing engineer Licensing is most prevalent among civil engineers -- for reasons that would affect software engineers - they deal with government employees - they sell their services directly to the public neither of whom can be expected to assess quality of the engineer s products or processes FACT

Getting a P.Eng. Licence FACT CEAB degree CEAB-equivalent degree Confirmatory Exams Technologist or equivalent degree 4 Basic Studies 8-2 Advanced Examinations 4 Years acceptable Work Experience 0 Years acceptable Work Experience Professional Practice Examination

Professional Engineer (P.Eng.) A P.Eng. is evaluated within a specific engineering discipline, but is licensed as a general Engineer. A P.Eng. practising beyond his or her area of competence may be subject to disciplinary action by the provincial professional engineering society. FACT

Current Status Provinces that are licensing software engineers as P.Eng.s Ontario, British Columbia, Alberta States that advertise they are licensing software engineers as P.E.s Texas FACT

Arguments for Licensing Software Engineers as P.Eng.s The practice of software engineering falls under the Professional Engineers Act Licensing software engineers would improve software quality by raising the competence of practitioner Would encourage education Would encourage the application of best practices even among the non-licensed Would provide assurances to the public ENG SAYS

Other arguments for Licensing Software Engineers Would act as a driver to improve our engineering of software and our education of software engineers Would advance the professionalization of software engineering SOME SAY

Arguments against Licensing Software Engineers as P.Eng.s Software engineering should be practised by whomever is best, and there is no evidence that engineers are the best CS SAYS Licensing software engineers would not improve software quality, and would provide false assurances to the public about software quality There is no widely accepted body of knowledge defining competency in software engineering Public safety can best be protected by certifying software products rather than software producers

Long-term Forecast I PREDICT I predict that within my professional lifetime, the development of some software systems will be restricted to P.Eng.s who are competent to practice software engineering. - safety-critical software - software components in engineered products - software that models or controls the physical world Licensing of software engineers will become serious only when the public demands it - possibly after the catestrophic failure of some software system

Role of Computer Scientists I SAY The demand for well-qualified software specialists far outstrips the supply of software engineering P.Eng.s, and will do so for the foreseeable future. One possibility would be to legislate the roles that computer scientists vs. software engineers play in developing critical software systems - a la the distinction between architects and structural engineers - exempt from the Professional Engineers Act those software systems that have little interaction with the physical world (e.g., financial systems, information systems, telecommunications systems, )

Temporary solution I SAY Until there is a critical mass of P.Eng.s trained as software engineers, computer scientists should be allowed to work on such critical systems. Liberalizing the rules for obtaining a limited licence would help. A Limited Licence is a licence issued to an individual who, as a result of ten or more years of specialized experience, has developed competence in a certain area of professional engineering. FACT

Insert discussion here

References Allen, F. and Hawthorn, P., ACM Task Form on Professional Licensing in Software Engineering, May 999. http://www.acm.org/serving/se_policy/report.html CEQB, Core and Supplementary Bodies of Knowledge for Software Engineering: A report prepared for the CCPE as part of the CEQB Body of Knowledge Development Pilot Project, Draft version 0.4, Sept. 5, 200. Knight, J., Leveson, N. et al., ACM Task Force on Licensing of Software Engineers Working on Safety-Critical Software, Draft July 2000. http://www.acm.org/serving/se_policy/safety_critical.pdf Notkin,David. Software Engineering Licensing and Certification, presentation given at CRA Conference at Snowbird, 2000. http://www.cra.org/activities/snowbird/00/notkin-crawk3-5.pdf Parnas, D.L., "Two Positions on Licensing", Panel position statement in Proceedings of the 4th IEEE International Conference on Requirements Engineering, June, 2000.

References The Professional Engineers Act, Statutes of Ontario, 990, Chap. P.28 http://92.75.56.68/dblaws/statues/english/90p28_e.htm Shaw, Mary, Prospects for an Engineering Discipline of Software, IEEE Software, November 990 UW Software Engineering program http://www.softeng.uwaterloo.ca

Mary Shaw s Evolution of an Engineering Discipline 960s: data structures, algorithms 990s: design patterns, architecture patterns Craft Production Science Commercial Professional Engineering Today: Space shuttle software Aeronautical software Defense software? Compiler construction 980s: software development processes

SWEBOK (IEEE) A multi-year project to formulate a Body of Knowledge that should be mastered by practicing software engineers. Normative practices that are applicable to most software products FACT Intended to form the basis for Specialization Examinations that P.E. applicants (in the States) take after satisfying their work experience requirements.

Certificates of Authorization P.Eng.s and corporations who provide engineering services to the general public are required to obtain a Certificate of Authorization. - Companies must identify the person who will assume responsibility for supervising engineering work and must obtain professional liability insurance. - An individual engineer who offers engineering services to the public must either obtain liability insurance or must disclose to all clients, in writing, the lack of insurance. FACT