Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Nicht du bist das Problem, sondern die Komplexität!

Nicht du bist das Problem, sondern die Komplexität!

Wir leben in einer sich schnell drehenden komplexen Welt, jeden Tag gibt es neue Produkte und Dienstleistungen. In der IT dreht sich das Rad besonders schnell, da wir versuchen der Komplexität stand zu halten, die in jeden Winkel unserer Profession kriecht.

Nach der Bedürfnisbefriedigung unserer Kunden sollte die Reduktion von Komplexität an zweiter Stelle stehen, denn nur so werden wir auf lange Sicht in der Lage sein, uns überhaupt noch bewegen zu können.

Wenn wir die „Reduktion der Komplexität auf Null“ zu unserem Nordstern machen, lassen sich viele Entscheidungen einfacher fällen und schneller erklären.

Warum ist es unabdingbar sauberen Code zu schreiben und diesen zu testen?
Warum ist es überlebenswichtig sich über „Make-or-Buy“ Entscheidungen den Kopf zu zerbrechen? Und wie kann Domain-Driven-Design dabei helfen?
Über welche Standards/Best-Practices sollten wir aufhören zu quatschen und sie endlich anwenden?
Wie können lose-gekoppelte Systeme Menschenleben retten?
Und warum ist „trial & error“ der beste Prozess für komplexe Probleme?

Ich will euch anhand meiner Erfahrungen mit konkreten Beispielen zeigen wie wir uns als Organisation entschieden haben. Dabei das Warum klären und zudem Argumente für die Erbsenzähler liefern konnten.

Darüber hinaus halte ich noch eine Überraschung bereit, die dein Leben verändern kann!

Alexander Jäger

October 18, 2018
Tweet

More Decks by Alexander Jäger

Other Decks in Technology

Transcript

  1. Dieser Vortrag handelt von komplexen Systemen und ist somit gleichermaßen

    auf Menschen UND auf Organisationen anwendbar. Hinweis
  2. Wertschätzung Anerkennung und Status Soziale Bedürfnisse Zugehörigkeitsgefühl und Freundschaft Sicherheitsbedürfnisse

    Geborgenheit und Sicher vor Gefahren Hunger, Durst, Schlaf & Sexualität Physiologische Bedürfnisse Selbstverwirklichung Entfaltung der Persönlichkeit ⏳ Befriedigte Bedürfnisse motivieren nicht
  3. „Zum ersten Mal hat eine erheblich, schnell wachsende Zahl von

    Menschen die Freiheit zu wählen. […] Und darauf ist unsere Gesellschaft in keiner Weise vorbereitet.“ Peter Drucker
  4. „Zum ersten Mal hat eine erheblich, schnell wachsende Zahl von

    Menschen die Freiheit zu wählen. […] Und darauf ist unsere Gesellschaft in keiner Weise vorbereitet.“ Peter Drucker
  5. Die Fünf Zeitalter der Zivilisation Landwirtschaft konformistisch Stabiles Organigramm Industrie

    leistungsorientiert Leistungsprinzip Information pluralistisch Empowerment Jäger und Sammler impulsiv Top-Down Autorität Schulsystem
  6. Information AGE Manifesto Obwohl ich die Werte auf der rechten

    Seite wichtig finde, schätze ich die Werte auf der linken Seite höher ein. Leben mehr als mehr als Grossartige Kollegen mehr als Gestalten Geld Guten Chef Dabei sein mehr als Lernen Wissen
  7. ) Zufriedenheit Können dürfen wollen + + = * fürn

    Arsch Können dürfen wollen + + = Irgendwie O.K. +
  8. „Der Mensch wird geboren, um zu leben, und nicht, um

    sich auf das Leben vorzubereiten.“ Boris Pasternak
  9. Kernfachlichkeit (core domain) ist der wertvollste Teil des Domänenmodells, der

    Teil, welcher am meisten Anwendernutzen stiftet. Die anderen Teile des Domänenmodells dienen vor allem dazu die Kernfachlichkeit zu unterstützen und mit weniger wichtigen Funktionen anzureichern. Bei der Modellierung sollte besonderes Augenmerk auf die Kernfachlichkeit gelegt werden und sie sollte durch die besten Entwickler umgesetzt werden. Finde was du willst
  10. Werkzeuge Realitäts-geschuldete Komplexität Technologie und Ausrüstung und wie man damit

    umgeht. Geteilte mentale Modelle - Komplexität ist ein Teamsport Zusammenspiel Wissensaustausch Wie kooperieren wir? Wer hat welche Aufgabe? Welche Normen haben wir? Zum Beispiel: KISS, DRY, YAGNI S.O.L.I.D. Clean code Design Patterns OnBoarding Plan RFCs Team Wissensverteilung Welche Fähigkeiten und Stärken haben meine Kollegen? Zum Beispiel: Mob Programming Pair Programming Training Session Code Review Aufgabe Notwendige Komplexität Was wollen wir und wie kommen wir dahin? Zum Beispiel: Domain Driven Design Anforderungen Erwartungen Zum Beispiel: Cloud vs. On Premise MircoService vs. Modular Erweitere dein Können
  11. Erweitere dein Können Keine Lust mehr auf Diskussionen Die Grundlagen

    Basic principles: KISS, DRY, YAGNI SOLID Clean code Design patterns Domain Driven TDD Miss Code Quality Cyclomatic complexity Code duplication Bugs per line of code Code coverage Cohesion Coupling Instruction path length
  12. Frag jemanden, der das schon mal gemacht hat. Erweitere dein

    Können Such dir einen Meister lxhunter @ Github, Twitter, Instagram, Facebook