Event Storming: Komplexe Prozesse mittels Post-it-Zetteln enträtseln

Event Storming ist ein dynamischer Workshop, der darauf abzielt, die Prozesse eines Systems auf eine visuell ansprechende und leicht verständliche Weise zu visualisieren. Event Storming ermöglicht es, das Verhalten des Systems, die User Journey, Unsicherheiten und viele weitere Aspekte zu erkunden. Es fördert die Entwicklung einer gemeinsamen Sprache und bietet zahlreiche weitere Vorteile, die in diesem Blogbeitrag hervorgehoben werden. Ursprünglich wurde Event Storming mit Stift, Papier, Post-it-Notizen und einem Whiteboard durchgeführt. Mit der zunehmenden Verbreitung von Telearbeit haben viele Unternehmen ihre Arbeitsweise angepasst, sodass die Vorteile von Event Storming nun auch für verteilte Teams nutzbar sind. Bei Kiwee sind wir stolz darauf, die Vorteile der Remote-Arbeit frühzeitig erkannt und unseren Kunden stets die notwendigen Ressourcen für remote Event Storming-Sitzungen zur Verfügung gestellt zu haben.

Ein wenig Hintergrund

Die Softwareentwicklung hat sich in den letzten Jahren radikal verändert. Mit der Einführung von Agile im Jahr 2001 wurde die Landschaft der Branche nachhaltig revolutioniert. 2003 legte Eric Evans mit der Veröffentlichung seines berühmten Blue Book den Grundstein für die weit verbreitete Anwendung der Prinzipien des Domain Driven Design (DDD). 2009 prägte Dan North den Begriff Behavior Driven Development (BDD) und erweiterte damit den bereits populären Ansatz des Test Driven Development (TDD). Diese bedeutenden Veränderungen haben die Softwareentwicklungsbranche nachhaltig beeinflusst und veraltete, komplexe und umständliche Planungswerkzeuge wie UML-Diagramme durch domänenzentrierte, benutzerfreundliche Ansätze ersetzt.

Im Jahr 2012 brachte Alberto Brandolini eine innovative Technik auf den Markt. Er erkannte die Schwierigkeiten, die mit den bestehenden Lösungen einhergingen, und entwickelte eine leichtgewichtige und flinke Alternative, die auf den Prinzipien des DDD basiert. Diese ermöglichte es allen Beteiligten, das Systemdesign rasch zu verstehen, zu visualisieren und kollektiv daran zu arbeiten. Ein Jahr später publizierte Brandolini seinen ersten Beitrag zu diesem Thema und die Community integrierte es schnell in ihr Werkzeugarsenal. Durch den sofortigen Erfolg und die breite Anhängerschaft konnte sich diese Technik zu dem entwickeln, was wir heute als Event Storming kennen.

Was genau ist Event Storming?

Es wird oft gesagt, dass die besten Ideen die einfachsten sind, und das trifft definitiv auf Event Storming zu. Unser Gehirn verarbeitet visuelle Informationen am effektivsten. Das Endprodukt von Event Storming, ein klar strukturierter Prozess, der auf einem Whiteboard dargestellt wird, ist also das Format, das unser Verstand am leichtesten greifen kann.

Es handelt sich dabei um einen teamübergreifenden Workshop, bei dem die Auswahl der Teilnehmer von entscheidender Bedeutung ist. Einfach ausgedrückt: Sie brauchen Personen, die Fragen stellen können (Entwickler) und solche, die diese Fragen beantworten können (Fachexperten). Sie benötigen ein Whiteboard und eine Vielzahl (ja, wirklich viele) von Haftnotizen. Jede Farbe der Post-its repräsentiert eine bestimmte Bedeutung, die vom Moderator im Voraus festgelegt wird. Jeder nimmt sich einen Stapel Haftnotizen, notiert Ereignisse, die im Kontext des Prozesses auftreten (jeweils eines) und klebt sie auf das Board. Alle Ereignisse werden dann in chronologischer Reihenfolge angeordnet. Anschließend werden die Akteure und Systeme, die diese Ereignisse auslösen, zusammen mit den Befehlen, also den Aktionen, auf Haftnotizen anderer Farben vermerkt.

