The State of Software Engineering Professionalism

Document Sample
scope of work template
							   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

						
Related docs