Ethik in der Softwareentwicklung

Werbung
Seminar-Vortrag:
Ethik in der Softwareentwicklung
Franka Schuster, 29.05.2009
Lehrveranstaltung Softwarezuverlässigkeit
Lehrstuhl Datenstrukturen und Softwarezuverlässigkeit
Brandenburgische Technische Universität Cottbus
Misstrauen in den
Datenschutz als Indiz
für das Erwarten
unethischen Verhaltens
Quelle: Heise-Artikel vom
7.05.2009 mit dem Titel
„Meinungsforscher: Viel
Misstrauen in der Bevölkerung
beim Datenschutz“ [1]
Ethik in der Softwareentwicklung – Franka Schuster – 29.05.2009
1 / 19
Gliederung
1. Begriffsklärung
2. Wozu Ethik in der Softwareentwicklung?
3. Ethische Leitlinien – ein Beispiel
4. Ethik sicherheitskritischer Systeme
5.1 . Zu vermeidende Verhaltensweisen
5.2 . Notwendige Bestandteile
5. Individual- vs. Institutionsethik
Zusammenfassung
Ethik in der Softwareentwicklung – Franka Schuster – 29.05.2009
2 / 19
1. Begriffsklärung
Ethik
philosophische Disziplin
Aristoteles (4. Jh. v. Chr.):
- wissenschaftliche Beschäftigung mit Gewohnheiten, Sitten,
Gebräuchen
- menschliches Handeln auf Basis vernünftiger, theoretischer Reflexion
statt nur auf Konventionen, Traditionen
Heute:
- Aufstellen von Kriterien für gutes und schlechtes Verhalten
- Bewertung seiner Motive und Folgen
Professionelle Ethik
Ethik im Zusammenhang mit professioneller Ausübung einer Tätigkeit
(Berufsethik)
Ethik in der Softwareentwicklung – Franka Schuster – 29.05.2009
3 / 19
SW-Entwicklung | Leitlinien-Bsp. | sicherheitskr. Systeme | Individual- / Institutionsethik | Fazit
2. Wozu Ethik in der Softwareentwicklung?
zentrale und wachsende Bedeutung von Softwaresystemen in heutiger
Gesellschaft
beeinflusst durch Softwareentwickler via Analyse, Beschreibung, Entwurf,
Entwicklung, Zertifizierung, Wartung, Testen
Softwareentwickler haben enorme Möglichkeiten:
- Gutes zu tun oder Schaden anzurichten
- anderen zu ermöglichen, ~
- andere zu beeinflussen, ~
Vertrauen der Gesellschaft in Professionalität des Berufsstandes
Softwareentwickler haben enorme Verantwortung:
- direkte Verantwortung
- indirekte Verantwortung
Ethik in der Softwareentwicklung – Franka Schuster – 29.05.2009
4 / 19
SW-Entwicklung | Leitlinien-Bsp. | sicherheitskr. Systeme | Individual- / Institutionsethik | Fazit
3. Ethische Leitlinien – ein Beispiel
Ethische Leitlinien
Was ist das Ziel?
Identifizierung von und Konfrontation mit ethisch korrektem Verhalten durch
Festlegung und Festhalten ethischer Normen
Wer ist angesprochen?
u. a. Berufstätige, Pädagogen, Studenten, Führungskräfte, Vorgesetzte,
politische Entscheidungsträger
Durch wen festgesetzt?
u. a. Firmen, Berufsvereinigungen, politische Gremien
Wie zu vermitteln?
initiale Ausbildung, Lehrgänge, Material für Selbststudium
Ethik in der Softwareentwicklung – Franka Schuster – 29.05.2009
5 / 19
SW-Entwicklung | Leitlinien-Bsp. | sicherheitskr. Systeme | Individual- / Institutionsethik | Fazit
3. Ethische Leitlinien – ein Beispiel
Beispiele für ethische Leitlinien
Gesellschaft für Informatik (GI): „Ethische Leitlinien der Gesellschaft für
Informatik“ (1995) [2]
British Computer Society (BCS): „Code of Good Practice“ (2004) [3]
SAP: „Geschäftsgrundsätze für Mitarbeiter der SAP AG“ (2006) [4]
Oracle: „Code of Ethics and Business Conduct“ (2009) [5]
Ethik in der Softwareentwicklung – Franka Schuster – 29.05.2009
6 / 19
SW-Entwicklung | Leitlinien-Bsp. | sicherheitskr. Systeme | Individual- / Institutionsethik | Fazit
3. Ethische Leitlinien – ein Beispiel [6]
Beispiel: „Softwareentwicklungskodex für ethische und
professionelle Vorgehensweise“1 der ACM2 und IEEE-CS3
aktuelle Version 5.2 stammt aus dem Jahr 1999
Zweck: Hilfestellung für Softwareentwickler, die Softwareentwicklung zu
einem nutzbringendem und angesehen Beruf zu machen
8 Prinzipien, die jeweils in 6 – 15 konkreten Anweisungen erläutert werden
___
1
Originaltitel: „Software Engineering Code of Ethics and Professional Practice“)
2
Abk. für „Association for Computing Machinery“
3
Abk. für „Institute of Electrical and Electronics Engineers – Computer Society “
Ethik in der Softwareentwicklung – Franka Schuster – 29.05.2009
7 / 19
SW-Entwicklung | Leitlinien-Bsp. | sicherheitskr. Systeme | Individual- / Institutionsethik | Fazit
3. Ethische Leitlinien – ein Beispiel [6]
Beispiel: „Softwareentwicklungskodex für ethische und
professionelle Vorgehensweise“1 der ACM2 und IEEE-CS3
„Softwareentwickler sollen ...“
Prinzip 1: Öffentlichkeit
„ ... in Übereinstimmung mit dem öffentlichen Interesse handeln.“
Prinzip 2: Auftrag- und Arbeitgeber
„ ... im besten Interesse ihres Auftrag- und Arbeitgebers ohne Verletzung
von Prinzip 1 handeln.“
Prinzip 3: Produkt
„ ... gewährleisten, dass ihre Produkte und Veränderungen an diesen den
höchst möglichen fachmännischen Standards genügen.“
Prinzip 4: Urteilsbildung
„ ... Seriosität und Unabhängigkeit bei beruflichen Entscheidungen
behalten.“
Ethik in der Softwareentwicklung – Franka Schuster – 29.05.2009
8 / 19
SW-Entwicklung | Leitlinien-Bsp. | sicherheitskr. Systeme | Individual- / Institutionsethik | Fazit
3. Ethische Leitlinien – ein Beispiel [6]
Beispiel: „Softwareentwicklungskodex für ethische und
professionelle Vorgehensweise“1 der ACM2 und IEEE-CS3
„Softwareentwickler sollen ...“
Prinzip 5: Führung
„ Führungskräfte in der Softwareentwicklung sollen sich ethischen
Vorgehensweisen bei ihren Aufgaben verpflichten und sie propagieren.“
Prinzip 6: Berufsstand
„ ... die Unversehrtheit und das Ansehen ihres Berufes steigern ohne
Verletzung von Prinzip 1.“
Prinzip 7: Kollegen
„ ... ihren Kollegen gegenüber fair und unterstützend sein.“
Prinzip 8: eigene Person
„ ... sich lebenslang berufsbezogen weiterbilden und einen ethischen Bezug
zu ihrem beruflichen Handeln aufbauen.“
Ethik in der Softwareentwicklung – Franka Schuster – 29.05.2009
9 / 19
SW-Entwicklung | Leitlinien-Bsp. | sicherheitskr. Systeme | Individual- / Institutionsethik | Fazit
3. Ethische Leitlinien – ein Beispiel [6]
Beispiel: „Softwareentwicklungskodex für ethische und
professionelle Vorgehensweise“1 der ACM2 und IEEE-CS3
Ausgewählte Anweisungen:
3.03.
6.03.
„Identifiziere, definiere und setze dich mit ethischen, wirtschaftlichen,
rechtlichen und ökologischen Aspekten deiner aktuellen Arbeit
auseinander.“
„Erweitere das allgemeine Fachwissen über Softwareentwicklung
durch angemessene Beteiligung in Berufsvereinigungen,
Veranstaltungen und Veröffentlichungen.“
7.03.
„Erkenne die Arbeit anderer uneingeschränkt an und vermeide
übermäßige Anerkennung.“
8.02.
„Verbessere deine Fähigkeiten, sichere, zuverlässige und nützliche
Qualitätssoftware zu angemessenen Kosten und in angemessener Zeit
zu entwickeln.“
Ethik in der Softwareentwicklung – Franka Schuster – 29.05.2009
10 / 19
SW-Entwicklung | Leitlinien-Bsp. | sicherheitskr. Systeme | Individual- / Institutionsethik | Fazit
4. Ethik sicherheitskritischer Systeme
Sicherheitskritisches System
System, das Funktionen mit Sicherheitsverantwortung (Funktionen, deren
Versagen gefährliche Auswirkungen haben können) wahrnimmt
Was gilt für die Ethik in solchen Systemen?
Nichtbeachtung oder falsche Priorisierung ethischer Regeln kann
gesundheitlichen Schaden, sogar Todesfälle nach sich ziehen
zur Realisierung möglichst großer Sicherheit des Systems müssen alle
möglichen Hilfsmittel (eben auch ethische Leitlinien) angewendet werden
Ethik in der Softwareentwicklung – Franka Schuster – 29.05.2009
11 / 19
SW-Entwicklung | Leitlinien-Bsp. | sicherheitskr. Systeme | Individual- / Institutionsethik | Fazit
4. Ethik sicherheitskritischer Systeme
5.1. Zu vermeidende Aspekte [7] (1/2)
1) Effekthascherei
kein Anwenden von Techniken nur um Unternehmensführung oder
Gruppenzwang zu befriedigen
2) Übertreibung
keine Technik aufgrund der Werbung als Allheilmittel betrachten
3) Wunschdenken
menschliche Argumentationsfähigkeit nie durch blinden Glauben an
Techniken ersetzen
4) Oligarchie
möglichst viele möglichst schnell an Expertenwissen neuer Methoden
teilhaben lassen
Ethik in der Softwareentwicklung – Franka Schuster – 29.05.2009
12 / 19
SW-Entwicklung | Leitlinien-Bsp. | sicherheitskr. Systeme | Individual- / Institutionsethik | Fazit
4. Ethik sicherheitskritischer Systeme
5.1. Zu vermeidende Aspekte [7] (2/2)
5) Vergänglichkeit
Einsatz bewährter Methoden und Entwurf in Hinblick auf Wiederverwendbarkeit
6) Informationsflut
zu detaillierte Dokumentation genauso schlecht wie zu wenig
abstrakte Beschreibungen erklären
7) Abweichungen
früher Einsatz formaler Methoden verhindert zu lange
Entwicklungszeiten und ungenaue Umsetzung von Anforderungen
Ethik in der Softwareentwicklung – Franka Schuster – 29.05.2009
13 / 19
SW-Entwicklung | Leitlinien-Bsp. | sicherheitskr. Systeme | Individual- / Institutionsethik | Fazit
4. Ethik sicherheitskritischer Systeme
5.2. Notwendige Bestandteile [7] (1/2)
1) Wissenschaftliches Fachwissen
theoretisches Wissen aus initialer Ausbildung und Weiterbildungen
2) Technische Fertigkeiten
aufgrund Erfahrungen durch wiederholtes Anwenden des
wissenschaftlichen Wissens
3) Praktische Weisheit
Bewusstsein über eigene Grenzen, Grenzen der Methoden, Grenzen
der Produkte
Besonnenheit und Voraussicht
Ethik in der Softwareentwicklung – Franka Schuster – 29.05.2009
14 / 19
SW-Entwicklung | Leitlinien-Bsp. | sicherheitskr. Systeme | Individual- / Institutionsethik | Fazit
4. Ethik sicherheitskritischer Systeme
5.2. Notwendige Bestandteile [7] (2/2)
4) Zusammenspiel von Intelligenz und Intuition
da absolute Formalisierung jedes einzelnen Schrittes der
Softwareentwicklung zu komplex, muss das Anwenden formaler
Methoden durch Intuition ergänzt werden
5) Klugheit im Konkreten
unkonventionelle Techniken und Lösungen sollten in bestimmten
Fällen gängigen Methoden vorgezogen werden
Ethik in der Softwareentwicklung – Franka Schuster – 29.05.2009
15 / 19
SW-Entwicklung | Leitlinien-Bsp. | sicherheitskr. Systeme | Individual- / Institutionsethik | Fazit
5. Individual- vs. Institutionsethik [8] [9]
Individualethik
Ethik der Person
Inhalt: Gewissen, Verantwortung, Motive, Verhalten des Einzelnen
alle bisher gesehen Beispiele
Institutionsethik
Ethik der Institution (Vereinigung, Unternehmen, ... )
Inhalt: ethische Rahmenbedingungen kollektiven Handelns, die dem
gerechten Zusammenleben aller dienen
Bedeutung der Institutionsethik steigt, die der Individualethik sinkt, da
- Zunahme der Anonymität der Mitarbeiter eines Unternehmens nach
außen
- individualethische Ansätze führen zu Dilemmata mit
unternehmerischen Absichten
Ethik in der Softwareentwicklung – Franka Schuster – 29.05.2009
16 / 19
SW-Entwicklung | Leitlinien-Bsp. | sicherheitskr. Systeme | Individual- / Institutionsethik | Fazit
5. Individual- vs. Institutionsethik [8] [9]
Meinungen
PRO Institutionsethik
Rafael Capurro nach Günter Ropohl: Der "korporative Akteur" und nicht
mehr (so sehr) das einzelne Mitglied ist das moralische Subjekt, denn das
Ergebnis korporativen Handelns deckt sich nicht mit der Summe
individuellen Handelns.
CONTRA Institutionsethik
Walther Zimmerli: „Institutionen sind [...] keine Subjekte in dem Sinne,
dass sie sich durch den Bezug zur eigenen Existenz diese selbst formen
könnten. Ihre Quasi-Subjektivität bedeutet lediglich [...], dass sie rechtlich
haftbar, aber eben nicht moralisch verantwortlich gemacht werden können.“
[10]
Ethik in der Softwareentwicklung – Franka Schuster – 29.05.2009
17 / 19
SW-Entwicklung | Leitlinien-Bsp. | sicherheitskr. Systeme | Individual- / Institutionsethik | Fazit
Zusammenfassung
aus dem enormen Einfluss von Softwareentwicklern auf in allen
Lebensbereichen Einzug haltende Softwaresysteme wächst deren
Verantwortung
ethische Leitlinien sind ein Hilfsmittel für Softwareentwickler, um mit dieser
Verantwortung umgehen zu können, indem sie
ethisch korrektes Verhalten identifizieren
durch Verbindlichkeit für viele den Einzelnen im Zweifelsfall zu ethisch
korrektem Handeln bestärken
ihn zu höherer Professionalität in seinem Beruf verhelfen
Ethik und ethische Leitlinien sind wie in allen anderen Berufen und
Lebensbereichen unentbehrlich in der Softwareentwicklung
Ethik in der Softwareentwicklung – Franka Schuster – 29.05.2009
18 / 19
Quellennachweis
[1] Heise Online (7.5.2009): „Meinungsforscher: Viel Misstrauen in der Bevölkerung beim Datenschutz“.
URL: http://www.heise.de/newsticker/Meinungsforscher-Viel-Misstrauen-in-der-Bevoelkerung-beimDatenschutz--/meldung/137486 [Stand 28.05.2009]
[2] Gesellschaft für Informatik (1995): „Ethische Leitlinien der Gesellschaft für Informatik“. URL:
http://www.iig.uni-freiburg.de/gi/ell [Stand 27.05.2009]
[3] British Computer Society (2004): „Code of Good Practice“. URL:
http://www.bcs.org/server.php?show=conWebDoc.1589 [Stand 27.05.2009]
[4] SAP (2006): „Geschäftsgrundsätze für Mitarbeiter“. URL:
http://www.sap.com/germany/about/governance/pdf/CoBC_deutsch.pdf [Stand 27.05.2009]
[5] Oracle (2009): „Code of Ethics and Business Conduct“. URL:
http://www.oracle.com/corporate/community/governance/cebc.pdf [Stand 28.05.2009]
[6] Association for Computing Machinery (1999): „Software Engineering Code of Ethics and Professional
Practice“. URL: http://www.acm.org/about/se-code/ [Stand 28.05.2009]
[7] Bowen, Jonathan: „The Ethics of Safety-Critical Systems“. In: Communications of the ACM, Vol. 43, No.
4 (April 2000), S. 91 – 97
[8] Institut für Ethik in der Praxis (2008): „Institutionenethik / Organisationsethik“. URL: http://www.ethik-inder-praxis.de/institutionenethik.htm [Stand 26.05.2009]
[9] Capurro, Rafael (2006): „Zur Frage der professionellen Ethik“. URL: http://www.capurro.de/code.htm
[Stand 28.05.2009]
[10] Zimmerli, Walther Ch. (1991): Verantwortung des Individuums - Basis einer Ethik von Technik u.
Wissenschaft. In: H. Lenk, M. Maring, Hrsg.:Technikverantwortung. Frankfurt a. M.1991.S.79-89.
Ethik in der Softwareentwicklung – Franka Schuster – 29.05.2009
19 / 19
Herunterladen