SlideShare a Scribd company logo
1 of 21
Download to read offline
Kurzvortrag der Pecha-Kucha-Session auf dem Java Forum Stuttgart 2017 am
06.07.2017
Philosophy screws it all up!
Wie Erkenntnistheorie unsere Softwareentwicklung beeinflusst und wie wir damit umgehen
können.
Stichworte: Fundamentale Probleme, Softwareentwicklung, Erkenntnistheorie
Abstract:
Softwareentwicklungsprojekte scheitern ab und an weder aus technischen, noch
fachlichen – ja nicht einmal aus politischen Gründen. Sind anderweitige Gründe im Spiel,
versenkt diese Art von Softwareprojektabbrüchen meist auch noch extrem viel Geld. Es ist
unheimlich, dass wir diese Fälle nicht wirklich begründen können und daher vor allem
nicht herausbekommen, woran es wohl wirklich gelegen hat. Es müssen somit noch
andere, grundsätzliche Aspekte eine Rolle spielen, welche nicht sofort offensichtlich sind.
In diesem Pecha-Kucha-Vortrag ergründe ich mit Hilfe der philosophischen Disziplin der
Erkenntnistheorie – der Theorie des Wissens – einige der nicht augenscheinlichen, jedoch
immer vorhandenen Probleme der Softwareentwicklung. Die vorgestellten
„erkenntnistheoretischen Dilemmata“ begegnen uns immer, wenn wir es mit Wissen zu tun
haben. Softwareentwicklung ist die Implementierung von Wissen in Code. Daher sind auch
wir – ob wir es wollen oder nicht – immer von diesen Dilemmata betroffen.
Es gibt jedoch Hoffnung: Sind diese Grundprobleme erst einmal bekannt, können wir sie
nutzen, um unsere eigene Arbeit – unser Vorgehen, unserer eingesetzten Methoden und
Praktiken in der Softwareentwicklung – nach objektiven Kriterien zu beurteilen und zu
verbessern. Konkret zeige ich, wie sich die normative Wissenschaft der Erkenntnistheorie
ganz praktisch als „Messwerkzeug“ verwenden lässt. Dazu stelle ich ihre Einflussnahme
auf softwaretechnische Praktiken anhand von Praxisbeispielen vor. Meine Kernziele sind
es, die Dilemmata kurz und prägnant darzustellen, handhabbar zu machen und
praxisorientierte Lösungsansätze zum Umgang mit ihnen aufzuzeigen.
Über den Referenten:
Markus Harrer arbeitet seit über zehn Jahren in der Softwareentwicklung an Hochschule,
Forschungsinstitut und Softwareunternehmen. Seine Spezialgebiete sind Clean Code,
Softwaresanierung und Software Analytics. Derzeit entwickelt er
Unternehmensanwendungen in Java und hilft durch die Analyse von Softwareartefakten,
nachvollziehbar Verbesserungsmaßnahmen für Softwareprodukte zu erarbeiten. Privat
erforscht er einige fundamentale Probleme der Softwareentwicklung und versucht, diese
mit Hilfe von Erkenntnistheorie und Verhaltensökonomik zu veranschaulichen.
1
https://en.wikipedia.org/wiki/File:Einstein_tongue.jpg
„Die Definition des Wahnsinns ist, immer dasselbe zu tun
und ein anderes Ergebnis zu erwarten." – Albert Einstein
Willkommen in der Softwareentwicklung, wo wir seit über 50
Jahren denken, dass der Einsatz der neuesten Technologie
all unsere alten Probleme lösen wird.
Und doch scheitern unsere Projekte spektakulärer als je
zuvor.
2
https://www.flickr.com/photos/mararie/5380156369/
Wir denken dann oft es liegt an der Technik oder am
Vorgehen, dass wir einsetzen.
Aber es ist viel schlimmer:
Die Probleme, mit denen wir kämpfen, haben auch
philosophische Qualität.
D. h. diese Probleme können nicht gelöst werden – sie sind
Dilemmas.
Eine philosophische Disziplin, die uns besonders
betrifft, ist...
3
https://www.flickr.com/photos/tesschamakkala/2956927902
… die Erkenntnistheorie – Die Theorie des Wissens.
Sie beschäftigt sich vor allem mit zwei Fragen:
„Was ist Wissen?“ und, viel wichtiger,
„Gibt es überhaupt so etwas wie Wissen?“
Auch die Erkenntnistheorie zeigt uns keine
Lösungen, sondern nur wieder verschiedene
Dilemmas, welche im Umgang mit Wissen entstehen.
4
https://www.flickr.com/photos/sklathill/259520299/
Und gerade wir Softwareentwickler sind besonders
von diesen erkenntnistheoretischen Dilemmas
betroffen – wir gießen Wissen in Code.
Wir können aber die Dilemmas nutzen, um unser
eigenes Vorgehen – unsere Handlungen und
Arbeitsweisen zu reflektieren und stetig zu
verbessern.
Was sind diese Dilemmas?
5
https://www.flickr.com/photos/ncindc/10488778795
Ein Beispiel: Nehmen wir einmal an, wir gehen in ein
Unternehmen und wollen dort einen realen
Geschäftsprozess in ein Modell abbilden.
- Wo fangen wir an?
- Wo startet der Prozess?
- Wo hört er auf?
- Was gehört dazu?
- Was lassen wir weg?
- Wie nehmen wir den Geschäftsprozess auf?
- Ist das Mittel zur Aufnahme das Richtige?
Die Dilemmas der Abbildung stellen genau diese
Fragen...
6
https://www.flickr.com/photos/pinkmarina/3030137927
...und sagen uns, dass wir immer nur temporäre
Beobachtungen vornehmen – gefiltert durch unsere
Wahrnehmungsfähigkeiten – und dass nur für einen
mehr oder weniger zufälligen Ausschnitt.
Sie sagen auch, dass eine 1:1 Beziehung zwischen
der Realität (was das auch immer ist) und Modell
nicht existieren kann.
Wir sehen nie alles.
7
https://www.flickr.com/photos/purple-lover/13583362554/
Aber dennoch tun wir oft so, als ob dem nicht so sei.
Wir versuchen z. B. immer noch
unternehmensweite Datenmodelle zu schaffen:
„Ein Modell, um sie zu knechten, sie heimzusuchen,
ins Dunkel zu treiben und ewig zu binden“ – und sei
es als Maven Dependency.
Wir beachten hier aber nicht die
Perspektivengebundenheit des Wissens:
8
https://meditacionesdeldia.com/2014/09/25/vemos-lo-que-vemos-no-lo-que-es/
Wissen gilt immer nur in einen bestimmten Kontext –
und dieser Kontext verändert sich relativ zu Zeit, Ort,
Kultur und Personen.
Wenn wir also ein Modell erstellen, kann dies nur aus
einer bestimmten Perspektive heraus passieren – in
einem bestimmten Kontext – nie global für alles
Mögliche.
9
https://www.flickr.com/photos/masaisrael/6812637403/
Aber wie kommen wir überhaupt zu Wissen?
Wir fragen z. B. einen Mitarbeiter, der sich mit einem
bestimmten Thema auskennt.
Was passiert, wenn wir ihn befragen?
Wir werden mit den Dilemmas der gegenseitigen
Beeinflussung konfrontiert.
Wir erhalten seine Antworten oder sein Wissen „unter
Beobachtung“.
10
https://www.flickr.com/photos/vlastimil_koutecky/9490584567https://www.flickr.com/photos/janitors/14996638702/
Umgekehrt werden wir durch den Mitarbeiter
beobachtet und selbst beeinflusst.
Wir interagieren also direkt mit dem Gegenstand,
dem Subjekt, das wir eigentlich nur objektiv
beobachten wollten.
Unser Wissen über die Begriffe und Abläufe passt
sich somit gegenseitig an.
Das Ganze können wir noch ein wenig
weitertreiben...
11
https://www.flickr.com/photos/gogg/5143232897/
...wenn wir in Gruppen interagieren.
Hier unterliegen wir sehr stark dem Dilemma der
Kohärenzbildung:
Wir bilden uns unsere eigene Welt aus dem für uns
richtigem Wissen. Das heißt aber gleichzeitig, wir
weisen fundamental anderes Wissen ab.
Aber wenn genau hier die eigentlichen Wünsche des
Kunden stecken, ...
12
https://www.flickr.com/photos/51686021@N07/33230171512
...ist das eine tickende Zeitbombe, die früher oder
später losgeht und Projekte katastrophal scheitern
lässt – und niemand hat es kommen sehen!
Verdammt viele unlösbare Probleme. Aber was
können wir jetzt machen?
13
https://www.flickr.com/photos/149368236@N06/33882279845/
Zuerst einmal hilft es anzuerkennen, dass die
Geschäftswelt da draußen dreckig und chaotisch ist –
wir haben keine Chance sie 1:1 zu modellieren
Und: Es gibt nichts absolut Richtiges oder Falsches –
auch bei Entscheidungen!
Das zu akzeptieren, entspannt die ganze Sache erst
einmal.
Wir können aber auch die Erkenntnistheorie direkt
und ganz konkret in unsere Arbeit mit aufnehmen:
14
https://de.wikipedia.org/wiki/Datei:Vassily_Kandinsky,_1923_-_Composition_8,_huile_sur_toile,_140_cm_x_201_cm,_Mus%C3%A9e_Guggenheim,_New_York.jpg
Wir können z. B. akzeptieren, dass es
unterschiedliche Sichten auf die Dinge im
Unternehmen gibt und diese Vielfältigkeit in unsere
Software unterstützen.
Kein ultimatives Framework oder globales
Datenmodell mehr, sondern getrennte, spezialisierte
Bereiche, in denen Wissen im jeweiligen Kontext
aufleben kann.
Ja, das ist verdammt viel Arbeit!
15
https://www.flickr.com/photos/83863691@N00/4133793660
Um das zu schaffen, müssen wir vereinfachen und
alles abschneiden, was wir nicht unbedingt brauchen.
Je weniger wir machen, desto weniger können wir
falsch liegen.
Nicht alles mögliche selbst implementieren, sondern
nur das, was das Kerngeschäft eines Unternehmens
wirklich unterstützt.
Das erfordert auch Mut zur Kommunikation und
Transparenz:
16
https://www.flickr.com/photos/stuartpilbrow/3565808509/
Wir müssen zugeben, wenn für uns etwas nicht klar
genug ist. Aber wir müssen ansprechen, wenn wir
denken, dass der Kunde sich selbst nicht im Klaren
über seine Wünsche oder sein Geschäft ist.
Wir können auch unsere eigenen Annahmen oder
Hypothesen mittels Zahlen, Daten Fakten validieren
oder widerlegen – und damit unser Bauchgefühl –
das was wir glauben zu Wissen – explizit machen.
17
https://www.flickr.com/photos/xavier-albaladejo/7400020870/
Wir müssen Software schrittweise, induktiv an das
Wissen annähern – und sind uns dabei aber immer
bewusst, dass es eine ultimative Softwarelösung
nicht geben kann.
Und das alles immer mit dem Blick auf die
erkenntnistheoretische Dilemmas, um unser eigenes
Vorgehen – unsere Handlungen und Arbeitsweisen –
zu reflektieren und stetig zu verbessern.
18
Und wir haben ja sogar schon ein paar Praktiken
gefunden, welche sich bisher noch nicht als komplett
falsch herausgestellt haben.
Z. B. Extreme Programming, welches sich mittels
Transparenz und einem iterativen Vorgehen
schrittweise an akzeptabel Lösungen annähert –
die enge Zusammenarbeit mit den Wissensträgern
aktiv forciert und auf Einfachheit abzielt
19
Und Domain Driven Design,
welches explizit versucht, verschiedene
Begriffswelten durch eine gemeinsame Ubiquitous
Language zu vereinen und kontextabhängige
Modelle in Bounded Contexts als ein strategisches
Mittel zur Softwaremodellierung vorschlägt.
20
https://www.flickr.com/photos/17094005@N00/33943802385
Ich hoffe, dass wir Softwareentwickler zukünftig
weiter solche Praktiken schaffen, die die Dilemmas
der Erkenntnistheorie bereits Out-of-the-Box
beachten.
Ich denke, dass wir dann zwar augenscheinlich
immer dasselbe tun, aber doch stetig bessere
Ergebnisse erhalten.
Vielen Dank!

