Title: Three Steps Forward and Two Steps Back Progress on the Road to a Software Engineering Profession
1Three Steps Forward and Two Steps Back(Progress
on the Road to a Software Engineering Profession)
2Three Steps Forward and Two Steps Back(Progress
on the Road to a Software Engineering Profession)
- Presentation Content
- 1. Background and details on the progress
being made towards establishing SE as a
profession or otherwise. - 2. Software Engineering Code of Ethics and
Professional Practice - 3. The Guide to the Software Engineering Body of
Knowledge (SWEBOK) Project - 4. Professional Standards Initiative by IFIP
- 5. Conclusions and Recommendations
3Three Steps Forward and Two Steps Back(Progress
on the Road to a Software Engineering Profession)
- 1. Background
- The convergence of computing, media and
technologies means that people have become more
and more dependant on technology at work, at
home, in travel, in learning and in communicating
and that systems based on computing are powerful
agents for change. - Yet the production of such systems by the
computing sector too frequently appears to be
carried out in an immature and undisciplined way.
It is apparent that the world of
Computing/Information Technology/Informatics has
not even reached a level of maturity where there
is an agreed terminology and understanding
between one geographical/special interest group
and another
4Three Steps Forward and Two Steps Back(Progress
on the Road to a Software Engineering Profession)
- To support the SE discipline there needs to be
both educational and professional infrastructures
which reflect a true engineering ethos and
there needs to be agreed a base line body of
knowledge so that disparate flavours of SE are
avoided. - Also, as has been discussed by Ford and Gibbs in
1996 SE education and training must be linked to - Professional practice and professional
development - Skills development
- Certification and licensing
- Codes of Ethics
- Professional societies and accreditation
5Three Steps Forward and Two Steps Back(Progress
on the Road to a Software Engineering Profession)
- Progress?
- Until recently it appeared that substantial
progress was being made towards establishing SE
as a profession - The IEEE Computer Society and the Association for
Computer Machinery were working on establishing
Software Engineering as a profession. In 1998
they set up the IEEE-CS/ACM Software Engineering
Coordinating Committee (SWECC) which was made
responsible for coordinating, sponsoring and
fostering all the various activities regarding SE
within the IEEE-CS and ACMs sphere of operation.
These included areas such as standards of
practice and ethics, a body of knowledge,
curriculum guidelines, and exam guidelines.
6Three Steps Forward and Two Steps Back(Progress
on the Road to a Software Engineering Profession)
- At least two of SWEECs projects were making
significant progress within a world-wide
dimension. The SWEBOK project concerned with
defining a Software Engineering Body of
Knowledge, and the project concerned with
defining a Software Engineering Code of Ethics
and Professional Practice. - In 1998 the Texas Board of Professional Engineers
enacted rules that recognised Software
Engineering as a distinct engineering discipline.
The legislation enables engineering licenses to
be issued to Software Engineers so that they
could, within the State of Texas, legally
represent themselves to the general public as an
engineer, offer consulting engineering services
to private and public entities, and perform
engineering design or construction on public
works.
7Three Steps Forward and Two Steps Back(Progress
on the Road to a Software Engineering Profession)
- In 1999 and early 2000 a significant number of
academic papers promoting areas related to SE
professionalism started to appear in major
computing journals indicating that there was
indeed a groundswell of positive opinion in this
area. - Then, in the summer of 2000 ACM decided to
withdraw from the IEEE-CS/ACM Software
Engineering Coordinating Committee (SWECC) and,
with this, much of the progress that had been
made was thrown into question. - It is clear that some members of the ACM
believed that the initial work done within the
SWEBOK project had serious limitations and that
there was too close a relationship between the
SWEBOK project and the issue of licensing
Software Engineers. These problems do appear to
have been at least partly instrumental in the ACM
withdrawal.
8Three Steps Forward and Two Steps Back(Progress
on the Road to a Software Engineering Profession)
- 2. Software Engineering Code of Ethics and
Professional Practice - The IEEE-CS/ACM Co-ordinating Committee (SWECC)
has also been responsible for the creation of a
joint task force on Software Engineering Ethics
and Professional Practice (SEEPP). This task
force, under the chairmanship of Donald
Gotterbarn of East Tennessee State University,
has developed the Software Engineering Code of
Ethics and Professional Practice. - The code is available in two forms a short
version which summarises aspirations at a high
level of abstraction and a full version which
includes additional clauses. The latter provide
examples and details of how the aspirations of
the code should change the way persons act as SE
professionals.
9Three Steps Forward and Two Steps Back(Progress
on the Road to a Software Engineering Profession)
- The code is available for public comment on the
web. Currently the eight principles laid out in
the short code are - 1. PUBLIC - Software engineers shall act
consistently with the public interest. - 2. CLIENT AND EMPLOYER - Software engineers shall
act in a manner that is in the best interests of
their client and employer consistent with the
public interest. - 3. PRODUCT - Software engineers shall ensure that
their products and related modifications meet the
highest professional standards possible. - 4. JUDGMENT - Software engineers shall maintain
integrity and independence in their professional
judgement.
10Three Steps Forward and Two Steps Back(Progress
on the Road to a Software Engineering Profession)
- The code is available for public comment on the
web. Currently the eight principles laid out in
the short code are - 5. MANAGEMENT - Software engineering managers and
leaders shall subscribe to and promote an ethical
approach to the management of software
development and maintenance. - 6. PROFESSION - Software engineers shall advance
the integrity and reputation of the profession
consistent with the public interest. - 7. COLLEAGUES - Software engineers shall be fair
to and supportive of their colleagues. - 8. SELF - Software engineers shall participate in
lifelong learning regarding the practice of their
profession and shall promote an ethical approach
to the practice of the profession.
11Three Steps Forward and Two Steps Back(Progress
on the Road to a Software Engineering Profession)
- Positives
- The code has been accepted by both the IEEE-CS
and the ACM and other national professional
bodies for computing have reacted positively to
it. - There is currently more recognition, within
certain quarters, that ethical issues are
becoming more important within computing. - The membership of the task force which produced
the code, and which consisted of a three-person
Executive Committee and a general membership of
22 members, had a truly international
composition. I know that many of them are active
members in computer ethics organisations within
their own countries and are also actively
involved with international conferences concerned
with computer ethics such as the Ethicomp Series.
It could be that such an international
composition is one of the reasons that the code
has been so well received.
12Three Steps Forward and Two Steps Back(Progress
on the Road to a Software Engineering Profession)
- Negatives
- The code has of late received some publicity both
at conferences and in International Journals.
However, the whole area of professionalism tends
to be neglected by major parts of the software
industry, which appears to be mesmerised with
technological aspects to the detriment of human
related areas and issues. - There are also problems on how ethics education
should be incorporated into the curriculum and
how it should be taught. Many believe that it
needs to be fully integrated into all subjects
and that positive guides to ethical behaviour
need to be in place in current SE courses
starting in the early stages and running through
the entire program. .
13Three Steps Forward and Two Steps Back(Progress
on the Road to a Software Engineering Profession)
- Negatives
- A significant section of SE academia also appears
to be less than positive towards professional
issues. - In 1999 I attended both the Conference on
Software Engineering Education and Training
(CSEET) in Austin, Texas and The International
Conference on Software Engineering (ICSE) in
Limerick, Eire. At the former, relevant
professional issues received clear prominence,
whilst, at the latter the opposite was the case. - Of particular note was that in a sister
publication to the ICSE conference proceedings
which was entitled The Future of Software
Engineering 2000 professional issues were
totally omitted. - As the editor of the sister publication admitted
in the conference newsletter I forgot to have a
section on professionalism which seems to be
getting a lot of attention recently .
Unfortunately such omissions tend to be common in
much that is published on the SE discipline.
14Three Steps Forward and Two Steps Back(Progress
on the Road to a Software Engineering Profession)
- 3. The Guide to the Software Engineering Body of
Knowledge (SWEBOK) Project - The SWEBOK project, which resulted from the
co-operation between the IEEE-CS and ACM on SE,
is aimed at achieving a consensus view by the SE
community on a core body of knowledge (BoK) for
the SE discipline. The project is being run from
the University of Quebec in Montreal and it is
taking a three phased approach similar to that
adopted for the development of the Ada
programming language, consisting of Straw Man,
Stone Man, and Iron Man phases. - During April 2000 a more or less finalised
edition of the Stone Man Version of the Guide
(version 0.7 ) was released on the projects web
site. This has now been further refined and
renamed as the Trial Version (version 0.9) which
is being promoted for public use (the name has
been amended so that users will not incorrectly
assume that the contents have been set in
stone). The results of public use will
subsequently feed into the Iron Man phase of the
project which is expected to be completed within
two years of the end of the Stone Man phase.
15Three Steps Forward and Two Steps Back(Progress
on the Road to a Software Engineering Profession)
- Positives
- The SWEBOK project represents a very systematic
piece of work that has attempted a broad and
international approach in its reviewing process.
Although the production timescales are rather
long it should finally produce an authoritative
and accepted BoK for the discipline. - Of particular note is that the whole of the
reviewing process has been visible and is
available on the projects web site. Although the
BoK not yet in its final form the work
accomplished so far be can used to support
teaching. Also, the reviews themselves can be
used to demonstrate to students the disparate
views that exist across the community.
16Three Steps Forward and Two Steps Back(Progress
on the Road to a Software Engineering Profession)
- Negatives
- Clear difficulties with SWEBOK arise because of
it being an extremely large and complex project
with a rather long timetable. - It is also likely that it suffered from
insufficient publicity on an international level
during the earlier stages, though that does
appear to have improved over the last two years
where there has been a clear effort to publicise
it at relevant international conferences and in
journals. - A close inspection of the contents of the trial
version of the guide shows what could be regarded
as a USA or at least a North American continental
bias within many parts.
17Three Steps Forward and Two Steps Back(Progress
on the Road to a Software Engineering Profession)
- Negatives
- The demographics presented on the project web
site cast doubt as to whether the reviewers of
the project represented a reasonably balanced
international population across all the various
designated sectors. - The disparate views of some reviewers no doubt
gave rise to significant problems for the
organisers of the project when they were
producing the final Stone Man view of each KAD.
It is thus likely that in some areas there is
much more work to be done and that some very
interesting reactions may be encountered when the
SWEBOK is reviewed and used by a wider public. - The SWEBOK project is regarded by some as being
partly instrumental in ACMs withdrawal from
SWEEC. Thus the project may be already viewed as
tainted by many people and hence it may be
difficult for the SWEBOK Guide to receive a
totally fair set of public trails.
18Three Steps Forward and Two Steps Back(Progress
on the Road to a Software Engineering Profession)
- 4. Professional Standards Initiative by IFIP
- IFIP is a non-governmental, non-profit umbrella
organisation for national societies working in
the field of information processing. Technical
work, which is the heart of IFIP's activity, is
managed by a series of Technical Committees
(TCs). Each of these Technical Committees in turn
is responsible for a number of Working Groups
(WGs). - In 1998 a working party within TC3 produced a
draft document concerned with the Harmonisation
of Professional Standards
19Three Steps Forward and Two Steps Back(Progress
on the Road to a Software Engineering Profession)
- The draft standard was presented in August 1999
at the overall TC3 committee meeting in Irvine,
USA and at the TC3 WG3.4 seminar held in
Baltimore, USA. In the draft, introductory
sections explain the overall purpose of the work,
why professional standards are needed, to whom
the standard will apply and clarifications
concerning the terminology used. The main part of
the standard then addresses the following areas - Ethics of professional practice,
- Established body of knowledge,
- Education and training,
- Professional experience,
- Best practice and proven methodologies and
- Maintenance of competence.
20Three Steps Forward and Two Steps Back(Progress
on the Road to a Software Engineering Profession)
- The IFIP harmonisation document does represents a
very high level view of what is needed,
nevertheless, it is very sensitive to the many
complex issues that exist in the area of
professionalism. My own belief is that it could
provide a useful framework for further work
regarding SE professionalism and that it has
positive attributes in that it was developed with
international use as a major goal. - Therefore a number of actions have been made to
raise its profile and publicise its possible
application to the field of SE professionalism.
21Three Steps Forward and Two Steps Back(Progress
on the Road to a Software Engineering Profession)
- Actions
- A paper detailing it along with a copy of the
document itself was presented in a compsac2000
paper in October 2000. - It was also used as the focus for a panel session
at the same conference. - It was outlined in a paper presented at the
British Computer Society supported conference
Quality and Software Development Teaching and
Training Issues held in London in September 2000.
22Three Steps Forward and Two Steps Back(Progress
on the Road to a Software Engineering Profession)
- Actions
- A half day workshop was held at the 2001
Conference on Software Engineering Education and
Training (CSEET) in Charlotte, North Carolina in
February 2001, the detailed results of which are
awaiting publication. - A full day workshop was held during the 2001
International Conference on Software Engineering
(ICSE) in Toronto in May 2001. - A paper was presented at the conference ETHICOMP
2001 held in Gdansk, Poland in June 2001. - This presentation.
23Three Steps Forward and Two Steps Back(Progress
on the Road to a Software Engineering Profession)
- 5. Conclusions and Recommendations
- Much of the work that has been done under the
auspices of SWECC has been of a very high
standard and it would be a disaster if it were
not carried on. However, SE is a discipline that
must operate at a global level. Other engineering
disciplines such as Mechanical Engineering (which
shaped the 19th century) or Electrical
Engineering (which shaped the 20th century) to a
great extent developed and operated within
domains defined by nation states or, at least,
continental boundaries. SE is different to these
older disciplines in that it must be viewed in a
wider context. Already we have situations where,
for example, software can be specified in the
USA, developed in India, and then used globally
on the Internet. It is thus of paramount
importance that the SE discipline is viewed at a
global level rather than at just at the
continental or national level.
24Three Steps Forward and Two Steps Back(Progress
on the Road to a Software Engineering Profession)
- 5. Conclusions and Recommendations
- The IFIP report on the Harmonisation of
Professional Standards should encourage
international co-operation within all computing
disciplines including SE. Also the very nature of
the IFIP committees ensures that it has, and will
be, considered at an international level and
hence can not be judged to represent the view of
only one sector or country. The harmonisation
document essentially defines framework, which
should truly assist advancing Professional
Standards if it is used in a sensitive and
appropriate manner. In particular, the overall
findings from the Charlotte workshop referred to
above, are that it could be extended and adapted
to provide a useful framework for developing
Professional Standards in SE.
25Three Steps Forward and Two Steps Back(Progress
on the Road to a Software Engineering Profession)
- 5. Conclusions and Recommendations
- There are still significant barriers that need to
be overcome with regard to SE professionalism. In
my opinion these are - The lack of a common international view,
- What appears to be a lack of will or even
interest in professionalism within a significant
element of the community itself, and - Incompatibilities in academic and professional
standards that act against global harmonisation
within the discipline. - That turf wars and tensions within the US are
acting as major constraints in the development of
the SE discipline and profession. In particular
these relate to issues associated with SE and
Computer Science faculty (staff) in academic
institutions, and standards and processes for
accreditation/regulation/licensing.