Slide 1

Slide 1 text

WIR ENTWICKELN INDIVIDUELLE SOFTWARELÖSUNGEN

Slide 2

Slide 2 text

Bounded Contexts mit Event Storming finden

Slide 3

Slide 3 text

ÜBER MICH Themen • Scrum Mastery • Product Ownership • Agile Techniken und Methoden • Story Mapping • Event Storming • Podcast: „Mein Scrum ist kaputt“ • Buch: „Product Ownership meistern“ Agile Coach bei der open knowledge GmbH @IEinemann Ina Einemann

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

The current state is: there is plenty of valuable content in the book, but also much work in progress. * unfinished chapters; * finished chapters that now look a little obsolete in pandemic times pandemic; * redundant content; * I still don’t know how to end this book. Alberto Brandolini, Event Storming, leanpub

Slide 6

Slide 6 text

WARUM

Slide 7

Slide 7 text

Domäne End User Domain Expert Technical Expert Translation Ist auf Dauer teuer sogar sehr teuer

Slide 8

Slide 8 text

Ubiquitous Language Fachsprache als Basis Eindeutige Begriffe Durchgängige Nutzung

Slide 9

Slide 9 text

DOMÄNENMODELL Repräsentation der Domäne Fachlich korrekt und konsistent Weiterentwicklung durch alle Beteiligten

Slide 10

Slide 10 text

DOMÄNENMODELL Repräsentation der Domäne Fachlich korrekt und konsistent Weiterentwicklung durch alle Beteiligten „Das Domänenmodell ist das Bindeglied zwischen Domänenexperten und Entwicklern“ Eric Evans, Domain-Driven Design, Addison-Wesley, © Eric Evans, 2004

Slide 11

Slide 11 text

DOMÄNEN EXPERTEN Warum machen das die anderen so kompliziert? Wir sind toll Hauptsache wir erreichen unsere Ziele Immerhin nicht unser Problem

Slide 12

Slide 12 text

Silos & Hierarchien Fragmentiertes Wissen Kompromiss Kosten Ziele und Boni Gegensätzliche Prioritäten Entscheidungen sammeln sich an Angst getroffene Entscheidungen rückgängig zu machen blockierte Organisation Versteckte Agenda Viele Leute einladen, viele Kalender zu syncen Zustimmung von Vielen Neigung zum Hinzufügen Aufschieben von schwierigen Entscheidungen verursachen erhöhen Idee von Alberto Brandolini, Event Storming, leanpub Immer mehr Missverständnisse

Slide 13

Slide 13 text

Silos & Hierarchien Fragmentiertes Wissen Kompromiss Kosten Ziele und Boni Gegensätzliche Prioritäten Entscheidungen sammeln sich an Angst getroffene Entscheidungen rückgängig zu machen Versteckte Agenda Viele Leute einladen, viele Kalender zu syncen Zustimmung von Vielen Neigung zum Hinzufügen Immer mehr Missverständnisse Aufschieben von schwierigen Entscheidungen verursachen erhöhen Idee von Alberto Brandolini, Event Storming, leanpub Expertise wird sichtbar Personen im gleichen Raum Engpässe werden sichtbar und priorisiert Sichtbare Inkonsisten Alles ist sichtbar blockierte Organisation

Slide 14

Slide 14 text

If your goal is to learn to ride a bike you can choose between: get a bike and try it, talk with a biker first, talk with a friend that knows a biker, read a specification document written by a friend that talked with a biker. Alberto Brandolini, Event Storming, leanpub

Slide 15

Slide 15 text

FORMATE • Big Picture Event Storming • Projekt Kick off • Mit allen Stakeholdern • Design Level Event Storming • Mögliche Implementation • Guten Serviceschnitt finden

Slide 16

Slide 16 text

Merge the people, split the software.

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

Event EVENT Fachliches Ereignis Oranger Post it Formulierung im Präteritum Relevant für Domain Experten

Slide 21

Slide 21 text

AUSLÖSER FÜR EVENTS • Aktion eines Users • Externes System • Datum / Uhrzeit • Durch andere Events