More Related Content

What's hot

Lean Startup: Wie sieht der Einsatz von MVPs in der deutschen Praxis aus?
Lean Startup: Wie sieht der Einsatz von MVPs in der deutschen Praxis aus?Lean Startup: Wie sieht der Einsatz von MVPs in der deutschen Praxis aus?
Lean Startup: Wie sieht der Einsatz von MVPs in der deutschen Praxis aus?Gregor Gross
 
Design Thinking - Wie innovative Lösungen für komplexe Probleme entstehen kön...
Design Thinking - Wie innovative Lösungen für komplexe Probleme entstehen kön...Design Thinking - Wie innovative Lösungen für komplexe Probleme entstehen kön...
Design Thinking - Wie innovative Lösungen für komplexe Probleme entstehen kön...Jochen Guertler
 
Ein Bild sagt mehr als tausend Worte - Visual Thinking in der B2B-Kommunikation
Ein Bild sagt mehr als tausend Worte - Visual Thinking in der B2B-KommunikationEin Bild sagt mehr als tausend Worte - Visual Thinking in der B2B-Kommunikation
Ein Bild sagt mehr als tausend Worte - Visual Thinking in der B2B-KommunikationDeutsches Institut für Marketing
 
Lean Startup und agile Methodiken – Hype oder Fortschritt ?
Lean Startup und agile Methodiken – Hype oder Fortschritt ?Lean Startup und agile Methodiken – Hype oder Fortschritt ?
Lean Startup und agile Methodiken – Hype oder Fortschritt ?Heico Koch
 
