Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS...

74
Funktioniert industrielle Softwareentwicklung? Ringvorlesung WS 2015

Transcript of Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS...

Page 1: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Funktioniert industrielle Softwareentwicklung?Ringvorlesung WS 2015

Page 2: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Carl Zeiss Innovationszentrum - Überblick

Das Carl Zeiss Innovationszentrum ist Teil der ZEISS Unternehmensgruppe.

Historie:• Gründung 1992 als Ingenieurbüro für Moderne Messtechnik durch Prof. Werner

Lotze• Erstes Produkt: Zahnradauswertesoftware Involute• Neugründung 2001 als Carl Zeiss Innovationszentrum für Messtechnik

Tätigkeitsfelder:• Grundlagenentwicklung• Beratung & Auftragsentwicklung• Eigene Produkte PiWeb und Involute

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 2

Page 3: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Einordnung der IZfM-Projekte

PiWeb - Prozessdatenmanagement- und Qualitätssicherung:

• Mehr als 4000 Anwender• Im Einsatz bei allen großen Automobilherstellern• Insgesamt über 30 Kundenunternehmen• Weltweiter Einsatz auf 4 Kontinenten• Seit mehr als 10 Jahren in stetiger (Weiter-)Entwicklung

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 3

Page 4: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Einordnung der IZfM-Projekte - Involute

Auswertung von Zahnrad-Koordinatenmessdaten:

• Kenngrößenberechnung zur Qualitätsbewertung und Prozesssteuerung• Erstprodukt 1995• Regelmäßige Zertifizierung durch PTB• Anwender: Messmaschinenhersteller, Maschinenbau, Forschungseinrichtungen• Stabiles OEM API seit 15 Jahren• Aktuelle Codebasis: 1.650.000 Zeilen

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 4

Page 5: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Gliederung

1. Vorstellung des Carl Zeiss Innovationszentrums für Messtechnik

2. Vorbemerkungen

3. Industrielle Software

4. Industrielle Rahmenbedingungen

5. Auswirkungen industrieller Rahmenbedingungen

6. Ursachen und Auswege

7. Zusammenfassung und Ausblick

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 5

Page 6: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Gliederung

1. Vorstellung des Carl Zeiss Innovationszentrums für Messtechnik

2. Vorbemerkungen

3. Industrielle Software

4. Industrielle Rahmenbedingungen

5. Auswirkungen industrieller Rahmenbedingungen

6. Ursachen und Auswege

7. Zusammenfassung und Ausblick

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 6

Page 7: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Vorbemerkungen

Human Software Engineering ...

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 7

Page 8: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Human Software Engineering ...

// Im Handout wurden die meisten Bilder aus Copyright-Gründen entfernt.

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 8

Page 9: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Vergleichbarkeit mit natürlicher Evolution

Evolutionsprozess und Softwareentwicklungsprozess sind vergleichbar.

In Bezug auf

• ihre Rahmenbedingungen und

• die Art der Auswirkungen

Essentieller Unterschied: Teilnehmer am Evolutionsprozess sind nicht reflektionsfähig.

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 9

Page 10: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Vergleichbarkeit mit natürlicher Evolution

Warum ist dann der Prozess der Softwareentwicklung

ebenso anfällig?

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 9

Page 11: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Vorbemerkungen

Was Sie erwarten dürfen

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 10

Page 12: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Was Sie erwarten dürfen

... eine Sensibilisierung für psychosoziale Aspekte der industriellen Softwareentwicklung

als kritische Einflussfaktoren

Das Hauptproblem industrieller Softwareentwicklung

sind die beteiligten Personen.

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 11

Page 13: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Was Sie erwarten dürfen

... eine Diskussion von Kriterien für erfolgreiche industrielle Softwareentwicklung sowie

Ursachen für das Gegenteil

Schlechte Softwareentwicklungsprozesse

ähneln der natürlichen Evolution.

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 12

Page 14: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Was Sie erwarten dürfen

... und natürlich eine Antwort auf dieEingangsfrage!

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 13