Slide 22

Slide 22 text

BEISPIEL

Slide 23

Slide 23 text

SORTIERSTRATEGIEN

Slide 24

Slide 24 text

PIVOTAL EVENTS

Slide 25

Slide 25 text

SWIMLANES

Slide 26

Slide 26 text

TEMPORAL MILESTONES

Slide 27

Slide 27 text

CHAPTERS SORTING

Slide 28

Slide 28 text

COMBINING MULTIPLE STRATEGIES

Slide 29

Slide 29 text

WALK THROUGH

Slide 30

Slide 30 text

REVERSE NARRATIVE

Slide 31

Slide 31 text

45 GRAD

Slide 32

Slide 32 text

GLOSSAR

Slide 33

Slide 33 text

BEISPIEL

Slide 34

Slide 34 text

HOT SPOTS

Slide 35

Slide 35 text

People PEOPLE Akteur, Persona, User, …. Gelber kleiner Post it

Slide 36

Slide 36 text

BEISPIEL

Slide 37

Slide 37 text

BEISPIEL

Slide 38

Slide 38 text

EXTERNAL SYSTEM Externes System Rosa breiter Post it “An External System is whatever we can put the blame on” External System

Slide 39

Slide 39 text

BEISPIEL

Slide 40

Slide 40 text

VORGEHEN • Einladungen • Raum Setup • Kick off: • Kurze Vorstellungsrunde: Fachlichen Hintergrund, Ziele, … • Ziel des Workshops erläutern • Eventuell Methode verproben z. B. mit einem Märchen • Und dann geht´s los….

Slide 41

Slide 41 text

WEITERE IDEEN • Probleme und Möglichkeiten • Das richtige Problem auswählen • Value

Slide 42

Slide 42 text

PROBLEME UND MÖGLICHKEITEN Hotspots: - Probleme - Risiken - etc Möglichkeiten: - Ideen - Lösungsansätze

Slide 43

Slide 43 text

DAS RICHTIGE PROBLEM AUSWÄHLEN

Slide 44

Slide 44 text

VALUE

Slide 45

Slide 45 text

No content

Slide 46

Slide 46 text

No content

Slide 47

Slide 47 text

EVENT STORMING

Slide 48

Slide 48 text

Fokus auf die Fachlichkeit Flughöhe beachten Nicht zu sehr ins Detail gehen Gemeinsames Verständnis über das Big Picture Keine technischen Events Was interessiert den Domain Experten

Slide 49

Slide 49 text

Und danach? UND DANACH?

Slide 50

Slide 50 text

STRATEGIC DESIGN „Für große Systeme werden Techniken benötigt, um große Modelle zu handhaben.“ „Die zu treffenden Entscheidungen müssen auf Team-Ebene oder sogar zwischen Teams entschieden werden.“ Eric Evans, Domain-Driven Design, Addison-Wesley, © Eric Evans, 2004

Slide 51

Slide 51 text

MEHRERE MODELLE – ABER WIE? Customer ShoppingCart Product Kein Verlust der Vorteile Mögliche Konflikte Verschiedene Modelle Unterschiedliches Verständnis

Slide 52

Slide 52 text

BOUNDED CONTEXT Trennung von Code-Basis Team-Struktur Datenbankstruktur

Slide 53

Slide 53 text

BOUNDED CONTEXT Trennung von Code-Basis Team-Struktur Datenbankstruktur

Slide 54

Slide 54 text

PIVOTAL EVENTS

Slide 55

Slide 55 text

WORD CONFLICTS

Slide 56

Slide 56 text

PEOPLE ON THE PAPER ROLL

Slide 57

Slide 57 text

LOOK AT THE HUMANS

Slide 58

Slide 58 text

LOOK AT THE DATA

Slide 59

Slide 59 text

SPLIT THE DATA Customer Address Product

Slide 60

Slide 60 text

SPLIT THE DATA

Slide 61

Slide 61 text

SPLIT THE DATA

Slide 62

Slide 62 text