Corporate Startup: Disruptive Innovation mit Lean Startup & Design Thinking
Corporate Startup: Disruptive Innovation mit Lean Startup & Design ThinkingCorporate Startup: Disruptive Innovation mit Lean Startup & Design Thinking
Corporate Startup: Disruptive Innovation mit Lean Startup & Design ThinkingInstitute for Business Innovation
 
Innovation Ohne Risiko - Lean Startup für Unternehmen
Innovation Ohne Risiko - Lean Startup für UnternehmenInnovation Ohne Risiko - Lean Startup für Unternehmen
Innovation Ohne Risiko - Lean Startup für UnternehmenMax Völkel
 
Lean Startup im Unternehmen - der IT-Leiter als Entrepreneur?
Lean Startup im Unternehmen - der IT-Leiter als Entrepreneur?Lean Startup im Unternehmen - der IT-Leiter als Entrepreneur?
Lean Startup im Unternehmen - der IT-Leiter als Entrepreneur?Stefan ROOCK
 
Lean Startup auf der Nacht des Wissens, Hamburg
Lean Startup auf der Nacht des Wissens, HamburgLean Startup auf der Nacht des Wissens, Hamburg
Lean Startup auf der Nacht des Wissens, HamburgGregor Gross
 
Connected Leadership Modul 2 Vernetzung: Umgang mit Isolation
Connected Leadership Modul 2 Vernetzung: Umgang mit IsolationConnected Leadership Modul 2 Vernetzung: Umgang mit Isolation
Connected Leadership Modul 2 Vernetzung: Umgang mit IsolationSabineKluge1
 
Diversität und ihre Effekte in unternehmen 2021
Diversität und ihre Effekte in unternehmen 2021Diversität und ihre Effekte in unternehmen 2021
Diversität und ihre Effekte in unternehmen 2021SabineKluge1
 
design thinking - das kleingedruckte
design thinking - das kleingedrucktedesign thinking - das kleingedruckte
design thinking - das kleingedrucktegezeitenraum gbr
 
2017-09-28, swk Team Jahrestagung
2017-09-28, swk Team Jahrestagung2017-09-28, swk Team Jahrestagung
2017-09-28, swk Team JahrestagungDr. Ralf Koelbach
 

What's hot (12)

Lean Startup: Wie sieht der Einsatz von MVPs in der deutschen Praxis aus?
Lean Startup: Wie sieht der Einsatz von MVPs in der deutschen Praxis aus?Lean Startup: Wie sieht der Einsatz von MVPs in der deutschen Praxis aus?
Lean Startup: Wie sieht der Einsatz von MVPs in der deutschen Praxis aus?
 
Design Thinking - Wie innovative Lösungen für komplexe Probleme entstehen kön...
Design Thinking - Wie innovative Lösungen für komplexe Probleme entstehen kön...Design Thinking - Wie innovative Lösungen für komplexe Probleme entstehen kön...
Design Thinking - Wie innovative Lösungen für komplexe Probleme entstehen kön...
 
Ein Bild sagt mehr als tausend Worte - Visual Thinking in der B2B-Kommunikation
Ein Bild sagt mehr als tausend Worte - Visual Thinking in der B2B-KommunikationEin Bild sagt mehr als tausend Worte - Visual Thinking in der B2B-Kommunikation
Ein Bild sagt mehr als tausend Worte - Visual Thinking in der B2B-Kommunikation
 
Lean Startup und agile Methodiken – Hype oder Fortschritt ?
Lean Startup und agile Methodiken – Hype oder Fortschritt ?Lean Startup und agile Methodiken – Hype oder Fortschritt ?
Lean Startup und agile Methodiken – Hype oder Fortschritt ?
 