Zum Beispiel führt der Akteur “Kunde” die Aktion “Lieferadresse aktualisieren” durch, was zum Ereignis “Lieferadresse aktualisiert” führt.

Event Storming Post-it Notes

Im weiteren Verlauf werden zusammengehörige Komponenten logisch in Cluster gruppiert, und das Resultat ist ein übersichtliches Diagramm, das die Prozesse im System und die Beziehungen zwischen allen beweglichen Teilen darstellt.

Die Hauptattraktion ergibt sich aus dem lebhaften Dialog, der während des Workshops entsteht und dabei hilft, zahlreiche Unklarheiten, Randfälle und Missverständnisse zu entlarven. Darüber hinaus motiviert es die Teilnehmer dazu, eine gemeinsame Sprache über Teamgrenzen hinweg zu etablieren. Dies fördert die Kommunikation innerhalb des Unternehmens, ein zentraler Aspekt von DDD. Jeder kann eine solche Sitzung leiten, allerdings ist es hilfreich, einen erfahrenen Moderator zu haben, der die Diskussionen lenkt und so den maximalen Output innerhalb des vorgegebenen Zeitrahmens sicherstellt.

Event Storming gliedert sich in drei Phasen:

  • Big Picture - Ein Überblick über die entscheidenden Ereignisse im System, deren Verlauf, die Akteure, die diese auslösen, und die resultierenden Aktionen.

  • Prozessdesign - Eine detaillierte Analyse der Ereignisse und Handlungen, ihre Zerlegung in kleinere Einheiten, die Ergänzung weiterer Komponenten und die Erweiterung der Unbekannten.

  • Softwaredesign - Eine technische Aufschlüsselung aller beweglichen Teile des Systems auf einer tiefgehenden Ebene. Dies ist in der Regel den Entwicklern vorbehalten, die eng mit dem System arbeiten oder dies in Zukunft tun werden.

Die oben skizzierte Darstellung ist eine stark vereinfachte “Big Picture”-Phase, aber es gibt noch viel mehr zu berücksichtigen. Für weitere Einzelheiten können Sie uns gerne kontaktieren. Wir von Kiwee haben bereits mehrere Kunden dabei unterstützt, komplexe Prozesse zu entwirren und eine erste Dokumentation für bestehende Systeme zu erstellen.

Event Storming in Action

Remote arbeiten

COVID-19 hat die Arbeitsweisen von Teams revolutioniert, und für Event Storming bedeutete dies eine Umstellung auf digitale Plattformen. Es sind viele Produkte auf dem Markt erschienen, die eine Whiteboard-Zusammenarbeit für Teams in einer entfernten Umgebung ermöglichen. Bei Kiwee haben wir Miro als Online-Whiteboard unserer Wahl ausgewählt und unser eigenes, auf Miro basierendes digitales Whiteboard für Event Storming entwickelt. Es beinhaltet alle notwendigen Vorlagen, Grafiken, Tipps und allgemeine Richtlinien an einem Ort. Unser Hauptziel ist es, die Nutzung für die Teilnehmer so unkompliziert wie möglich zu gestalten - es sind keine Vorkenntnisse erforderlich! Auf diese Weise können wir die Zeit, die wir für die Einarbeitung der Teilnehmer in den Prozess aufwenden, minimieren und stattdessen mehr wertvolle Zeit für die Erforschung des Systems selbst einplanen.

Wann ist Event Storming sinnvoll?

Rückentwicklung und Feinabstimmung des bestehenden Systems

