View
216
Download
2
Tags:
Embed Size (px)
Citation preview
Oct 2007 - 1Professionalism Talk - Timothy C. Lethbridge
The State of Software Engineering Professionalism
October 2007
Timothy C. Lethbridge
Oct 2007 - 2Professionalism Talk - Timothy C. Lethbridge
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
Oct 2007 - 3Professionalism Talk - Timothy C. Lethbridge
Professionalism
Behaving and acting consistently with the norms of a profession
Oct 2007 - 4Professionalism Talk - Timothy C. Lethbridge
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
Oct 2007 - 5Professionalism Talk - Timothy C. Lethbridge
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.
Oct 2007 - 6Professionalism Talk - Timothy C. Lethbridge
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/
Oct 2007 - 7Professionalism Talk - Timothy C. Lethbridge
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
Oct 2007 - 8Professionalism Talk - Timothy C. Lethbridge
Key attributes of a professionPublic 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
Oct 2007 - 9Professionalism Talk - Timothy C. Lethbridge
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
Oct 2007 - 10Professionalism Talk - Timothy C. Lethbridge
Specializations / SpecialtiesMost 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.
Oct 2007 - 11Professionalism Talk - Timothy C. Lethbridge
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)
Oct 2007 - 12Professionalism Talk - Timothy C. Lethbridge
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
Oct 2007 - 13Professionalism Talk - Timothy C. Lethbridge
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
Oct 2007 - 14Professionalism Talk - Timothy C. Lethbridge
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
Oct 2007 - 15Professionalism Talk - Timothy C. Lethbridge
Professional Engineering in CanadaEngineers Canada (CCPE) definition
– Planning, designing, composing, evaluating, advising, reporting, supervising or managing
AND– Applying engineering principlesAND– 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
Oct 2007 - 16Professionalism Talk - Timothy C. Lethbridge
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
Oct 2007 - 17Professionalism Talk - Timothy C. Lethbridge
Critical information infrastructureThe 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
Oct 2007 - 18Professionalism Talk - Timothy C. Lethbridge
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
Oct 2007 - 19Professionalism Talk - Timothy C. Lethbridge
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
Oct 2007 - 20Professionalism Talk - Timothy C. Lethbridge
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
Oct 2007 - 21Professionalism Talk - Timothy C. Lethbridge
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.)
Oct 2007 - 22Professionalism Talk - Timothy C. Lethbridge
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
Oct 2007 - 23Professionalism Talk - Timothy C. Lethbridge
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
Oct 2007 - 24Professionalism Talk - Timothy C. Lethbridge
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
Oct 2007 - 25Professionalism Talk - Timothy C. Lethbridge
Certification: CSDPCSDP
– 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
Oct 2007 - 26Professionalism Talk - Timothy C. Lethbridge
Certification: CSDACSDA
– 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
Oct 2007 - 27Professionalism Talk - Timothy C. Lethbridge
Certification: ISO/IEC CD 24773
A standard for development of professional certifications
– CSDP and CSDA comply
Oct 2007 - 28Professionalism Talk - Timothy C. Lethbridge
Harmonization efforts
The next version of SWEBOK, CSDP/CSDA and SE curriculum will use the same base categories
Oct 2007 - 29Professionalism Talk - Timothy C. Lethbridge
Licensing
It is becoming easier for software developers to become licensed
– Some have led the way– Mostly among academics
Certain provincial initiatives
Oct 2007 - 30Professionalism Talk - Timothy C. Lethbridge
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
Oct 2007 - 31Professionalism Talk - Timothy C. Lethbridge
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
Oct 2007 - 32Professionalism Talk - Timothy C. Lethbridge
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
Oct 2007 - 33Professionalism Talk - Timothy C. Lethbridge
Discussion
Oct 2007 - 34Professionalism Talk - Timothy C. Lethbridge
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