Title: See movie trailers, press articles, etc. ... D. Those wit
1The State of Software Engineering Professionalism
- October 2007
- Timothy C. Lethbridge
2Overview
- 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
3Professionalism
- Behaving and acting consistently with the norms
of a profession
4What 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
5Legally 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/c
areer/ - 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.
6Legally 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_fi
nal.pdf - And http//local.cips.ca/ontario/
7Professions 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
8Key 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
9Other 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
10Specializations / 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.cf
m?SectionCISM_Certification - Hacking (Certified Ethical Hacker)
http//www.certifiedethicalhacker.com/ - Certified Information Technology Professional
- Vendor-specific certifications (Microsoft,
Oracle) - Database administration, UI design
- etc.
11So 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)
12Overview
- 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
13The 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 peoples minds - To avoid confusion, there perhaps ought to be
just one profession with specializations
14The 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 dont 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
15Professional 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_pr
actice_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
16Professional 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
17Critical 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/20
03D022_ENG_FINAL.pdf - The list will likely expand as society becomes
increasingly dependent on software
18Development 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
19Development 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
20Development 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
21Development 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.)
22Body 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
23SWEBOK (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 didnt 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
24Curriculum 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
25Certification 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
- lt1000 people since 2001
- But this matches the early history of some other
certifications - Currently undergoing a refresh cycle
26Certification 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
27Certification ISO/IEC CD 24773
- A standard for development of professional
certifications - CSDP and CSDA comply
28Harmonization efforts
- The next version of SWEBOK, CSDP/CSDA and SE
curriculum will use the same base categories
29Licensing
- It is becoming easier for software developers to
become licensed - Some have led the way
- Mostly among academics
- Certain provincial initiatives
30Overview
- 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
31Where 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
32Other 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
33Discussion
34My background relevant to this topic
- SE2004 committee member
- Worked with CACS/AIC on this issue
- CSEET 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