Software Project Guardians, LLC   

Advanced Software Engineering 

[Home]

Ethics

I've started a non-profit organization called the Center for Software Engineering Ethics to focus on research and training in this area. See  http://www.cswee.org/ for more on this and related issues.

Most organizations consider "ethical behavior" to simply refrain from lying to the customer, stealing from the company, or cheating.  Consequently, ethical training at companies consists of games (role playing) in a few harassment instances, or misuse of IT equipment.  However, these are moralistic ethics which do not touch on professional conduct.  Some organizations focus their process improvements around the ISO 9001 or CMMI®, thinking that this covers professional conduct and ethical behavior.  This attitude is both naive and simplistic; but it also avoids the topic of software engineering ethics.

The field of ethics and discussion of all it's nuances is extensive.  Fortunately, the IEEE and ACM have tackled the subject and have a good starting point in the SOFTWARE ENGINEERING CODE OF ETHICS AND PROFESSIONAL PRACTICE.  However, this and the CMMI® do not ensure ethical conduct - the language is "fuzzy".

To better illustrate the difference between CMMI® characterizations and ethical commitment, here is comparative wording:   

CMMI® IEEE/ACM Code of Ethics

SP 3.3  Analyze Requirements

"Analyze requirements to ensure that they are necessary and sufficient.  "*

 

"Principle 3 ..Software engineers shall ensure that their products ..meet the highest professional standards possible"**

From the wording of both of these, there is a wide room for interpretation; all possibly considered ethical behavior.  Our contention is that this variance in interpretation of software engineering behaviors has prevented software engineering from becoming an established engineering profession.  Our investigation into software engineering standards of ethical behaviors is showing promise as a remedy to many ills in software development.

Why Software Engineering Ethics?

There is a large difference between projects involving software development and those that do not.  Many project managers achieve the PMP© certification only to find that it did not at all prepare them for software project management.  Having taken a PMI©-authorized course on project estimation, I found it naive as far as training for software project estimation.  The lesson available from my downloads page shows large aspects of this difference.  Where this enters into ethics is when a PMP certified person is asked to prepare an estimate for a software project.  If the person does this based on PMP training alone, they have failed in the IEEE/ACM Code of Ethics(v5.2), section 3.04 "Ensure that they are qualified for any project on which they work or propose to work, by an appropriate combination of education, training, and experience." 

The same holds true for risk management of a software development project.  This is an area that is fraught with abuse, since many people have backgrounds in Information Technology (IT), and engage in Information Systems (IS) development where software engineering disciplines should be applied.

Traditional Ethics Training

We divide the area of ethics into moral ethics and situational ethics (engineering behaviors).  Most companies that pride themselves on ethics training, only touch on moral ethics, without addressing the real meat - engineering behaviors in challenging situations, i.e., situational ethics .  If you need training for your team on ethics or would like to know more about how to move into realized process improvements, contact us for a free evaluation.

Certifications

Many companies achieve CMM® or CMMI® certifications without realizing the economic and morale benefits.  It's easy to get caught up in certification goals and lose sight of process improvement intent.  Organizations find it is much easier to meet the letter of certifications than the intent.  Companies need to have a robust ethics evaluation and training program as a basis for due diligence under a variety of regulations, e.g., ISO9001:2000, 21CFR11, 21CFR811.

The field of ethics and discussion of all it's nuances is extensive.  Fortunately, the IEEE and ACM have tackled the subject and have a good starting point in the SOFTWARE ENGINEERING CODE OF ETHICS AND PROFESSIONAL PRACTICE.  However, this and the CMMI do not ensure ethical conduct - the language is "fuzzy".

*Capability Maturity Model® Integration (CMMI® ), Version 1.1, Staged Representation, CMU/SEI-2002-TR-012, ESC-TR-2002-012

**IEEE-CS/ACM joint task force on Software Engineering Ethics and Professional Practices (SEEPP), SOFTWARE ENGINEERING CODE OF ETHICS AND PROFESSIONAL PRACTICE (V5.2),  ©1999 by the Institute of Electrical and Electronics Engineers, Inc. and the Association for Computing Machinery, Inc.

 

Home ]

Send e-mail to Admin@spg4.com with questions or comments about this web site.
Copyright © 2005, 2006, 2007, 2008
Last modified: 05/06/08