Corporate Startup: Disruptive Innovation mit Lean Startup & Design Thinking
Corporate Startup: Disruptive Innovation mit Lean Startup & Design ThinkingCorporate Startup: Disruptive Innovation mit Lean Startup & Design Thinking
Corporate Startup: Disruptive Innovation mit Lean Startup & Design Thinking
 
Innovation Ohne Risiko - Lean Startup für Unternehmen
Innovation Ohne Risiko - Lean Startup für UnternehmenInnovation Ohne Risiko - Lean Startup für Unternehmen
Innovation Ohne Risiko - Lean Startup für Unternehmen
 
Lean Startup im Unternehmen - der IT-Leiter als Entrepreneur?
Lean Startup im Unternehmen - der IT-Leiter als Entrepreneur?Lean Startup im Unternehmen - der IT-Leiter als Entrepreneur?
Lean Startup im Unternehmen - der IT-Leiter als Entrepreneur?
 
Lean Startup auf der Nacht des Wissens, Hamburg
Lean Startup auf der Nacht des Wissens, HamburgLean Startup auf der Nacht des Wissens, Hamburg
Lean Startup auf der Nacht des Wissens, Hamburg
 
Connected Leadership Modul 2 Vernetzung: Umgang mit Isolation
Connected Leadership Modul 2 Vernetzung: Umgang mit IsolationConnected Leadership Modul 2 Vernetzung: Umgang mit Isolation
Connected Leadership Modul 2 Vernetzung: Umgang mit Isolation
 
Diversität und ihre Effekte in unternehmen 2021
Diversität und ihre Effekte in unternehmen 2021Diversität und ihre Effekte in unternehmen 2021
Diversität und ihre Effekte in unternehmen 2021
 
design thinking - das kleingedruckte
design thinking - das kleingedrucktedesign thinking - das kleingedruckte
design thinking - das kleingedruckte
 
2017-09-28, swk Team Jahrestagung
2017-09-28, swk Team Jahrestagung2017-09-28, swk Team Jahrestagung
2017-09-28, swk Team Jahrestagung
 

Similar to Philosophy screws it all up (Pecha Kucha) [Java Forum Stuttgart 2017]

Datenanalysen in der Softwareentwicklung mit Software Analytics
Datenanalysen in der Softwareentwicklung mit Software AnalyticsDatenanalysen in der Softwareentwicklung mit Software Analytics
Datenanalysen in der Softwareentwicklung mit Software AnalyticsMarkus Harrer
 
Die Studierende von heute sind die Designer der Zukunft
Die Studierende von heute sind die Designer der ZukunftDie Studierende von heute sind die Designer der Zukunft
Die Studierende von heute sind die Designer der ZukunftZwetana Penova
 
Akzeptanz von Social Software: Umfrageergebnisse der WiMa-Tage 2014 + Maßnahmen
Akzeptanz von Social Software: Umfrageergebnisse der WiMa-Tage 2014 + MaßnahmenAkzeptanz von Social Software: Umfrageergebnisse der WiMa-Tage 2014 + Maßnahmen
Akzeptanz von Social Software: Umfrageergebnisse der WiMa-Tage 2014 + Maßnahmennetmedianer GmbH
 
Newsletter 8 - Lego statt Ego
Newsletter 8 - Lego statt EgoNewsletter 8 - Lego statt Ego
Newsletter 8 - Lego statt Egoemotion banking
 
Nachhaltigkeit erreichen - Adaption - Innovation und Vernetzung als Führungsa...
Nachhaltigkeit erreichen - Adaption - Innovation und Vernetzung als Führungsa...Nachhaltigkeit erreichen - Adaption - Innovation und Vernetzung als Führungsa...
Nachhaltigkeit erreichen - Adaption - Innovation und Vernetzung als Führungsa...Heinz Peter Wallner
 
Profile Roman Rackwitz (deutsch)
Profile Roman Rackwitz (deutsch)Profile Roman Rackwitz (deutsch)
Profile Roman Rackwitz (deutsch)Roman Rackwitz
 
Gute Fehlerkultur - Phänomen, Widerspruch oder erstrebenswerter Zustand?
Gute Fehlerkultur - Phänomen, Widerspruch oder erstrebenswerter Zustand?Gute Fehlerkultur - Phänomen, Widerspruch oder erstrebenswerter Zustand?
Gute Fehlerkultur - Phänomen, Widerspruch oder erstrebenswerter Zustand?Birgit Mallow
 
HR Innovation Day 2019 - Workshop von Birgit Mallow
HR Innovation Day 2019 - Workshop von Birgit MallowHR Innovation Day 2019 - Workshop von Birgit Mallow
HR Innovation Day 2019 - Workshop von Birgit MallowBirgit Mallow
 
E-Commerce Organisationsstrukturen
E-Commerce OrganisationsstrukturenE-Commerce Organisationsstrukturen
E-Commerce OrganisationsstrukturenBjörn Schotte
 
Theorie U als Innovationsframework
Theorie U als InnovationsframeworkTheorie U als Innovationsframework
Theorie U als InnovationsframeworkMichael Wyrsch
 
Social Intranet Handbuch
Social Intranet HandbuchSocial Intranet Handbuch
Social Intranet HandbuchMichael Hafner
 
Design-als-epistemischer-Prozess_InteraktionHochschule
Design-als-epistemischer-Prozess_InteraktionHochschuleDesign-als-epistemischer-Prozess_InteraktionHochschule
Design-als-epistemischer-Prozess_InteraktionHochschuleHeidrun Allert
 
Fehlerkultur mcn-knowledge-day26-06-2015
Fehlerkultur mcn-knowledge-day26-06-2015Fehlerkultur mcn-knowledge-day26-06-2015
Fehlerkultur mcn-knowledge-day26-06-2015Gerd Kopetsch
 
Gute Fehlerkultur braucht WERTEorientierte Führung
Gute Fehlerkultur braucht WERTEorientierte FührungGute Fehlerkultur braucht WERTEorientierte Führung
Gute Fehlerkultur braucht WERTEorientierte FührungBirgit Mallow
 