ÜBERBLICK Events Hot Spot People System Command Policy Read Model Aggregates Big Picture Process Modelling

Slide 63

Slide 63 text

Command COMMAND Aktion oder Entscheidungen die ein User oder eine Software trifft Blauer Post it Formulierung im Präsens

Slide 64

Slide 64 text

BEISPIEL

Slide 65

Slide 65 text

POLICY Geschäftsregel automatisierbare und eindeutig regelbasierte Entscheidungen durch die das System eigenständig agieren kann Lila Post It Policy

Slide 66

Slide 66 text

BEISPIEL

Slide 67

Slide 67 text

BEISPIEL

Slide 68

Slide 68 text

READ MODEL Daten, die benötigt werden, um eine Entscheidung zu treffen Fokus auf Verwendung der Daten Grüner Post It Attributebene Read Model

Slide 69

Slide 69 text

BEISPIEL

Slide 70

Slide 70 text

BEISPIEL

Slide 71

Slide 71 text

ÜBERBLICK Events Hot Spot People System Command Policy Read Model Aggregates Big Picture Process Modelling

Slide 72

Slide 72 text

In Domain-Driven Design, Aggregates are defined as units of transactional consistency. They are groups of objects whose state can change, but that should always expose some consistency as a whole. Alberto Brandolini, Event Storming, leanpub

Slide 73

Slide 73 text

Wie finde ich meine Aggregates?

Slide 74

Slide 74 text

PROCESS MODELLING

Slide 75

Slide 75 text

BEISPIEL

Slide 76

Slide 76 text

No content

Slide 77

Slide 77 text

ÜBERBLICK Events Hot Spot People System Command Policy Read Model Aggregates Big Picture Process Modelling Software Design Aggregates Daten Events Command

Slide 78

Slide 78 text

ZUSAMMENHÄNGEN VON EVENTS UND COMMANDS

Slide 79

Slide 79 text

DEM KIND (K)EINEN NAMEN GEBEN

Slide 80

Slide 80 text

AUF WELCHEN DATEN OPERIEREN DIE COMMANDS?

Slide 81

Slide 81 text

AGGREGATES

Slide 82

Slide 82 text

Vom Aggregate zum Bounded Context

Slide 83

Slide 83 text

ABHÄNGIGKEITEN

Slide 84

Slide 84 text

Überlegungen Wer ändert die Daten? Gemeinsame Änderungen? Verfügbarkeit von Daten?

Slide 85

Slide 85 text

Compensation

Slide 86

Slide 86 text

SERVICE NICHT VERFÜGBAR Shipping

Slide 87

Slide 87 text

BEISPIEL LIEFERADRESSE

Slide 88

Slide 88 text

AGGREGATES ?

Slide 89

Slide 89 text

AGGREGATES

Slide 90

Slide 90 text

AGGREGATES Fallback für Standard- Lieferadresse

Slide 91

Slide 91 text

BOUNDED CONTEXTS

Slide 92

Slide 92 text

BOUNDED CONTEXT - FAZIT Konsistenz / Transaktionalität Unabhängigkeit Wenig Kommunikation zwischen Kontexten Asynchrone Kommunikation Kompensationsstrategien

Slide 93

Slide 93 text

In unserem Event Storming Workshop erarbeiten wir bei einem Projektvorhaben ein gemeinsames Verständnis über die Fachlichkeit zwischen Stakeholder und Entwicklungsteam. Dabei werden unterschiedliche Perspektiven durch einfache Visualisierung sichtbar und besprechbar gemacht. EVENT STORMING WORKSHOP Interesse? Kontakt per Mail: vertrieb@openknowledge.de „ Der Workshop garantiert einen erfolgreichen Einstieg in neue Themen. Unsere methodische Begleitung ermöglicht es, bereits am Anfang von Projekten einen passenden Serviceschnitt zu finden.“ Ina Einemann, Agile Coach Schritt 1 Big Picture Schritt 2 Picture That Explains Everything Schritt 3 Process Modelling Schritt 4 Software Modelling