Reference: Seminar 2
During the seminar, we discussed the "Killer Robot" case study - which documented a collection of articles that investigated the death of a robot operator. It could be concluded that the blame and responsbility of the robot's malfunction cannot be attributed to one single person; rather that there was a systemic issue within the company that ultimately caused the unfortunate events.
There were many factors that arose: time pressure, budget constraints, over staffing, bad project management, inadequate testing, etc.
It is difficult, if not impossible to blatantly accuse any factor as the sole reason of the incident, and such all factors should be taken into consideration when trying to learn from mistakes.
Many characters in the case study violated many of what could be called the "UNSW Software Engineering General Consensus of What Is Ethical And What Is Not" (pertaining to the fact that ethics is in part dependent on context). Shortcuts and lesser alternatives were made, in accordance to simplicity, speed, effortless-ness or authority. As a result, many of the characters are culprits of making bad choices.
As unanimously agreed within the seminar group, it is never acceptable to falsify software test results regardless of any surrounding pressures (e.g. job stability / company failure ) - as they will eventually lead to repercussions of a serious nature.
In closure, the case study serves to show us how not to behave in the presence of such events. The importance of behaving ethically is brought to light, along with the importance of a good team dynamic - to bring about a peaceful and productive work culture.
Aside: An interesting quote which I took out from the case study is the below
"The idea of egoless programming is that a software product belongs to the team and not to the individual programmers. The idea is to be open to criticism and to be less attached to one's work. Code reviews are certainly consistent with this overall philosophy"