34
Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

  • View
    216

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

Oct 2007 - 1Professionalism Talk - Timothy C. Lethbridge

The State of Software Engineering Professionalism

October 2007

Timothy C. Lethbridge

Page 2: Oct 2007 - 1 Professionalism 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

Page 3: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

Oct 2007 - 3Professionalism Talk - Timothy C. Lethbridge

Professionalism

Behaving and acting consistently with the norms of a profession

Page 4: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

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

Page 5: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

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.

Page 6: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

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/

Page 7: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

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

Page 8: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

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

Page 9: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

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

Page 10: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

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.

Page 11: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

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)

Page 12: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

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

Page 13: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

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

Page 14: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

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

Page 15: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

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

Page 16: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

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

Page 17: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

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

Page 18: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

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

Page 19: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

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

Page 20: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

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

Page 21: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

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.)

Page 22: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

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

Page 23: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

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

Page 24: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

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

Page 25: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

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

Page 26: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

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

Page 27: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

Oct 2007 - 27Professionalism Talk - Timothy C. Lethbridge

Certification: ISO/IEC CD 24773

A standard for development of professional certifications

– CSDP and CSDA comply

Page 28: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

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

Page 29: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

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

Page 30: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

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

Page 31: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

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

Page 32: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

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

Page 33: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

Oct 2007 - 33Professionalism Talk - Timothy C. Lethbridge

Discussion

Page 34: Oct 2007 - 1 Professionalism Talk - Timothy C. Lethbridge The State of Software Engineering Professionalism October 2007 Timothy C. Lethbridge

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