Zukunft machen
Zukunft machen Zukunft machen
Zukunft machen jhuber_
 
Innovation – Vor der Idee steht die richtige Fragestellung
Innovation – Vor der Idee steht die richtige FragestellungInnovation – Vor der Idee steht die richtige Fragestellung
Innovation – Vor der Idee steht die richtige FragestellungMe & Company GmbH
 
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...Mayflower GmbH
 

Similar to Philosophy screws it all up (Pecha Kucha) [Java Forum Stuttgart 2017] (20)

Datenanalysen in der Softwareentwicklung mit Software Analytics
Datenanalysen in der Softwareentwicklung mit Software AnalyticsDatenanalysen in der Softwareentwicklung mit Software Analytics
Datenanalysen in der Softwareentwicklung mit Software Analytics
 
Die Studierende von heute sind die Designer der Zukunft
Die Studierende von heute sind die Designer der ZukunftDie Studierende von heute sind die Designer der Zukunft
Die Studierende von heute sind die Designer der Zukunft
 
Akzeptanz von Social Software: Umfrageergebnisse der WiMa-Tage 2014 + Maßnahmen
Akzeptanz von Social Software: Umfrageergebnisse der WiMa-Tage 2014 + MaßnahmenAkzeptanz von Social Software: Umfrageergebnisse der WiMa-Tage 2014 + Maßnahmen
Akzeptanz von Social Software: Umfrageergebnisse der WiMa-Tage 2014 + Maßnahmen
 
Newsletter 8 - Lego statt Ego
Newsletter 8 - Lego statt EgoNewsletter 8 - Lego statt Ego
Newsletter 8 - Lego statt Ego
 
Nachhaltigkeit erreichen - Adaption - Innovation und Vernetzung als Führungsa...
Nachhaltigkeit erreichen - Adaption - Innovation und Vernetzung als Führungsa...Nachhaltigkeit erreichen - Adaption - Innovation und Vernetzung als Führungsa...
Nachhaltigkeit erreichen - Adaption - Innovation und Vernetzung als Führungsa...
 
Profile Roman Rackwitz (deutsch)
Profile Roman Rackwitz (deutsch)Profile Roman Rackwitz (deutsch)
Profile Roman Rackwitz (deutsch)
 
Gute Fehlerkultur - Phänomen, Widerspruch oder erstrebenswerter Zustand?
Gute Fehlerkultur - Phänomen, Widerspruch oder erstrebenswerter Zustand?Gute Fehlerkultur - Phänomen, Widerspruch oder erstrebenswerter Zustand?
Gute Fehlerkultur - Phänomen, Widerspruch oder erstrebenswerter Zustand?
 
HR Innovation Day 2019 - Workshop von Birgit Mallow
HR Innovation Day 2019 - Workshop von Birgit MallowHR Innovation Day 2019 - Workshop von Birgit Mallow
HR Innovation Day 2019 - Workshop von Birgit Mallow
 
E-Commerce Organisationsstrukturen
E-Commerce OrganisationsstrukturenE-Commerce Organisationsstrukturen
E-Commerce Organisationsstrukturen
 
Theorie U als Innovationsframework
Theorie U als InnovationsframeworkTheorie U als Innovationsframework
Theorie U als Innovationsframework
 
Social Intranet Handbuch
Social Intranet HandbuchSocial Intranet Handbuch
Social Intranet Handbuch
 
40° Zukunftsseminare
40° Zukunftsseminare40° Zukunftsseminare
40° Zukunftsseminare
 
Entrepreneurship für praktiker 1
Entrepreneurship für praktiker 1Entrepreneurship für praktiker 1
Entrepreneurship für praktiker 1
 
Design-als-epistemischer-Prozess_InteraktionHochschule
Design-als-epistemischer-Prozess_InteraktionHochschuleDesign-als-epistemischer-Prozess_InteraktionHochschule
Design-als-epistemischer-Prozess_InteraktionHochschule
 
Fehlerkultur mcn-knowledge-day26-06-2015
Fehlerkultur mcn-knowledge-day26-06-2015Fehlerkultur mcn-knowledge-day26-06-2015
Fehlerkultur mcn-knowledge-day26-06-2015
 
Gute Fehlerkultur braucht WERTEorientierte Führung
Gute Fehlerkultur braucht WERTEorientierte FührungGute Fehlerkultur braucht WERTEorientierte Führung
Gute Fehlerkultur braucht WERTEorientierte Führung
 
ITprofits Berlin 20110512
ITprofits Berlin 20110512ITprofits Berlin 20110512
ITprofits Berlin 20110512
 
Zukunft machen
Zukunft machen Zukunft machen
Zukunft machen
 
Innovation – Vor der Idee steht die richtige Fragestellung
Innovation – Vor der Idee steht die richtige FragestellungInnovation – Vor der Idee steht die richtige Fragestellung
Innovation – Vor der Idee steht die richtige Fragestellung
 
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
 

More from Markus Harrer

Datenanalysen in der Softwareentwicklung (IMPROVE Workshop Wien)
Datenanalysen in der Softwareentwicklung (IMPROVE Workshop Wien)Datenanalysen in der Softwareentwicklung (IMPROVE Workshop Wien)
Datenanalysen in der Softwareentwicklung (IMPROVE Workshop Wien)Markus Harrer
 