Page 15: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Vorbemerkungen

Was Sie nicht erwarten sollten

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 14

Page 16: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Was Sie nicht erwarten sollten

• Empfehlung eines idealen Entwicklungsprozesses

• Allgemeingültige Patentrezepte

• Konkrete Verhaltensanweisungen

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 15

Page 17: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Gliederung

1. Vorstellung des Carl Zeiss Innovationszentrums für Messtechnik

2. Vorbemerkungen

3. Industrielle Software

4. Industrielle Rahmenbedingungen

5. Auswirkungen industrieller Rahmenbedingungen

6. Ursachen und Auswege

7. Zusammenfassung und Ausblick

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 16

Page 18: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Industrielle Software - Besonderheiten

Hohe Komplexität

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 17

Page 19: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Industrielle Software - Komplexität

Industrielle Softwareentwicklung bildet die Brücke zwischen wissenschaftlicher

Forschung und praktischer Anwendung.

• Komplexität oft an der Grenze des organisatorisch Realisierbaren

• Komplexität oft an der Grenze des auf Zielsystem technisch Realisierbaren(Rechenzeit, Speicherplatz)

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 18

Page 20: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Industrielle Software - Besonderheiten

Langer Lebenszyklus

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 19

Page 21: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Industrielle Software - Lebenszyklus

Langer Lebenszyklus der Applikationen (> 25 Jahre)

• Mehrere Generationen von Produkten parallel im Einsatz• Forderung nach Abwärtskompatibilität (Versionen und Produkte)• Tiefe Einbindung in Kundenumgebungen und -prozesse

Lange aktive Entwicklungsphase (> 15 Jahre)

• Hohes Risiko durch a priori Technologieentscheidungen• Notwendigkeit der Anpassung der Architektur an Technologieentwicklung

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 20

Page 22: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Gliederung

1. Vorstellung des Carl Zeiss Innovationszentrums für Messtechnik

2. Vorbemerkungen

3. Industrielle Software

4. Industrielle Rahmenbedingungen

5. Auswirkungen industrieller Rahmenbedingungen

6. Ursachen und Auswege

7. Zusammenfassung und Ausblick

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 21

Page 23: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Rahmenbedingungen

Softwareentwicklung erfolgt in einerKonkurrenzsituation

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 22

Page 24: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Rahmenbedingungen - Konkurrenz

// Im Handout wurden die meisten Bilder aus Copyright-Gründen entfernt.

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 23

Page 25: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Rahmenbedingungen

Ressourcen sind beschränkt

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 24

Page 26: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Rahmenbedingungen - Ressourcen

// Im Handout wurden die meisten Bilder aus Copyright-Gründen entfernt.

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 25

Page 27: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Rahmenbedingungen

Inhalte folgen Kundenanforderungen

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 26

Page 28: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Rahmenbedingungen - Kundenanforderungen

// Im Handout wurden die meisten Bilder aus Copyright-Gründen entfernt.

Informationsverlust durch Kommunikation

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 27

Page 29: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Rahmenbedingungen - Kundenanforderungen

Die Anforderungen unserer Kunden sind im Allgemeinen• von einer heterogenen Gruppe gestellt,• unvollständig, widersprüchlich und zeitabhängig,• von komplexen Kundenprozessen und -erfahrungen geprägt.

Ihre Aufgabe• Herausarbeiten der eigentlichen Problemstellung• Formulierung und Unterbreitung von Lösungsvorschlägen• Übersetzung zwischen Kundenprozessen und Softwareabläufen

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 28

Page 30: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Rahmenbedingungen

Kundenakzeptanz ist das primäreErfolgskriterium

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 29

Page 31: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Rahmenbedingungen - Zusammenfassung

• Softwareentwicklung erfolgt in einer Konkurrenzsituation.• Inhalte folgen Kundenanforderungen.• Ressourcen (Zeit, Finanzmittel, Personal) sind beschränkt.• Kundenakzeptanz ist das primäre Erfolgskriterium.

