Content area
Full Text
ABSTRACT There has been a transition in the way software developers work. Mistakes in software have been treated as "normal" occurrences. "All software has bugs." However, software engineering is an emerging profession which as a profession has now said that a caviler approach to software errors is unacceptable. They have asserted a very strong ethical position in the Software Engineering Code of Ethics and Professional Practice, a position which mandates concern for all those affected by their work. The Code has several unique elements as a professional Code.
Software development and software developers have not been acclaimed for their successes or professional reputation. The development of large complex and safety critical systems is a difficult process made more difficult by developers' failure to consider the professional and ethical responsibilities involved. Sometimes software development as been treated merely as a problem solving exercise. The purpose of the exercise is to exhibit the mental prowess of the software developer; an approach which leads to products which do not meet user needs and products which have negative ethical consequences.
Evidence of the software developer's ethical myopia is seen in some of the euphemisms used to describe problems in software. Developers of software call errors in their systems "bugs". "Bugs" are things which come uninvited into the system. The software developer is not responsible for them. Even the media has adopted this euphemistic form of expression. The United States Navy has developed "smart ships" where shipboard applications are being run by software so that fewer sailors are needed to control key ship functions. The smart ships computer system reduced the crew size by 10% and saved more than 2.8 million dollars a year. However, in September of 1997 the software suffered a systems failure and the propulsion system failed leaving the ship dead in the water. It had to be towed into port (DiGiorgio, 1998).
The failure was described as "a software glitch" implying that the problem was a minor error of little significance. A military ship used to protect populations, a ship which is vulnerable to attack by opposing forces, was left dead in the water. This tendency to minimize descriptions of software errors is very dangerous because of the impact of computers. This minimizing of "bugs"...