Software Analytics with Jupyter, Pandas, jQAssistant, and Neo4j [Neo4j Online...
Software Analytics with Jupyter, Pandas, jQAssistant, and Neo4j [Neo4j Online...Software Analytics with Jupyter, Pandas, jQAssistant, and Neo4j [Neo4j Online...
Software Analytics with Jupyter, Pandas, jQAssistant, and Neo4j [Neo4j Online...Markus Harrer
 
Architektur und Code im Einklang [JUG Nürnberg]
Architektur und Code im Einklang [JUG Nürnberg]Architektur und Code im Einklang [JUG Nürnberg]
Architektur und Code im Einklang [JUG Nürnberg]Markus Harrer
 
Architektur und Code im Einklang [DeveloperCamp 2017]
Architektur und Code im Einklang [DeveloperCamp 2017]Architektur und Code im Einklang [DeveloperCamp 2017]
Architektur und Code im Einklang [DeveloperCamp 2017]Markus Harrer
 
Nachvollziehbare, datengetriebene, automatisierte Analysen der Softwareentwic...
Nachvollziehbare, datengetriebene, automatisierte Analysen der Softwareentwic...Nachvollziehbare, datengetriebene, automatisierte Analysen der Softwareentwic...
Nachvollziehbare, datengetriebene, automatisierte Analysen der Softwareentwic...Markus Harrer
 
Software Analytics for Pragmatists [DevOps Camp 2017]
Software Analytics for Pragmatists [DevOps Camp 2017]Software Analytics for Pragmatists [DevOps Camp 2017]
Software Analytics for Pragmatists [DevOps Camp 2017]Markus Harrer
 
Einsatzmöglichkeiten der automatisierten Analyse von Artefakten und Metadaten...
Einsatzmöglichkeiten der automatisierten Analyse von Artefakten und Metadaten...Einsatzmöglichkeiten der automatisierten Analyse von Artefakten und Metadaten...
Einsatzmöglichkeiten der automatisierten Analyse von Artefakten und Metadaten...Markus Harrer
 
Erkenntnistheoretische Beurteilung von Extreme Programming
Erkenntnistheoretische Beurteilung von Extreme ProgrammingErkenntnistheoretische Beurteilung von Extreme Programming
Erkenntnistheoretische Beurteilung von Extreme ProgrammingMarkus Harrer
 
An interactive form-based mobile software system with a sample application in...
An interactive form-based mobile software system with a sample application in...An interactive form-based mobile software system with a sample application in...
An interactive form-based mobile software system with a sample application in...Markus Harrer
 
Erkenntnistheoretische Beurteilung von Extreme Programming
Erkenntnistheoretische Beurteilung von Extreme ProgrammingErkenntnistheoretische Beurteilung von Extreme Programming
Erkenntnistheoretische Beurteilung von Extreme ProgrammingMarkus Harrer
 

More from Markus Harrer (10)

Datenanalysen in der Softwareentwicklung (IMPROVE Workshop Wien)
Datenanalysen in der Softwareentwicklung (IMPROVE Workshop Wien)Datenanalysen in der Softwareentwicklung (IMPROVE Workshop Wien)
Datenanalysen in der Softwareentwicklung (IMPROVE Workshop Wien)
 
Software Analytics with Jupyter, Pandas, jQAssistant, and Neo4j [Neo4j Online...
Software Analytics with Jupyter, Pandas, jQAssistant, and Neo4j [Neo4j Online...Software Analytics with Jupyter, Pandas, jQAssistant, and Neo4j [Neo4j Online...
Software Analytics with Jupyter, Pandas, jQAssistant, and Neo4j [Neo4j Online...
 
Architektur und Code im Einklang [JUG Nürnberg]
Architektur und Code im Einklang [JUG Nürnberg]Architektur und Code im Einklang [JUG Nürnberg]
Architektur und Code im Einklang [JUG Nürnberg]
 
Architektur und Code im Einklang [DeveloperCamp 2017]
Architektur und Code im Einklang [DeveloperCamp 2017]Architektur und Code im Einklang [DeveloperCamp 2017]
Architektur und Code im Einklang [DeveloperCamp 2017]
 
Nachvollziehbare, datengetriebene, automatisierte Analysen der Softwareentwic...
Nachvollziehbare, datengetriebene, automatisierte Analysen der Softwareentwic...Nachvollziehbare, datengetriebene, automatisierte Analysen der Softwareentwic...
Nachvollziehbare, datengetriebene, automatisierte Analysen der Softwareentwic...
 
Software Analytics for Pragmatists [DevOps Camp 2017]
Software Analytics for Pragmatists [DevOps Camp 2017]Software Analytics for Pragmatists [DevOps Camp 2017]
Software Analytics for Pragmatists [DevOps Camp 2017]
 
Einsatzmöglichkeiten der automatisierten Analyse von Artefakten und Metadaten...
Einsatzmöglichkeiten der automatisierten Analyse von Artefakten und Metadaten...Einsatzmöglichkeiten der automatisierten Analyse von Artefakten und Metadaten...
Einsatzmöglichkeiten der automatisierten Analyse von Artefakten und Metadaten...
 
Erkenntnistheoretische Beurteilung von Extreme Programming
Erkenntnistheoretische Beurteilung von Extreme ProgrammingErkenntnistheoretische Beurteilung von Extreme Programming
Erkenntnistheoretische Beurteilung von Extreme Programming
 
An interactive form-based mobile software system with a sample application in...
An interactive form-based mobile software system with a sample application in...An interactive form-based mobile software system with a sample application in...
An interactive form-based mobile software system with a sample application in...
 
Erkenntnistheoretische Beurteilung von Extreme Programming
Erkenntnistheoretische Beurteilung von Extreme ProgrammingErkenntnistheoretische Beurteilung von Extreme Programming
Erkenntnistheoretische Beurteilung von Extreme Programming
 

Philosophy screws it all up (Pecha Kucha) [Java Forum Stuttgart 2017]

  • 1. Kurzvortrag der Pecha-Kucha-Session auf dem Java Forum Stuttgart 2017 am 06.07.2017 Philosophy screws it all up! Wie Erkenntnistheorie unsere Softwareentwicklung beeinflusst und wie wir damit umgehen können. Stichworte: Fundamentale Probleme, Softwareentwicklung, Erkenntnistheorie Abstract: Softwareentwicklungsprojekte scheitern ab und an weder aus technischen, noch fachlichen – ja nicht einmal aus politischen Gründen. Sind anderweitige Gründe im Spiel, versenkt diese Art von Softwareprojektabbrüchen meist auch noch extrem viel Geld. Es ist unheimlich, dass wir diese Fälle nicht wirklich begründen können und daher vor allem nicht herausbekommen, woran es wohl wirklich gelegen hat. Es müssen somit noch andere, grundsätzliche Aspekte eine Rolle spielen, welche nicht sofort offensichtlich sind. In diesem Pecha-Kucha-Vortrag ergründe ich mit Hilfe der philosophischen Disziplin der Erkenntnistheorie – der Theorie des Wissens – einige der nicht augenscheinlichen, jedoch immer vorhandenen Probleme der Softwareentwicklung. Die vorgestellten „erkenntnistheoretischen Dilemmata“ begegnen uns immer, wenn wir es mit Wissen zu tun haben. Softwareentwicklung ist die Implementierung von Wissen in Code. Daher sind auch wir – ob wir es wollen oder nicht – immer von diesen Dilemmata betroffen. Es gibt jedoch Hoffnung: Sind diese Grundprobleme erst einmal bekannt, können wir sie nutzen, um unsere eigene Arbeit – unser Vorgehen, unserer eingesetzten Methoden und Praktiken in der Softwareentwicklung – nach objektiven Kriterien zu beurteilen und zu verbessern. Konkret zeige ich, wie sich die normative Wissenschaft der Erkenntnistheorie ganz praktisch als „Messwerkzeug“ verwenden lässt. Dazu stelle ich ihre Einflussnahme auf softwaretechnische Praktiken anhand von Praxisbeispielen vor. Meine Kernziele sind es, die Dilemmata kurz und prägnant darzustellen, handhabbar zu machen und praxisorientierte Lösungsansätze zum Umgang mit ihnen aufzuzeigen. Über den Referenten: Markus Harrer arbeitet seit über zehn Jahren in der Softwareentwicklung an Hochschule, Forschungsinstitut und Softwareunternehmen. Seine Spezialgebiete sind Clean Code, Softwaresanierung und Software Analytics. Derzeit entwickelt er Unternehmensanwendungen in Java und hilft durch die Analyse von Softwareartefakten, nachvollziehbar Verbesserungsmaßnahmen für Softwareprodukte zu erarbeiten. Privat erforscht er einige fundamentale Probleme der Softwareentwicklung und versucht, diese mit Hilfe von Erkenntnistheorie und Verhaltensökonomik zu veranschaulichen.
  • 2. 1 https://en.wikipedia.org/wiki/File:Einstein_tongue.jpg „Die Definition des Wahnsinns ist, immer dasselbe zu tun und ein anderes Ergebnis zu erwarten." – Albert Einstein Willkommen in der Softwareentwicklung, wo wir seit über 50 Jahren denken, dass der Einsatz der neuesten Technologie all unsere alten Probleme lösen wird. Und doch scheitern unsere Projekte spektakulärer als je zuvor.
  • 3. 2 https://www.flickr.com/photos/mararie/5380156369/ Wir denken dann oft es liegt an der Technik oder am Vorgehen, dass wir einsetzen. Aber es ist viel schlimmer: Die Probleme, mit denen wir kämpfen, haben auch philosophische Qualität. D. h. diese Probleme können nicht gelöst werden – sie sind Dilemmas. Eine philosophische Disziplin, die uns besonders betrifft, ist...
  • 4. 3 https://www.flickr.com/photos/tesschamakkala/2956927902 … die Erkenntnistheorie – Die Theorie des Wissens. Sie beschäftigt sich vor allem mit zwei Fragen: „Was ist Wissen?“ und, viel wichtiger, „Gibt es überhaupt so etwas wie Wissen?“ Auch die Erkenntnistheorie zeigt uns keine Lösungen, sondern nur wieder verschiedene Dilemmas, welche im Umgang mit Wissen entstehen.
  • 5. 4 https://www.flickr.com/photos/sklathill/259520299/ Und gerade wir Softwareentwickler sind besonders von diesen erkenntnistheoretischen Dilemmas betroffen – wir gießen Wissen in Code. Wir können aber die Dilemmas nutzen, um unser eigenes Vorgehen – unsere Handlungen und Arbeitsweisen zu reflektieren und stetig zu verbessern. Was sind diese Dilemmas?
  • 6. 5 https://www.flickr.com/photos/ncindc/10488778795 Ein Beispiel: Nehmen wir einmal an, wir gehen in ein Unternehmen und wollen dort einen realen Geschäftsprozess in ein Modell abbilden. - Wo fangen wir an? - Wo startet der Prozess? - Wo hört er auf? - Was gehört dazu? - Was lassen wir weg? - Wie nehmen wir den Geschäftsprozess auf? - Ist das Mittel zur Aufnahme das Richtige? Die Dilemmas der Abbildung stellen genau diese Fragen...
  • 7. 6 https://www.flickr.com/photos/pinkmarina/3030137927 ...und sagen uns, dass wir immer nur temporäre Beobachtungen vornehmen – gefiltert durch unsere Wahrnehmungsfähigkeiten – und dass nur für einen mehr oder weniger zufälligen Ausschnitt. Sie sagen auch, dass eine 1:1 Beziehung zwischen der Realität (was das auch immer ist) und Modell nicht existieren kann. Wir sehen nie alles.
  • 8. 7 https://www.flickr.com/photos/purple-lover/13583362554/ Aber dennoch tun wir oft so, als ob dem nicht so sei. Wir versuchen z. B. immer noch unternehmensweite Datenmodelle zu schaffen: „Ein Modell, um sie zu knechten, sie heimzusuchen, ins Dunkel zu treiben und ewig zu binden“ – und sei es als Maven Dependency. Wir beachten hier aber nicht die Perspektivengebundenheit des Wissens:
  • 9. 8 https://meditacionesdeldia.com/2014/09/25/vemos-lo-que-vemos-no-lo-que-es/ Wissen gilt immer nur in einen bestimmten Kontext – und dieser Kontext verändert sich relativ zu Zeit, Ort, Kultur und Personen. Wenn wir also ein Modell erstellen, kann dies nur aus einer bestimmten Perspektive heraus passieren – in einem bestimmten Kontext – nie global für alles Mögliche.
  • 10. 9 https://www.flickr.com/photos/masaisrael/6812637403/ Aber wie kommen wir überhaupt zu Wissen? Wir fragen z. B. einen Mitarbeiter, der sich mit einem bestimmten Thema auskennt. Was passiert, wenn wir ihn befragen? Wir werden mit den Dilemmas der gegenseitigen Beeinflussung konfrontiert. Wir erhalten seine Antworten oder sein Wissen „unter Beobachtung“.
  • 11. 10 https://www.flickr.com/photos/vlastimil_koutecky/9490584567https://www.flickr.com/photos/janitors/14996638702/ Umgekehrt werden wir durch den Mitarbeiter beobachtet und selbst beeinflusst. Wir interagieren also direkt mit dem Gegenstand, dem Subjekt, das wir eigentlich nur objektiv beobachten wollten. Unser Wissen über die Begriffe und Abläufe passt sich somit gegenseitig an. Das Ganze können wir noch ein wenig weitertreiben...
  • 12. 11 https://www.flickr.com/photos/gogg/5143232897/ ...wenn wir in Gruppen interagieren. Hier unterliegen wir sehr stark dem Dilemma der Kohärenzbildung: Wir bilden uns unsere eigene Welt aus dem für uns richtigem Wissen. Das heißt aber gleichzeitig, wir weisen fundamental anderes Wissen ab. Aber wenn genau hier die eigentlichen Wünsche des Kunden stecken, ...
  • 13. 12 https://www.flickr.com/photos/51686021@N07/33230171512 ...ist das eine tickende Zeitbombe, die früher oder später losgeht und Projekte katastrophal scheitern lässt – und niemand hat es kommen sehen! Verdammt viele unlösbare Probleme. Aber was können wir jetzt machen?
  • 14. 13 https://www.flickr.com/photos/149368236@N06/33882279845/ Zuerst einmal hilft es anzuerkennen, dass die Geschäftswelt da draußen dreckig und chaotisch ist – wir haben keine Chance sie 1:1 zu modellieren Und: Es gibt nichts absolut Richtiges oder Falsches – auch bei Entscheidungen! Das zu akzeptieren, entspannt die ganze Sache erst einmal. Wir können aber auch die Erkenntnistheorie direkt und ganz konkret in unsere Arbeit mit aufnehmen:
  • 15. 14 https://de.wikipedia.org/wiki/Datei:Vassily_Kandinsky,_1923_-_Composition_8,_huile_sur_toile,_140_cm_x_201_cm,_Mus%C3%A9e_Guggenheim,_New_York.jpg Wir können z. B. akzeptieren, dass es unterschiedliche Sichten auf die Dinge im Unternehmen gibt und diese Vielfältigkeit in unsere Software unterstützen. Kein ultimatives Framework oder globales Datenmodell mehr, sondern getrennte, spezialisierte Bereiche, in denen Wissen im jeweiligen Kontext aufleben kann. Ja, das ist verdammt viel Arbeit!
  • 16. 15 https://www.flickr.com/photos/83863691@N00/4133793660 Um das zu schaffen, müssen wir vereinfachen und alles abschneiden, was wir nicht unbedingt brauchen. Je weniger wir machen, desto weniger können wir falsch liegen. Nicht alles mögliche selbst implementieren, sondern nur das, was das Kerngeschäft eines Unternehmens wirklich unterstützt. Das erfordert auch Mut zur Kommunikation und Transparenz:
  • 17. 16 https://www.flickr.com/photos/stuartpilbrow/3565808509/ Wir müssen zugeben, wenn für uns etwas nicht klar genug ist. Aber wir müssen ansprechen, wenn wir denken, dass der Kunde sich selbst nicht im Klaren über seine Wünsche oder sein Geschäft ist. Wir können auch unsere eigenen Annahmen oder Hypothesen mittels Zahlen, Daten Fakten validieren oder widerlegen – und damit unser Bauchgefühl – das was wir glauben zu Wissen – explizit machen.
  • 18. 17 https://www.flickr.com/photos/xavier-albaladejo/7400020870/ Wir müssen Software schrittweise, induktiv an das Wissen annähern – und sind uns dabei aber immer bewusst, dass es eine ultimative Softwarelösung nicht geben kann. Und das alles immer mit dem Blick auf die erkenntnistheoretische Dilemmas, um unser eigenes Vorgehen – unsere Handlungen und Arbeitsweisen – zu reflektieren und stetig zu verbessern.
  • 19. 18 Und wir haben ja sogar schon ein paar Praktiken gefunden, welche sich bisher noch nicht als komplett falsch herausgestellt haben. Z. B. Extreme Programming, welches sich mittels Transparenz und einem iterativen Vorgehen schrittweise an akzeptabel Lösungen annähert – die enge Zusammenarbeit mit den Wissensträgern aktiv forciert und auf Einfachheit abzielt
  • 20. 19 Und Domain Driven Design, welches explizit versucht, verschiedene Begriffswelten durch eine gemeinsame Ubiquitous Language zu vereinen und kontextabhängige Modelle in Bounded Contexts als ein strategisches Mittel zur Softwaremodellierung vorschlägt.
  • 21. 20 https://www.flickr.com/photos/17094005@N00/33943802385 Ich hoffe, dass wir Softwareentwickler zukünftig weiter solche Praktiken schaffen, die die Dilemmas der Erkenntnistheorie bereits Out-of-the-Box beachten. Ich denke, dass wir dann zwar augenscheinlich immer dasselbe tun, aber doch stetig bessere Ergebnisse erhalten. Vielen Dank!