Im echten Geschäftsalltag sind oft andere Aufgaben dringlicher als die Aktualisierung der Dokumentation. Die Betriebsabläufe sind bereits etabliert und funktionieren vielleicht sogar tadellos. Allerdings ist unklar, wie genau, da die ursprünglichen Verantwortlichen für verschiedene Systembereiche nicht mehr greifbar sind. Unter Umständen ist der Prozess durch Altlasten übermäßig komplex und enthält eine Fülle von Redundanzen, die niemand nachvollziehen kann. Das Einarbeiten neuer Mitarbeiter oder die Umsetzung technologischer Optimierungen können durch fehlende Dokumentationen und ein unzureichendes Verständnis der internen Abläufe behindert werden. In solchen Situationen kann ein Event Storming-Workshop Licht ins Dunkel bringen, indem er bestehende Prozesse und deren Zusammenhänge aufdeckt. Dabei wird ein visueller Überblick über Ereignisse, Auslöser und Informationsflüsse erstellt. Diese initiale Dokumentation dient als unverzichtbare Grundlage für zukünftige Systemverbesserungen.

Effektives Werkzeug zur Wissensvermittlung

Bilder sind für viele Menschen einfacher zu verarbeiten als bloßer Text. Daher stellt das Event Storming eine ideale Methode dar, wenn es darum geht, sich schnell mit einem System vertraut zu machen. Wie das Sprichwort so treffend sagt: Ein Bild sagt mehr als tausend Worte. In der Regel können mehrere Seiten Dokumentation durch eine Handvoll Post-it-Notizen dargestellt werden, was zu einer effizienteren Wissensvermittlung führt.

Die Wissensvermittlung kann auch innerhalb eines Unternehmens stattfinden. Es ist unvermeidlich, dass im Laufe der Zeit das Fachwissen der Teammitglieder fragmentiert oder sogar verloren geht. Indem man Personen aus verschiedenen Teams in denselben Raum einlädt und sie alle an der Diskussion teilhaben lässt, können Wissenslücken geschlossen werden.

Bei Kiwee setzen wir Event Storming häufig ein, um Wissen bei der Arbeit mit unseren Kunden zu vermitteln. Eine umfassende und aktuelle Dokumentation ist nützlich, um spezifische Fragen zu beantworten. Wenn es jedoch um das Verständnis der Systemprozesse und die Definition des Ereignisflusses geht, kann Event Storming die Zeit, die benötigt wird, um alle Beteiligten ins Boot zu holen, erheblich verkürzen. Unsere Erfahrung hat gezeigt, dass ein dreitägiger Event Storming-Workshop zu einem Projektverständnis führt, für das sonst wochenlange E-Mail-Korrespondenz und Dutzende von Dokumentationsseiten benötigt würden.

Gestaltung eines neuen Systems

Die Durchführung von Event Storming-Sitzungen während der Planungsphase eines neuen Systems gibt den Startschuss für die Entwicklung und gewährleistet, dass alle Beteiligten auf derselben Wellenlänge sind. Dies minimiert das Risiko von Missverständnissen zwischen den Teams und lenkt die Aufmerksamkeit auf potenzielle Risikobereiche, die in Betracht gezogen werden sollten.

Moderne E-Commerce-Shops sind üblicherweise auf eine Fülle von benutzerdefinierten Codes angewiesen, die für ihre verschiedenen Funktionen zuständig sind - von der Lagerverwaltung und ERP-Integration über die Zahlungsabwicklung bis hin zu Merchandising und Suche. In solch komplexen Systemen können die Beziehungen und Grenzen zwischen den einzelnen Komponenten leicht unübersichtlich werden.

Event Storming im Zusammenspiel mit DDD und BDD

Event Storming ist stark von den Prinzipien des DDD geprägt. Es nutzt die gleichen Bausteine wie Domänen, Modelle, begrenzte Kontexte und Aggregate, wodurch es im Grunde die Umsetzung des Systems auf Softwareebene aus einer DDD-Perspektive widerspiegelt. Die allumfassende Sprache ist ein wesentlicher, aber auch vorteilhafter Aspekt von Event Storming, da sie die Kommunikationsbarrieren zwischen den Beteiligten abbaut. Event Storming motiviert Entwickler dazu, domänenzentriert zu denken, was ihnen wiederum hilft, die DDD-Methoden bei der Implementierung zu berücksichtigen.

