Author(s): Michael McFarland, S.J.
Originally published by the Markkula Center for Applied Ethics
Wayne Davidson is a software engineer in the aerospace division of Occidental Engineering, a large engineering firm. For the past two years he has been working as a test engineer for Operation Safe Skies, a project to build a prototype of the next generation air traffic control system. This project, which is funded by a contract from the Federal Aviation Agency (FAA), is a very important one for Occidental. With all the cutbacks in defense spending, the...
Wayne Davidson is a software engineer in the aerospace division of Occidental Engineering, a large engineering firm. For the past two years he has been working as a test engineer for Operation Safe Skies, a project to build a prototype of the next generation air traffic control system. This project, which is funded by a contract from the Federal Aviation Agency (FAA), is a very important one for Occidental. With all the cutbacks in defense spending, the aerospace division has been losing business. The Safe Skies project has provided much needed business, and could lead to a much larger contract if successful. Mindful of its strategic importance, the company had bid very aggressively for the original contract. In fact they had "low-balled" it, bidding less than it would take to do the work properly. They felt that was the only way they could beat out their competitors, who were just as hungry for the work. Because of their somewhat shaky financial position, the company was not willing to take a loss on the project, so the project has been underfunded and understaffed. Nevertheless those working on the project have made a heroic effort, working eighteen hour days seven days a week to meet the deadline, because they know how much it means to the company, not to mention their own jobs. They are now very close to success.
A version of the prototype has been completed and turned over to Wayne for testing. He has run extensive simulations on it and found that it works as it should except for one little problem. When there are too many aircraft in the system, it will sometimes lose track of one or more of them. The "forgotten" aircraft will simply disappear from the screen, there will be no trace of it anywhere, and it will be ignored by all of the collision avoidance and other safety tests. Wayne has been working with the software designers to identify the cause of the problem, and they have traced it to a subtle error in memory allocation and reuse. They are confident that they can fix it, but it will take a month or more to do the redesign, coding and testing.
Wayne meets with his boss, Deborah Shepherd, the project manager, to discuss the implications. She tells him that what he is asking for is impossible. The contract requires that the company deliver a fully certified, working version of the software in three days for system integration and test. The government has developed a new, get-tough policy on missed deadlines and cost overruns, and Occidental is afraid that if they miss this deadline, the government will make an example of them. They would be subject to fines and the loss of the remainder of the prototype contract; and they might not be allowed to bid on the contract for the full system. This would have a devastating effect on the aerospace division, resulting in thousands of lost jobs.
They consider whether they can do a quick patch to the software before turning it over, but Wayne adamantly refuses to release any code that has not been tested thoroughly. There is always a chance that the patch would interact with some other part of the program to create a new bug.
"Then we'll have to deliver the software as is," Deborah says. "I can't jeopardize this project or the jobs of my people by missing that deadline."
"We can't do that!" exclaims Wayne. "That's like delivering a car with defective brakes."
"Don't worry," Deborah reassures him. "We have contacts in the FAA, so we know their testing plans. They will do a lot of simulations to make sure the software works with the hardware and has all the functionality in the specs. Then they will do live tests, but only at a small airport, with a backup system active at all times. There is no way they will overload the system in any of this. After that they will have some change requests. Even if they don't, we can give them an updated version of the program. We can slip the bug fix in there. They will never see the problem. Even if they do, we can claim it was a random occurrence that would not necessarily show up in our tests. The important thing is no one is in any danger."
"Maybe they won't find the bug, but I know it's there. I would be lying if I said the system passed all the necessary tests. I can't do that. Anyway, it would be illegal and unprofessional."
"You can certify that it is safe, because it is, the way they are going to use it."
And so he does. In the end Wayne signs off on the software. It is delivered to the FAA and makes it through all the preliminary tests, including live tests at a small airport in the Midwest. As a result of these tests, the FAA requests some changes in the user interface, and when Occidental delivers the new software it includes a robust solution to the problem of the disappearing aircraft. No one outside of Deborah's group ever learns of the problem. In fact Occidental's success with the prototype leads to major contracts for air traffic control software, giving much-needed business to the aerospace division. This saves hundreds of jobs, and allows the company to add hundreds more.
Wayne Davidson, however, takes early retirement once the prototype project is finished, in order to write a book on software testing. He feels that the book should have a chapter on ethics, but he can never bring himself to write it.
What do you think about Wayne's decision? Was it ethical?
Next: Tutorial on Ethical Decision Making
Michael McFarland, S.J., a computer scientist, is the former president of College of the Holy Cross and was a visiting scholar at the Markkula Ethics Center. June 2012
Author(s): Michael McFarland, S.J
Originally published by the Markkula Center for Applied Ethics
This tutorial provides an analysis of Occidental Engineering: An Ethics Case Study
The story of Occidental Engineering, which is fictional but hardly implausible, illustrates several important points about ethics. First of all, ethics is normative. That is, it involves making judgements according to a standard for what is right and good. In the case of ethics, the judgements are about human behavior insofar as it affects human welfare. Deborah and Wayne are not simply trying to predict how long it will take to fix the program or what the risk of failure will be if they release the code as is, although these factors are relevant. They are rather trying to choose the course of action that best satisfies their duty to do what is right in the given circumstances. Their judgements are based on certain standards or principles for evaluating behavior. For example, when Wayne says he cannot lie, he is applying a principle that it is wrong deliberately to make a statement that is untrue. Deborah, on the other hand, sees her primary obligation as acting for the good of her company and her employees, without harming anyone else.
The second point is that ethical judgement can involve uncertainty and conflict, even when there is substantial agreement about the principles involved. For example, Deborah and Wayne agree that there is an obligation to protect the safety of anyone using their software. Furthermore, Deborah implicitly acknowledges Wayne's claim that it would be wrong for him to lie about test results by formulating for him a statement he can assent to. Nevertheless they come to quite different conclusions about what should be done, though both are reasonable, unselfish and acting out of good will.
The third point illustrated by this story is that the possibilities for ethical action are always determined by the social structures and relations in which the agents find themselves. For example, Deborah and Wayne are forced into the unfortunate situation of having to choose between compromising their professional integrity by delivering a defective product and risking the loss of jobs of many of their coworkers. They are faced with this dilemma largely because of the policies of their company in bidding low on the project and not putting in the resources to do the job right. The company in turn might claim that they were forced to take this approach because they are trying to survive in such a competitive environment and because of the overly rigid expectations of the government.
Finally, the story shows that it is not enough to make the right ethical judgement. One must also act on it. Wayne may have been right, even noble, in refusing to falsify the test results. But in the end he does not act according to his best judgement. On the other hand, Deborah is very skillful, not only in getting her point across, but also in getting Wayne to follow her on it.
To be ethical, then, means to make correct ethical judgements and to translate them into effective action.
Return to the Occidental Engineering Case Study
Next "Foundations of Ethical Judgment: Part 3"
Michael McFarland, S.J., a computer scientist, is the former president of College of the Holy Cross and was a visiting scholar at the Ethics Center. June 2012