Is “according to the requirements” the same as correct? The same as appropriate? The same as ethical? The last #StugHH Event with Tobias Geyer tried to approach an answer. Or at least tried to get us thinking. And that worked!
Let’s talk about Ethics and Software Testing!
Tobi presented us his meanwhile famous talk from the Agile Testing Days: Let’s talk about Ethics and Software Testing. He gave us a few examples to think about the ethical perspective, one of them an experiment, Facebook did in 2014: basically they did psychological experiments not only condoning that the users might be emotionally effected, but planning for it – something which is considered unethical latest since the Helsinki declaration of “Ethical Principles for Medical Research Involving Human Subjects”.
In the reminder of the talk, Tobias listed a few sources on how ethical behavior in software development could be defined – the most complete one being the “ACM Code of Ethics and Professional Conduct”. Also, he introduced the Toulmin schema as a means to perform ethical discussions without getting too emotional.
After the presentation, the StugHH did, what we can do best: discuss! Thanks to all contributors! The inspiring discussion got me to note my own thoughts on this topic. And there was much more than I could report.
Define the Borders of Ethics
During the talk, I wondered what the borders are between ethics, professional attitude and just the wish to earn money as a company – let me call it financial gain.
So where do ethics start, and where does professional behavior end (No 1 in the picture)? According to the ACM guidelines, ethics is about how to behave as a human being in a professional context. Ethical professionalism is about what to do and and how to work considering ethical aspects. The first chapter of the section on professionalism is called: “Strive to achieve high quality in both the processes and products of professional work”. Here, I have to think right away of testing. Isn’t that what we do anyways? I think it could be more, as we might have to apply more criteria as those just related to creating a great product: “Professionals should be cognizant of any serious negative consequences affecting any stakeholder that may result from poor quality work and should resist inducements to neglect this responsibility”. And this knowledge of ANY serious negative consequences might have to be first achieved and then applied.
During my long years at some American company, I had to follow an annual training called “ethical moments”. The bottom line of those movies was, that unethical behavior might lead to short term gain, but definitely will harm eventually. So, the intersection between ethical behavior and financial gain (No. 2) actually should be a 100% overlap. And if it is not, there was a place to go to in order to get support, something like a hotline for ethical violations. The whole purpose of this training was to empower people to report unethical behavior and do something against it. Maybe some more companies should adopt this approach… In absence, the ACM tries to help with their Committee on Professional Ethics.
Last but not least I wonder about the commonality between professional attitude and the financial gain (no. 3). While the arguments concerning long term impact are similar to what I said for No. 2, I see short term impact here: ethical professionalism directly leads to a financial gain as it not only provides (even technically) better products, but you also “hip” products: nowadays there are many consumers who put quite some emphasis on socially (and environmentally) sustainable products.
The Tester as “Ethics Police”?
During the discussion we wondered what the special role of the tester could be in this. Tobias and some others pointed out, that the testers are used to bring up the bad news and thus might be the right people to transport the additional burden. I would disagree here: it got to be a whole team effort to transport ethics. I even would say, a whole company, a whole society effort. For example: who should be the person recognizing bias in AI applications (For example: female doctors and male nurses are not that common)? The tester who tests with cases that might show bias (input a picture of a male nurse)? The team using data science techniques to identify bias in the training data (identify criteria like gender and profession and their correlation)? Or the society that teaches the team, that there is a possible bias in real life? Obviously the ground has to be laid by some social discourse first.
But testers are the ones who help formulate quality characteristics, this one being called “ethics”. We need to start having ethical guidelines (as there are in AI by now), that help us learn what to look for and to make it as considered normal. I am sure, testers could create “ethical heuristics” that should be applied the same as any other testing heuristic, just as another cognitive shortcut. Do you know any? Let us open the discussion!