BeobachtungDie Situation trägt wesentliche Merkmale des Selektionsprozesses der natürlichenEvolution.

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 30

Page 32: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Rahmenbedingungen - Zusammenfassung

• Die Entwicklung von Arten erfolgt in einer Konkurrenzsituation.• Die Anpassung der Arten erfolgt entsprechend den Umweltbedingungen.• Ressourcen (Zeit, Nahrung, Lebensraum, etc.) sind beschränkt.• Überlebensfähigkeit ist das primäre Erfolgskriterium.

BeobachtungDie Situation trägt wesentliche Merkmale des Selektionsprozesses der natürlichenEvolution.

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 30

Page 33: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Gliederung

1. Vorstellung des Carl Zeiss Innovationszentrums für Messtechnik

2. Vorbemerkungen

3. Industrielle Software

4. Industrielle Rahmenbedingungen

5. Auswirkungen industrieller Rahmenbedingungen

6. Ursachen und Auswege

7. Zusammenfassung und Ausblick

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 31

Page 34: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Auswirkungen - Ein Beispiel aus der natürlichen Evolution

Überlagerung von Atemsystem undVerdauungssystem

Quelle: [Nesse and Williams, 1998]

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 32

Page 35: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Auswirkungen - Ein Beispiel aus der natürlichen Evolution

Das Problem betrifft alle Wirbeltiere.

Symptom: Überschneidung der Transportwege für Atemluft und NahrungUrsache: Lage der Nase über der Mundhöhle und der Luftröhre vor der Speiseröhre

Workaround 1: Reflexartiger Verschluss Luftröhre durch Kehldeckel beim SchluckenWorkaround 2: Würgereflex als Defensivmechanismus im Fehlerfall

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 33

Page 36: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Auswirkungen - Ein Beispiel aus der natürlichen Evolution

Erklärung durch inkrementelle Anpassung

im Laufe der Evolution

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 34

Page 37: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Auswirkungen - Ein Beispiel aus der natürlichen Evolution

Bauplan eines entfernten Wirbeltiervorfahren (Larve eines Manteltieres):

Mundöffnung

Wasserstrom

Kiemenfilter Darm

Nahrungsaufnahme durch Filterung des einströmenden Wassers auf Mikroorganismen

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 35

Page 38: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Auswirkungen - Ein Beispiel aus der natürlichen Evolution

Modifikation der Nahrungsfilter zu Atmungsorganen:

Mundöffnung

Wasserstrom

Kiemen Darm

Erstmalige Überlappung der beiden Transportwege

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 36

Page 39: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Auswirkungen - Ein Beispiel aus der natürlichen Evolution

Partieller Übergang zur Luftatmung (Lungenfisch):

Nasenöffnung

Kiemen

Mundöffnung

Lunge Magen

Modifikation der vorhandenen Riechorgane zu zusätzlichen Luftöffnungen

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 37

Page 40: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Auswirkungen - Ein Beispiel aus der natürlichen Evolution

Vollständiger Übergang zur Luftatmung:

Nasenöffnung

Mundöffnung

Lunge Magen

Maximale Trennung der Transportwege im Laufe der weiteren Entwicklung

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 38

Page 41: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Auswirkungen - Beispiele aus der Softwareentwicklung

Beispiel 1

Architektur vs. Kundennutzen

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 39

Page 42: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Auswirkungen - Softwareentwicklung - Beispiel 1

Sie haben eine Schwachstelle in der Architektur Ihrer Software entdeckt und würden

diese gern durch ein Refactoring beseitigen. Der Projektleiter lehnt dies mit Verweis

auf den nicht vorhandenen Kundennutzen ab.

Wie reagieren Sie?

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 40

Page 43: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Auswirkungen - Softwareentwicklung - Beispiel 1

Sie haben eine Schwachstelle in der Architektur Ihrer Software entdeckt und würden

diese gern durch ein Refactoring beseitigen. Der Projektleiter lehnt dies mit Verweis

auf den nicht vorhandenen Kundennutzen ab.

