Presentation to the CSER meeting and later to Clarkson University

advertisement
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
Download