Im Zentrum von BDD stehen Akteure und Ereignisse. Das daraus
entstehende Whiteboard kann problemlos in User Stories umgewandelt werden, die die Testfälle abbilden, auf denen die Entwickler ihre Arbeit aufbauen können. Betrachten Sie beispielsweise die bereits genannte Sequenz Kunde -> Lieferadresse aktualisieren -> Lieferadresse des Kunden aktualisiert. Es sind kaum Anpassungen notwendig, um den visualisierten Ablauf in einen einsatzfertigen Testfall zu übertragen.

Zusatz: Nicht nur für die Softwareentwicklung ideal

Die Eleganz und Klarheit dieses Ansatzes machen ihn zur idealen Lösung, nicht nur in der Softwareentwicklung, sondern für jeden klar definierten Prozess. Jeder Prozess kann auf diese Weise dargestellt, analysiert und optimiert werden, wobei überflüssige Elemente und Unstimmigkeiten aufgedeckt werden. Selbst die morgendliche Routine kann perfekt organisiert werden, wenn man ein Freund von Struktur und Ordnung ist 🙂.

Zusammenfassend

Event Storming ist ein kraftvolles Instrument zur Visualisierung komplexer Prozesse in einem leicht verständlichen Format. Es ist der einfachste und zugänglichste Weg, schnell fundiertes Wissen über einen Bereich zu erlangen, indem man ein bestehendes System untersucht. Zudem ist es ein hervorragender Ansatz, um die Entwicklung eines Greenfield-Projekts anzustoßen. In Anbetracht seiner DDD-Wurzeln fördert Event Storming auch die softwareorientierte Entwicklung, was das Design und die Wartbarkeit des Codes verbessert.

In diesem Artikel haben wir die Grundidee des Event Storming erläutert und gezeigt, wie man selbst eine (sehr) einfache Big Picture-Sitzung durchführen kann. Aber das ist noch lange nicht alles. Kontaktieren Sie uns, wenn Ihnen der Artikel gefallen hat und Sie weitere detaillierte Artikel über Event Storming wünschen.

Delfine

Vielleicht ist Ihnen aufgefallen, dass Delfine in diesem Blogbeitrag eine Rolle spielen. Das ist kein Zufall: Das Überleben der Delfine hängt vollständig von der Teamarbeit ab, und einige Studien haben sogar gezeigt, dass sie sich der Verantwortung der anderen Delfine in der Gruppe bewusst sind. Die lange Evolution hat den Delfinen eine Überlebensstrategie verliehen, die nicht nur auf ihrer bemerkenswerten Intelligenz, sondern auch auf Kommunikation und Zusammenarbeit basiert - genau die Eigenschaften, die für eine erfolgreiche Event Storming-Sitzung erforderlich sind.

Leider konnte die Evolution die Auswirkungen, die der Mensch auf den Planeten verursacht, nicht vorhersehen. Zerstörung von Lebensräumen, Umweltverschmutzung und Überfischung sind nur einige der Bedrohungen, denen Delfine durch menschliche Aktivitäten ausgesetzt sind. Es gibt viele Naturschutzbemühungen, die auf den Erhalt der Delfinpopulation abzielen. Allerdings kann jeder unseren Planeten zu einem besseren Ort machen und dazu beitragen, den Schaden zu mildern. Eine kleine Änderung der Gewohnheiten, wie die Bevorzugung von Papiertüten gegenüber Plastiktüten, die Verwendung von meeresfreundlichem Sonnenschutzmittel oder das Recycling von Hausmüll, kann im Laufe der Zeit dramatische Veränderungen bewirken.

FacebookTwitterPinterest