a) Sie wenden sich wieder Ihren Tagesaufgaben zu.b) Sie erledigen das Refactoring in Ihren Überstunden.c) Sie beginnen eine technische Diskussion mit dem Projektleiter.

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 40

Page 44: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Auswirkungen - Beispiele aus der Softwareentwicklung

Beispiel 2

Aufwand vs. Kundennutzen

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 41

Page 45: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Auswirkungen- Softwareentwicklung - Beispiel 2

Sie haben ein Feature für einen Kunden auf einen Aufwand von ca. 6 Wochen

abgeschätzt. Ihr Projektleiter erklärt Ihnen, dass maximal 3 Wochen akzeptabel sind

und fordert Sie auf, den Aufwand zu reduzieren.

Welche Alternative wählen Sie?

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 42

Page 46: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Auswirkungen- Softwareentwicklung - Beispiel 2

Sie haben ein Feature für einen Kunden auf einen Aufwand von ca. 6 Wochen

abgeschätzt. Ihr Projektleiter erklärt Ihnen, dass maximal 3 Wochen akzeptabel sind

und fordert Sie auf, den Aufwand zu reduzieren.

a) Sie entfernen strukturelle Aufgaben aus Ihrer Planung und reduzieren so denAufwand.

b) Sie führen strukturelle Aufgaben in Ihren Überstunden aus.c) Sie erklären dem Projektleiter, dass die Analyse den realen Aufwand widerspiegelt.

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 42

Page 47: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Auswirkungen

Erinnerung:

Kundenakzeptanz ist das primäreErfolgskriterium

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 43

Page 48: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Auswirkungen

Ausschließliche Fokussierung auf Kundenakzeptanz führt auf

• Durchführung von Anpassungen nur auf äußeren Druck• Ausschließlich inkrementelle Anpassungen• Minimale Umsetzung von Anforderungen• Kompensationslösungen und Fehlerakkumulation

Diese Merkmale finden sich analog im Prozess der natürlichen Evolution. Wir nennendaher solche Prozessrealisierungen natürlich.

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 44

Page 49: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Auswirkungen - Natürliche Prozessrealisierung

Das ist der schlechteste aller Prozesse:• Keine Nachhaltigkeit• Keine Strategie• Keine bewusste Steuerung

Diese Prozessrealisierung besitzt leider einehohe Attraktivität.

Product Cycle of Death

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 45

Page 50: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Auswirkungen - Natürliche Prozessrealisierung

Das ist der schlechteste aller Prozesse:• Keine Nachhaltigkeit• Keine Strategie• Keine bewusste Steuerung

Diese Prozessrealisierung besitzt leider einehohe Attraktivität.

Do not build features -solve problems.

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 45

Page 51: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Auswirkungen - Professional Code 1

Deklaration einer Funktion aus der C-Standardbibliothek von VS 2013:

#ifdef _UNICODE#ifndef FORMAT_VALIDATIONS#ifdef _SAFECRT_IMPL

