The New York Times and other media are reporting that James Liang, an engineer who worked on the design and development of the software, has been sentanced to 40 months imprisonment and a $200,000 fine for his part in developing the software that deliberately deceived emission test devices and under-reported the levels of emissions. The combination of hardware and software registered the unique input characteristicts of an emmission testing device and altered the mode of the engine to reduce the levels of emissions in the exhaust gases. During normal driving, the software turned off the controls to improve torque or reduce fuel consumption.
The costs of the scandal exceed $24BN is the US alone, and it reignited the discussion about ethics in software engineering.
In an IEEE article exploring the ethics of the situation, Yotam Lurie, a senior lecturer of business ethics at Ben-Gurion University of the Negev in Israel, said:
It’s shocking that the software engineers of Volkswagen overlooked and neglected their fiduciary responsibility as professionals. Professionals who have a semi-regulatory responsibility within the organization to ensure safety, in this case environmental safety, even when this is less efficient or economical.
In the same article Shannon Vallor, chair of the department of philosophy at Santa Clara University in California, said:
The expectation of corporate wrong doing has become normal. This can’t be the act of a few rogue engineers. The implications go all the way up the corporate ladder. We see how widespread among the product line this device was. It would have had to be tested and updated. This is serious, massive coporate maleficience that affects people’s health. There’s no question that everyone involved knew this was unethical.
The Business Ethics Case Analysis entry about the scandal explores a variety of ethical principles which were violated by the company.
This whole scandal could have been avoided if Volkswagen spent just a little more time and money developing a cleaner diesel engine, but apparently the company's priorities were more focused on their sales rather than releasing quality vehicles.
Where does engineering ethics come in? Does the software engineering profession have a responsibility to society first? Should the engineers involved have refused to cooperate and produce the software and hardware that was deliberately designed to decieve the regulators?
There are a number of professional bodies which have codes of ethics or codes of conduct for software engineering. For instance, the Association for Computing Machinery (ACM) has a Software Engineering Code of Ethics and Professional Practice which state the responsibilities of software engineers as:
Software engineers shall commit themselves to making the analysis, specification, design, development, testing and maintenance of software a beneficial and respected profession. In accordance with their commitment to the health, safety and welfare of the public, software engineers shall adhere to the following Eight Principles:
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 judgment.
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.
The Software Engineering Body of Knowledge (SWEBOK) has a whole section devoted to the Software Engineering Professional Practice which include the code of ethics and professionalism.