The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 1 Overview Part 1: What is a profession and professionalism? – Types of professions – Attributes of professions Part 2: Professionalism in software engineering – The conundrum – Development of attributes of the SE profession – Details: • SWEBOK, SE2004, certification, licensing Part 3: Directions forward Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 2 Professionalism Behaving and acting consistently with the norms of a profession Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 3 What are professions? A full-time, paid occupation recognized in society as requiring advanced knowledge and/or skill, with at least one association members can or must join, and a code of conduct/ethics. Some professions are legally recognized – Governments have passed laws recognizing members – In turn, members have a legal responsibility to uphold the interests of society, above other interests Others professions are less formal Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 4 Legally recognized professions (1) I will use * to mark uses where use of the term will be disputed – A. Professions with practice-restricting licenses in many jurisdictions • Practice or aspects of practice are limited to license holders • Medicine, Dentistry, Chiropractic, Pharmacy, Law, School Teaching, Engineering (in theory in Canada), Architecture Some licensed professions in Ontario http://www.citizenship.gov.on.ca/english/working/career/ Licensed professions in New York State http://www.op.nysed.gov/title8.htm • *Truck Driving (required training and drivers license) • *Divinity (those licensed can perform marriages, etc), etc. Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 5 Legally recognized professions (2) – B. Professions with signoff-restricting licenses or certifications, • A licensed/certified person must approve certain types of work done, but may delegate most of the work to others • Anyone may ‘do certain of the work’, but members have a legal basis to state to others that they are competent • Engineering (in some places), Financial Analysis (CFA), Chartered Accountancy (CA), Certified Management Accountancy (CMA), Logistics, *Electrician, *Plumber – C. Professions with legal standing but where there is no legal requirement for signoff of work • Information Systems Professional (ISP) in Canada See http://local.cips.ca/ontario/documents/pr21_final.pdf And http://local.cips.ca/ontario/ Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 6 Professions without legal recognition – D. Professions with optional certifications that do not have legal weight • Software Development (CSDP), Project Management – E: Professions not generally licensed or certified, but where a degree or diploma provides evidence of competence • *Scientist (various types), Journalist – F: Other professions where an apprenticeship model is typically followed • *Mason – G. Professions where the limiting factor is simply that you must have sufficient skill or knowledge that someone is willing to pay you enough to do it full time • *University Professor, *Sport player (Hockey, Golf, Football), *Actor, *Artist, *Musician, *Politician Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 7 Key attributes of a profession Public recognition: Others outside profession X understand what a member of profession X does and can do – So outsiders know who to consult when they want some service – So outsiders can feel confident they are getting work done by someone competent To ensure public recognition: There must be – A. A defined scope of practice – B. A recorded body of knowledge (principles, facts, best practices) – C. Codes of practice and ethics • consequences when they are violated – D. Methods to educate/train, accredit education, and ensure continuing education – E. Well-understood criteria for membership – F. Organizations to establish and administer the above Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 8 Other attributes of many professions Membership is limited / controlled – As opposed to ‘de-facto’ Self-governance – The profession controls all attributes described on the last slide – Members are disciplined by their organization Legal recognition and responsibility – Includes the concept of malpractice Respectability / Status / Social Privilege Private practice with individual clients Work autonomy – You are able to control aspects of how you do your work, even when working for an employer – Your responsibility to society and your profession comes first in case of conflict Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 9 Specializations / Specialties Most professions have well-defined specialties, often with their own certifications and associations – Medicine: Board-certified specialties – IT • Project management Professional http://www.pmi.org • Information security (Certified Information Security Manager) http://www.isaca.org/Template.cfm?Section=CISM_Certification • Hacking (Certified Ethical Hacker) http://www.certifiedethicalhacker.com/ • • • • Certified Information Technology Professional Vendor-specific certifications (Microsoft, Oracle) Database administration, UI design etc. Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 10 So what does it mean to exhibit professionalism? Obtain the required education and ongoing education (D) Adhere to the codes of practice and ethics (C) Apply the principles and knowledge properly (B) Practice within the scope of your expertise (A, D) and defer to others when boundaries are reached Obtain and maintain appropriate credentials (E) Participate in the appropriate professional organizations (F) Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 11 Overview Part 1: What is a profession and professionalism? – Types of professions – Attributes of professions Part 2: Professionalism in software engineering – The conundrum – Development of attributes of the SE profession – Details: • SWEBOK, SE2004, certification, licensing Part 3: Directions forward Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 12 The conundrum in software engineering (1) Almost all industrial software development is software engineering, in the sense described by SWEBOK and SE2004 (discussed later) – Bad development is just bad engineering – There is very little true ‘computer science’ practiced in industry – But engineering societies define only a subset of SE as engineering • They focus on aspects of development that most directly impact public safety Public uses of the term software engineering is now widely applied to developers in general – See movie trailers, press articles, etc. Software development, computer science and software engineering are overlapping terms in many people’s minds – To avoid confusion, there perhaps ought to be just one profession with specializations Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 13 The conundrum in software engineering (2) There are vast numbers of practitioners – Applying a licensing model strictly would not make sense – Applying licensure to only certain types of software would be confusing and discriminatory • There are too many fuzzy boundaries and overlaps – Requiring signoff from an engineer would still require vast numbers of developers to become licensed In Canada, there are two legally standing designations for a developer – ISP – P.Eng – Most developers have neither and don’t see much benefit in obtaining either Those who feel they are computer scientists, but not software engineers (e.g. theoreticians) are starting to feel marginalized Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 14 Professional Engineering in Canada Engineers Canada (CCPE) definition – Planning, designing, composing, evaluating, advising, reporting, supervising or managing AND – Applying engineering principles AND – Safeguarding life, health, property, economic interests, public welfare or the environment – http://www.engineerscanada.ca/e/files/guideline_practice_with.pdf The above clearly applies to software engineering In Ontario, ‘economic interests’ is not mentioned – http://www.e-laws.gov.on.ca/html/statutes/english/elaws_statutes_90p28_e.htm Most graduates of engineering programs have not bothered to get their license Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 15 Professional engineering in the US (New York State as an example) – Consultation, investigation, planning, design or supervision of construction or operation In Connection with – utilities, structures, buildings, machines, equipment, processes, works, or projects Wherein – the safeguarding of life, health and property is concerned When – such service or work requires the application of engineering principles and data http://www.op.nysed.gov/article145.htm Note that Texas specifically includes software engineering in its list of specialties Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 16 Critical information infrastructure The Government of Canada has listed software for the the following as part of the critical information infrastructure – Energy – Communications (telecommunications, broadcasting, Internet) – Finance (banking, securities, investment) – Health care (hospitals, health information systems, pharmacies) – Food and agriculture (safety, distribution) – Water (drinking and waste) – Transportation (all kinds) – Government services – Certain manufacturing industries (e.g. chemical) http://ww3.ps-sp.gc.ca/research/resactivites/CI/2003D022_ENG_FINAL.pdf The list will likely expand as society becomes increasingly dependent on software Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 17 Development of key professional attributes in SE (1) Public recognition – The term is now in widespread use, and is favored over most other terms in the press, etc. Body of knowledge – Defined in SWEBOK (See upcoming slide) – Also many other well-defined standards (e.g. IEEE) – But consequences for violation are not evident Scope of practice – Tools, techniques, methods defined in SWEBOK – Also other definitions by engineering societies – But the application dimension needs better definition Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 18 Development of key professional attributes in SE (2) Code of ethics – Established by IEEE and ACM • http://www.acm.org/about/se-code Education – Undergraduate programs established – Standard SE2004 curriculum defined by IEEE/ACM • http://sites.computer.org/ccse/ – Accreditation of programs has been undertaken • in Canada by the CEAB and CSAC • In the US by ABET Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 19 Development of key professional attributes in SE (3) Criteria for membership – A subject of argument! – Could be: A. All who do development (de-facto membership) Includes many people with questionable knowledge and skill B. All with CS or SE degrees But what about many Computer Engineers, and do all CS degree holders have key SE knowledge? C. All who are licensed professional engineers or ISP holders doing development Seen as overly restrictive by many D. Those with certifications like CSDP, or CSDA (discussed in an upcoming slide) There is concern that certifications may proliferate and/or have low uptake E. Some combination of B, C or D Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 20 Development of key professional attributes in SE (4) Organizations to administer the above – Internationally, IEEE Computer Society, ACM, IFIP – Standards bodies: ISO, IEC, ITU, etc. – Nationally: • US: IEEE USA, ACM • Canada CIPS – http://www.cips.ca Engineers Canada – http://www.engineerscanada.ca/ – Formerly Canadian Council of Professional Engineers • UK: British Computer Society, IET – State, provincial level: Professional Engineering Societies or Boards (PEO, APEGGA, etc.), CIPS provincial chapters – Are there too many for a coherent profession? • And there are others in specialties (SPIN, AAAI, etc.) Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 21 Body of Knowledge: SWEBOK (1) www.swebok.org Current (2004) version was the result of extensive consultation and review Divides software engineering knowledge into 10 knowledge areas – Requirements, Design,Construction, Testing, Maintenance, Configuration Management, SE Management, SE Process, SE Tools and Methods, Software Quality – Plus related disciplines History: ACM pulled out due to concerns they would appear to be backing a licensing model Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 22 SWEBOK (2) Concerns: – The body relies on references that are not well backed up by evidence – Initial versions of chapters were written by experts with widely varying styles • There was much overlap • The review process didn’t clean this up enough – Some areas of SE were relegated to ‘related disciplines’ – Clearly does not provide sufficient basis for determining malpractice Ongoing work – Development of the next version is underway – Includes alignment of KAs with SE2004 and CSDP/CSDA Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 23 Curriculum: SE2004 http://sites.computer.org/ccse Developed between 2001 and 2004 by the IEEE and ACM – Based originally on SWEBOK KAs, but added basic science, and diverged during the review process The next steps: – There is a group looking at defining what is needed in a masters-level education in SE Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 24 Certification: CSDP CSDP – Certified Software Development Professional • The word ‘engineering’ avoided for legal reasons – Requires • Degree • Four years experience • Passing of an exam • Ongoing professional development activity – <1000 people since 2001 • But this matches the early history of some other certifications – Currently undergoing a ‘refresh’ cycle Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 25 Certification: CSDA CSDA – Certified Software Development Associate – Requires • Passing of an exam (can be written in final year of a degree) • A university degree or documented experience (to be defined) – Development now in beta stage – Volunteers needed (graduating students) • http://www.computer.org/certification Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 26 Certification: ISO/IEC CD 24773 A standard for development of professional certifications – CSDP and CSDA comply Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 27 Harmonization efforts The next version of SWEBOK, CSDP/CSDA and SE curriculum will use the same base categories Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 28 Licensing It is becoming easier for software developers to become licensed – Some have led the way – Mostly among academics Certain provincial initiatives Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 29 Overview Part 1: What is a profession and professionalism? – Types of professions – Attributes of professions Part 2: Professionalism in software engineering – The conundrum – Development of attributes of the SE profession – Details: • SWEBOK, SE2004, certification, licensing Part 3: Directions forward Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 30 Where do we need to go? An established profession of software engineering clearly already exists – But it is not unified, and needs improvement Our main objective should be – Improve the quality of software by improving the background of practitioners • Quality must be broadly interpreted Usability, reliability, maintainability, safety Not just safety, which is the traditional engineering emphasis To achieve this: – Convince employers to: • Preferentially hire those with recognized SE qualifications • Upgrade the skills and knowledge of existing employees Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 31 Other objectives Prevent the proliferation of certifications and improve their quality – Promote one or two, or harmonize all Improve quality of SWEBOK Improve lines of communication among all stakeholder organizations Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 32 Discussion Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 33 My background relevant to this topic SE2004 committee member Worked with CACS/AIC on this issue CSEE&T steering committee chair – Professionalism is one of the areas of interest CSDP and CSDA board member Reviewer for SWEBOK Participated in discussions to harmonize SWEBOK, SE2004 and IEEE certifications Non-member participant in some IEEE-CS Professional Practice Committee meetings Professionalism Talk - Timothy C. Lethbridge Oct 2007 - 34