int _woutput(#else /* _SAFECRT_IMPL */

int _woutput_l(#endif /* _SAFECRT_IMPL */

FILE* stream,#else /* FORMAT_VALIDATIONS */#ifdef POSITIONAL_PARAMETERS#ifdef _SAFECRT_IMPL

int _woutput_p(#else /* _SAFECRT_IMPL */

int _woutput_p_l(#endif /* _SAFECRT_IMPL */

FILE* stream,#else /* POSITIONAL_PARAMETERS */#ifdef _SAFECRT_IMPL

int _woutput_s(#else /* _SAFECRT_IMPL */

int _woutput_s_l(#endif /* _SAFECRT_IMPL */

FILE* stream,#endif /* POSITIONAL_PARAMETERS */#endif /* FORMAT_VALIDATIONS */#else /* _UNICODE */#ifndef FORMAT_VALIDATIONS#ifdef _SAFECRT_IMPL

int _output (#else /* _SAFECRT_IMPL */

int _output_l(#endif /* _SAFECRT_IMPL */

FILE* stream,#else /* FORMAT_VALIDATIONS */#ifdef POSITIONAL_PARAMETERS#ifdef _SAFECRT_IMPL

int _output_p(#else /* _SAFECRT_IMPL */

int _output_p_l(#endif /* _SAFECRT_IMPL */

FILE* stream,#else /* POSITIONAL_PARAMETERS */#ifdef _SAFECRT_IMPL

int _output_s(#else /* _SAFECRT_IMPL */

int _output_s_l(#endif /* _SAFECRT_IMPL */

FILE* stream,#endif /* POSITIONAL_PARAMETERS */#endif /* FORMAT_VALIDATIONS */#endif /* _UNICODE */

_TCHAR const* format,#ifndef _SAFECRT_IMPL

_locale_t locale,#endif/* _SAFECRT_IMPL */

va_list arguments){

// ...}

Quelle: [James McNellis and Kate Gregary, 2014]

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 46

Page 52: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Auswirkungen - Professional Code 2

Implementierung einer COM-basierten Funktion aus der MFC-Bibliothek:

IFileDialog* pfd = NULL;HRESULT hr = CoCreateInstance(CLSID_FileOpenDialog , NULL, CLSCTX_INPROC_SERVER , IID_PPV_ARGS(&pfd));if (SUCCEEDED(hr)) {

IFileDialogEvents* pfde = NULL;hr = CDialogEventHandler_CreateInstance(IID_PPV_ARGS(&pfde));if (SUCCEEDED(hr)) {

DWORD dwCookie;hr = pfd->Advise(pfde, &dwCookie);if (SUCCEEDED(hr)) {

DWORD dwFlags;hr = pfd->GetOptions(&dwFlags);if (SUCCEEDED(hr)) {

hr = pfd->SetOptions(dwFlags | FOS_FORCEFILESYSTEM);if (SUCCEEDED(hr)) {

hr = pfd->SetFileTypes(ARRAYSIZE(c_rgSaveTypes), c_rgSaveTypes);if (SUCCEEDED(hr)) {

hr = pfd->SetFileTypeIndex(INDEX_WORDDOC);if (SUCCEEDED(hr)) {

hr = pfd->SetDefaultExtension(L"doc;docx");if (SUCCEEDED(hr)) {

Quelle: [James McNellis and Kate Gregary, 2014]

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 47

Page 53: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Auswirkungen - Methodik

• Fließender Übergang von Prototyp zu Endprodukt

• Unvollständige Anforderungsanalyse

• Vernachlässigung von klarer innerer Struktur

• Übergehung von Design- und Kodierrichtlinien

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 48

Page 54: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Auswirkungen - Dokumentation und Tests

Situation:• Veraltete oder nicht vorhandene Konzept- und Codedokumentation• Wissenskonzentration bei wenigen Mitarbeitern• Testnotwendigkeit über alle Hierarchieebenen anerkannt• Starke Schwankungen der Testabdeckung und -granularität

Ursachen:• Schwierige Messbarkeit des langfristigen Nutzens• Hoher Arbeitsaufwand im Vergleich zu (kurzfristigem) Nutzen• Schwierige Kommunikation von Aufwänden zum Kunden

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 49

Page 55: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Gliederung

1. Vorstellung des Carl Zeiss Innovationszentrums für Messtechnik

2. Vorbemerkungen

3. Industrielle Software

4. Industrielle Rahmenbedingungen

5. Auswirkungen industrieller Rahmenbedingungen

6. Ursachen und Auswege

7. Zusammenfassung und Ausblick

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 50

Page 56: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Ursachen und Auswege - Zwischenfazit

Es besteht die Notwendigkeit eines Gegengewichtes zum Kriterium Kundenakzeptanz

zur Sicherung der Integrität der klaren inneren Struktur der Software, um

• Testen und Wartung• Erweiterung und Reorganisation• Verständnis

zu erleichtern bzw. zu ermöglichen.

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 51

Page 57: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Ursachen und Auswege

Design und Programmierung sind menschliche Aktivitäten.

Wer das vergisst, ist verloren.

Bjarne Stroustrup

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 52

Page 58: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Ursachen und Auswege

Gründe für Fehlentwicklungen in Softwareprojekten [Stapel, 2012]:

• Unvollständige, zeitlich variable Anforderungen• Mangelnde Einbeziehung der Kunden• Unrealistische Erwartungen der Kunden• Fehlende Unterstützung durch das Management• Nichtverfügbarkeit von Ressourcen

Mindestens drei der fünf Gründe haben einen psychosozialen Hintergrund.

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 53

Page 59: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Psychosoziale Hintergründe

Persönlichkeitsmerkmale als innere Faktoren:

• genereller Persönlichkeitstyp,• prägende Erfahrungen und erlernte Verhaltensmuster,• kognitive Stärken und Schwächen,• Ansprüche und Leistungsorientierung

Massive Überlagerung und negative Verstärkung durch Rahmenbedingungen als äußereFaktoren

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 54

Page 60: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Ursachen und Auswege - Yerkes & Dodson Gesetz

... das sind doch alles vernünftige, studierte Menschen ...

Vergessenkognitive Leistungsfähigkeit

Aktivierung

FehlerFixierung

DesorientierungAufmerksamkeitsstörungen

Abhängigkeit der kognitiven Leistungsfähigkeit vom Aktivierungsniveau [Wikipedia, 2015]

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 55

Page 61: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Ursachen und Auswege - Yerkes & Dodson Gesetz

Grüner Bereich:• angemessenes Maß an kognitiver Aktivierung• Raum für Kreativität, Innovativität und Leistung• Möglichkeit der Reflexion von Alternativen

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 56

Page 62: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Ursachen und Auswege - Yerkes & Dodson Gesetz

Roter Bereich:• Kampf, Flucht, Starre - Verhaltensmuster für kurze Extremsituationen• Stress und Aktionismus

Ursachen sind Situationen, die empfunden werden als:• neu, unvorhersagbar, unkontrollierbar durch das Individuum,• den sozialen Status bedrohend.

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 57

Page 63: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Ursachen und Auswege - Entwicklungsprozesse

Allgemeiner Ansatz: Formalisierung & Systematisierung

Definition von• Prozessschritten,• Richtlinien, Vorgehensweisen,• Rollen, Artefakte, Aktivitäten,• Organisationsformen, Kommunikationsformen usw.

Beispiele: V-Modell, W-Modell, Scrum, Kanban, Test Driven Development

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 58

Page 64: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Ursachen und Auswege - Entwicklungsprozesse

Agile Entwicklungsprozesse und Frameworks tragen am ehesten den erläutertenUrsachen Rechnung:

• Starker Fokus auf kommunikative Aspekte• Retrospektiven als Mittel zur Reflexion• Reduktion von Formalismen zugunsten von Selbstorganisation

• Nichtunterbrechbarkeit von Entwicklungsiterationen• Definition of Done als nicht verhandelbares Qualitätsmaß

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 59

Page 65: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Ursachen und Auswege - Entwicklungsprozesse

Aber: Auch diese Prozesse laufen immer Gefahr zugunsten der Kundenakzeptanz

untergraben zu werden.

Warum?

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 60

Page 66: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Ursachen und Auswege - Entwicklungsprozesse

Aber: Auch diese Prozesse laufen immer Gefahr zugunsten der Kundenakzeptanz

untergraben zu werden.

Die Grundprinzipien dieser Prozesse sind organisatorisch umgehbar,die Forderung nach Kundenakzeptanz nicht.

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 60

Page 67: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Ursachen und Auswege

I think any big project is about finding people you can trust,

and really then depending on that trust

Linus Torvalds

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 61

Page 68: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Gliederung

1. Vorstellung des Carl Zeiss Innovationszentrums für Messtechnik

2. Vorbemerkungen

3. Industrielle Software

4. Industrielle Rahmenbedingungen

5. Auswirkungen industrieller Rahmenbedingungen

6. Ursachen und Auswege

7. Zusammenfassung und Ausblick

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 62

Page 69: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Zusammenfassung und Ausblick

• Kundenakzeptanz ist das primäre Erfolgskriterium.• Kundenakzeptanz als alleiniges Erfolgskriterium zerstört die Software.

• Design, Refactoring, Tests und Dokumentation sind notwendig für Langfristigkeit.

• Prozesse müssen sich an Menschen anpassen, nicht umgekehrt.• Basis sind die fachlichen und sozialen Kompetenzen der Mitarbeiter.

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 63

Page 70: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Zusammenfassung und Ausblick

Funktioniert industrielle Softwareentwicklung?

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 64

Page 71: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Zusammenfassung und Ausblick

Industrielle Softwareentwicklung funktioniert, wenn

• Sie neugierig bleiben.• Sie kritisch bleiben.• Sie langfristig denken.• Sie sich einmischen.• Sie die Perspektive wechseln.

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 65

Page 72: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Zusammenfassung und Ausblick

Eine Organisation, die ihre Entwickler als Idioten behandelt,

wird bald nur noch Entwickler haben, die sich wie Idioten verhalten.

Bjarne Stroustrup

Vielen Dank für Ihre Aufmerksamkeit!

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 66

Page 73: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Quellen I

[James McNellis and Kate Gregary, 2014] James McNellis and Kate Gregary (2014).Modernizing legacy C++ code.https://github.com/CppCon/CppCon2014/blob/master/Presentations/Modernizing%20Legacy%20C%2B%2B%20Code/Modernizing%20Legacy%20C%2B%2B%20Code%20-%20Gregory%20and%20McNellis%20-%20CppCon%202014.pdf.[Online; Zugriff 8. Januar 2016].

[Lem, 1980] Lem, S. (1980).Summa technologiae.Verlag Volk und Welt Berlin.

[Lindenhahn et al., 2008] Lindenhahn, S., Günther, S., and Huber, E. (2008).Einfluss agiler Praktiken auf Teammerkmale und Erfolg von Softwareprojekten.Technical report, Fakultät fur Informatik, Otto-von-Guericke-Universität Magdeburg.

[Lupien et al., 2007] Lupien, S. J., Maheu, F., Tu, M., Fiocco, A., and Schramek, T. E. (2007).The effects of stress and stress hormones on human cognition: Implications for the field of brain and cognition.Brain and Cognition, 65:209–237.

[Merrill, 2012] Merrill, S. (2012).An interview with Linus Torvalds.http://techcrunch.com/2012/04/19/an-interview-with-millenium-technology-prize-finalist-linus-torvalds/.[Online; Zugriff 7. Januar 2016].

[Nesse and Williams, 1998] Nesse, R. M. and Williams, G. C. (1998).Warum wir krank werden.Verlag C. H. Beck München.

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 67

Page 74: Funktioniert industrielle Softwareentwicklung? - Ringvorlesung WS …st.inf.tu-dresden.de/files/teaching/ws15/ring... · 2016-01-22 · EinordnungderIZfM-Projekte-Involute Auswertung

Quellen II

[Stapel, 2012] Stapel, K. (2012).Informationsflusstheorie der Softwareentwicklung.PhD thesis, Fakultät fur Elektrotechnik und Informatik, Gottfried Wilhelm Leibniz Universität Hannover.

[Stroustrup, 2000] Stroustrup, B. (2000).Die C++ Programmiersprache.Addison Wesley.

[Wikipedia, 2015] Wikipedia (2015).Yerkes–Dodson law.https://en.wikipedia.org/wiki/Yerkes%E2%80%93Dodson_law.[Online; Zugriff 18. Januar 2016].

[Yerkes and Dodson, 1908] Yerkes, R. and Dodson, J. (1908).The relation of strength of stimulus to rapidity of habit-formation.Journal of Comparative Neurology and Psychology, 18.

Carl Zeiss Innovationszentrum für Messtechnik 18. Januar 2016 68