Ethics as a Quality Attribute Michael Keeling IBM @michaelkeeling
Virtue Ethics Consider the character of the individual “It’s OK to lie if your intentions are virtuous.” Aristotle 3
Virtue Ethics Consider the character of the individual “It’s OK to lie if your intentions are virtuous.” No Decision : Loyalty is a good characteristic, but to whom are you loyal? Aristotle 4
Utilitarianism Consider the consequences “It’s OK to tell a lie only if it helps more people than telling the truth.” John Stuart Mill 5
Utilitarianism Consider the consequences “It’s OK to tell a lie only if it helps more people than telling the truth.” Decision : We help more people by shipping sooner. John Stuart Mill 6
Deontological Ethics Rules or principles define moral obligations “It is never OK to lie, even if your intentions are good.” Immanuel Kant 7
Deontological Ethics Rules or principles define moral obligations “It is never OK to lie, even if your intentions are good.” Decision : Workforce reduction with time to transition humanely. Immanuel Kant 8
Consider… Potential harm vs. potential good for some set of stakeholders 9
https://www.google.com/doodles/30th-anniversary-of-pac-man 10
4.8 million hours $120 – 298 million 504 million happy people http://blog.rescuetime.com/2010/05/24/the-tragic-cost-of-google-pac-man-4-82-million-hours/ 11
Top Quality Attributes • Availability • Time-to-market • Costs 13
Top Quality Attributes • Availability • Time-to-market • Costs • Environmental Sustainability • Maintainability “Framing Sustainability as a Property of Software Quality” by Patricia Lago, Sedef Akinli KoÇak, Ivica Crnkovic, and Birgit Penzenstadler. published in Communication of the ACM, October 2015 14
Top Quality Attributes Downtime harms • Availability customers • Time-to-market Do you compensate • Costs them? • Environmental Sustainability Can customers • Maintainability afford the harm? 15
Top Quality Attributes • Availability How much stress • Time-to-market will you put on your team? • Costs How much tension • Environmental Sustainability with maintainability • Maintainability can you bear? 16
Ethical Time-to-Market? Source Development team Delivers increments of the software Stimulus Development team Artifact Continues working for the company Response Response Measure At the same historical rate Highly stressful / Overtime situation Environment 17
Top Quality Attributes • Availability Fair wages • Time-to-market Proper accounting • Costs Proper procurement • Environmental Sustainability In tension with • Maintainability maintainability 18
Some Unethical Practices… • Purposefully reduced wages by gender, nationality • Outsourcing at less than fair prices • Inaccurate hours reporting • Violating open source licensing • Knowingly shipping junk 19
Top Quality Attributes • Availability • Time-to-market What is the environmental • Costs impact of your • Environmental Sustainability software? • Maintainability 20
Environmental Sustainability Source Auto-scaling scripts Detect signal for load increase Stimulus Cloud / Services Artifact Increases capacity Response Response Measure Overall carbon output remains neutral Peak load Environment 21
Top Quality Attributes • Availability Craftsmanship • Time-to-market Technical debt • Costs management • Environmental Sustainability Documentation and • Maintainability communication 22
Maybe good communication is a moral imperative in software architecture! 23
• Who are your stakeholders? • What can cause them harm? • What can cause them potential good? • Who is responsible for deciding? See also: http://www.acm.org/about-acm/acm-code-of-ethics-and-professional-conduct 24
You have the power and responsibility to do what is right. 25
Be excellent to each other! 26
Thank you! Check out Michael’s book… Coming soon to the Pragmatic Bookshelf! Filled with hands-on Michael Keeling exercises! IBM A practical guide to software @michaelkeeling architecture design! http://neverletdown.net http://bit.ly/swarch-design-book 27
Recommend
More recommend