ethical issues in software testing v4

26
Issues in Software Testing Scott Allman Independent Consultant CAST July, 2012 scott.m.allma n@ gmail.com

Upload: scott-allman

Post on 18-Aug-2015

19 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Ethical issues in software testing v4

Ethical Issues in Software TestingScott AllmanIndependent Consultant

CASTJuly, 2012

[email protected]

Page 2: Ethical issues in software testing v4

Your Speaker

•AST and SQuAD member•Software developer, tester, manager•AST student and teacher•BA, MA in Philosophy (but not in ethics; epistemology and philosophy of science)

Page 3: Ethical issues in software testing v4

Sources of this Presentation

•Regis University CS418 Ethics for IT Professionals•Books on applied ethics and on software engineering•AST solicitation for data•Correspondence with philosophers•Al-Anon and Alcoholics Anonymous•Discussions with other testers•WWW•Teach a skill – not argue

Page 4: Ethical issues in software testing v4

14,000 ft (4330 meters) Overview

•Topics NOT covered today•Ethical dilemmas•Introduce a skill•Next steps•Summary and questions

Page 5: Ethical issues in software testing v4

Topics NOT Covered Today

1.Codes of ethics – personal and professional2.Terrible things happen when software fails3.There are no ethical issues – just legal, or business, or self-interest, or engineering, or ..4.Justifications and origins of ethical principles5.Corner cases – Wait! We testers excel at these!

Page 6: Ethical issues in software testing v4

Software Testers Create Information“I once had a consulting contract with a leading

banking company. I was invited by …“Time passed, and it came time for me to

present my findings to Senior Management. …“I had wrestled all along with the dilemma of

reporting that key bug finding or suppressing“Going in to the meeting, I still wasn’t sure what

I was going to do .”From: Rost & Glass, “The Dark Side of Software Engineering:

Evil on Computing Projects”

Page 7: Ethical issues in software testing v4

The Human Side of Knowledge

•Relationships to individuals and groups–See the many groups in the codes of ethics

•There is a potential for conflict•Ethics is about what humans “ought to do”•Humans are decision makers

Page 8: Ethical issues in software testing v4

Dilemmas – Make a Decision !http://www.1mpages.com/contradictoryproverbs.html

Page 9: Ethical issues in software testing v4

Familiar Ideas about Dilemmas•You must make a decision (including the decision to do nothing)•You cannot choose both options• Choices may result in violating some principle

Page 10: Ethical issues in software testing v4

Right vs. Wrong - Moral Temptations

•Guided by your moral compass•“Don’ts”: kill, steal, fraud, etc.•Wrong is not relative

Page 11: Ethical issues in software testing v4

Right vs. Right: Ethical Dilemmas

•Either choice is right•You cannot make both•Patterns to recognize•Process to follow

Page 12: Ethical issues in software testing v4

Four Ethical Patterns

1.Truth vs. Loyalty2.Justice vs. Mercy3.Individual vs. Community4.Short-term vs. Long-term

Page 13: Ethical issues in software testing v4

Truth vs. Loyalty

Tradeoff: honesty or integrity versus commitment, responsibility or promise keeping

• As testers we create information–Bug reports (See AST Bug Advocacy class)–Observations on people and process

• Managers: pending layoffs

Page 14: Ethical issues in software testing v4

Is it ever ethical to not disclose everything you have learned while testing?

1.“On the other hand I’m fine with: Hiding special information from any of the stakeholders, when I see how revealing the information could harm either my customer or end user”2.“Report everything that I believe, in good faith, to be a threat to the product or to the user thereof, according to my understanding of the best interests of my client and the public good.”3. End of story from “The Dark Side of Software …”

Page 15: Ethical issues in software testing v4

Justice vs. Mercy

Tradeoff: fairness, equity and even handed applications of the law may conflict with compassion and empathy

• Someone broke the build• Not all the tests were run• Managers: Exaggerated resumes

Page 16: Ethical issues in software testing v4

Short-term vs. Long-term

Tradeoff: Immediate needs or desires run counter to future goals or prospects

• The software is late. You are asked to work weekends.

• A patch to a bug arrives after testing has begun.

Page 17: Ethical issues in software testing v4

Individual vs. Community

Tradeoff: self versus others; smaller groups versus larger groups

• Agile adaptive teams• Managers: Performance reviews and

employee rankings• Codes of ethics often select both

Page 18: Ethical issues in software testing v4
Page 19: Ethical issues in software testing v4

Resolving Issues – Classical Ethics

•Ends-based:–Consider the consequences–Greatest good for the greatest number of people

•Rules-based:–Follow your highest sense of principle

•Care-based:–Do what you want others to do to you

Page 20: Ethical issues in software testing v4

Special Topic: Whistleblowing

•What is whistleblowing?•What are the risks?•Are the wrong ways to do it?•More than one ethical pattern may apply.

Page 21: Ethical issues in software testing v4

Ethical Fitnesse

•Identify the facts and stakeholders•Which ethical pattern applies?•Formulate options•Be able to defend your reasoning•Make a decision•Over time, learn about your ethical stances

Page 22: Ethical issues in software testing v4

My Values

•Truth over loyalty•Long-term over short term•Mercy over justice•Individuals over community

Page 23: Ethical issues in software testing v4

Next Steps

•Catalog of common ethical dilemmas confronting software testers–Arguments for stances and resolutions–Stories from our experiences

•Creating your personal ethics code, your own instrument panel•Support for ethical decision making among our colleagues

Page 24: Ethical issues in software testing v4

Summary of this Presentation•When your ethical compass is atwitter, frame issue as “Right vs. Right”–Truth vs. Loyalty–Justice vs. Mercy–Long/Short term & Individual/Group

•Become ethically fit by challenging yourself to consciously resolve ethical dilemmas•Understand that in an imperfect world, with limited information, you must still choose

Page 25: Ethical issues in software testing v4

References

•Rost and Glass, “The Dark Side of Software Engineering: Evil on Computing Projects”•Kidder, “How Good People Make Tough Choices”

Page 26: Ethical issues in software testing v4

Audience Participation

“Ladies and gentlemen: the story you are about to hear is true. Only the names have been changed to protect the innocent.” Dragnet, circa 1968