Leitfaden zur Durchführung einer Event-Storming-Sitzung
Veröffentlicht: 2021-07-20Ein umfassendes Verständnis von Geschäftssystemen zu entwickeln, ist harte Arbeit. Es beinhaltet normalerweise eine High-Level-Modellierung oder ein komplexes Prozess-Mapping. Dies kann ein sehr technischer und mühsamer Prozess sein, der viel Trial-and-Error erfordert. Das Erstellen von BPMN-Diagrammen oder UML-Schemata kann sehr nützlich sein, um die allgemeine Funktionsweise eines Unternehmens zu verstehen, aber sie sind grundsätzlich technischer Natur und können nicht-technische Domänenexperten ausschließen.
Domänengesteuertes Design
Domain-Driven Design ist eine Methodik, die eine technologieunabhängige Sprache etabliert, die ein detailliertes Verständnis der Geschäftsanforderungen und -prozesse ermöglicht. Dies ermöglicht es den Beteiligten, ihr Domänenwissen sprachunabhängig an den Rest des Teams weiterzugeben, um ein gemeinsames Verständnis von Systemen zu entwickeln.
Was ist Event Storming?
Event Storming ist ein Workshop-basierter Ansatz für Domain Driven Design, der technische und nicht-technische Interessengruppen zusammenbringt, um komplexe Geschäftsdomänen zu erkunden. Es konzentriert sich auf Domänenereignisse, die im Kontext eines Geschäftsprozesses oder einer Geschäftsanwendung generiert werden. In der Regel sind Product Owner, Domain-Experten und Entwickler beteiligt.
Die Event Storming-Methode wurde von Alberto Brandolini in Introducing EventStorming eingeführt und veröffentlicht. Es wird als Technik verwendet, um ein Lösungsdesign schnell zu erfassen und das Verständnis des Teams für das Design zu verbessern.
Event Storming ist eine Form des Gruppenlernens und eine unterhaltsame Möglichkeit, Entwicklungs- und Produktteams zu integrieren, um gemeinsam alternative Lösungen zu entwickeln. Event Storming kann auch für Teams mit ausgereiften Produkten sinnvoll sein, um den Prozess zu ordnen und Engpässe und Konfliktfelder herauszufinden.
Eine Event-Storming-Session wird normalerweise durchgeführt, um:
- Erstellen Sie ein Geschäftsmodell für die Entwicklung eines Projekts.
- Verschaffen Sie sich einen Überblick über das Produktmodell in seiner ganzen Komplexität und heben Sie seine Ziele und Bedürfnisse hervor.
- Visualisieren Sie das Produktmodell und überlegen Sie sich alternative Lösungen.
- Finden Sie Engpässe und Konfliktbereiche bei ausgereiften Produkten.
Die Vorteile von Event Storming
Bei der Erstellung eines Produkts ist es wichtig, dass das Entwicklungsteam in der Geschäftsdomäne, in der das Produkt tätig ist, gut versiert ist. Dies ermöglicht eine klarere Anfangsanalyse und eine gezieltere Erstellung. Ein Workshop wie eine Event-Storming-Session kann die Zusammenarbeit zwischen Geschäfts- und Produktteams insgesamt fördern.
Schnell: Die meisten anderen Verfahren zur Modellierung von Geschäftsprozessen tauchen tief in die Abläufe des Unternehmens ein. Sie beinhalten die Verwendung komplexer Datenmodelle und es kann Wochen dauern, bis sie ein genaues Bild zeichnen. Event Storming ist ein schneller Ansatz zur Modellierung von domänengesteuertem Design. Ein Event Storm ist in der Regel ein eintägiges Ereignis, bei dem ein vollständiger Geschäftsprozess in wenigen Stunden abgebildet werden kann.
Gemeinsames Verständnis zwischen technischen und nicht-technischen Beteiligten : Im Gegensatz zu UML erstellt ein Ereignissturm eine Darstellung eines Geschäftsprozesses, die ohne technisches Vorwissen leicht verständlich ist.
Kollaborativ: Das Kernkonzept eines Ereignissturms besteht darin, die Teilnahme und Interaktion zwischen Domänenexperten zu fördern. Es schafft ein ansprechendes Umfeld, um Geschäftsmodelle zu entwickeln, und führt zur Entdeckung wertvoller Erkenntnisse.
Effektiv: Der größte Vorteil von Event Storming sind die Gespräche, die es startet. Teams können das im Workshop gewonnene Wissen nutzen, um zukünftige Modellierungsprozesse zu informieren und Produkte zu entwickeln, oder einfach Event Storming verwenden, um Geschäftsprozesse besser zu verstehen und bessere Entscheidungen für die Zukunft zu treffen.
Durchführung des Event Storm
Um einen Event Storm durchzuführen, müssen Sie verschiedene Interessengruppen mit spezifischer Fachkompetenz zusammenbringen. Dies kann an einem physischen Ort oder virtuell mit einem kollaborativen Whiteboard-Tool wie Creately erfolgen. Es ermöglicht Ihnen, die gesamte Sitzung aus der Ferne auf einer einzigen, unendlichen Leinwand durchzuführen und kann als gemeinsamer Raum genutzt werden, in dem die Beteiligten Gedanken und Ideen in Echtzeit austauschen können.
Schritt 1: Domänenereignisse
Der erste Schritt besteht darin, Domänenereignisse zu identifizieren. Sie sind sachliche Aussagen über die Dinge, die in einem Geschäftssystem passiert sind. Die Teilnehmer machen ein Brainstorming und listen alle Dinge auf, die in einem System passiert sind und wichtige Reaktionen ausgelöst haben. Dann notieren sie diese Ereignisse als farbcodierte Notizen auf der virtuellen Leinwand. Es ist wichtig, diese Aussagen in der Vergangenheitsform zu formulieren, damit die Teilnehmer dies als eine „Was ist passiert“-Aussage einrahmen können. Wenn Teilnehmer Ereignisse zur Leinwand hinzufügen, können Sie damit beginnen, sie nach dem Zeitrahmen zu organisieren, in dem sie aufgetreten sind.
Schritt 2- Befehle
Der nächste Schritt besteht darin, herauszufinden, warum das Ereignis aufgetreten ist. In dieser Phase analysiert das Team, was die Ereignisse ausgelöst hat. Während Ereignisse sachliche Aussagen über die Vergangenheit sind, drücken Befehle unsere Absicht aus, dass etwas in der Zukunft geschehen soll. Befehle sind normalerweise unten auf blauen Notizen aufgeführt. Während Ereignisse als Aussagen in der Vergangenheitsform erfasst werden, werden Befehle als Absichten in der Gegenwartsform aufgelistet. Befehle können sowohl als Benutzer- als auch als Systemaktionen dokumentiert werden.
Schritt 3 – Aggregate
Dies sind die Dinge, die in einem System passieren, die im Allgemeinen in einer Gruppe von Ereignissen stattfinden. Sie sind Geschäftseinheiten höherer Ordnung, die als Substantive dargestellt werden sollten.
Zum Beispiel „Bestellvorgang“. Ein Aggregat besteht normalerweise aus einer Sammlung von Notizen auf der Leinwand.
Es wird durch ein Cluster von Ereignissen mit entsprechenden Befehlen und dem verantwortlichen Akteur repräsentiert. Dieses Aggregat kann dann benannt und auf einer größeren farblich abgestimmten Notiz auf der Leinwand platziert werden.
Schritt 4 – Begrenzte Kontexte
Dies ist eine Struktur auf hoher Ebene, die aus Kategorisierungen von Funktionen besteht, die verwandte Entitäten zusammen gruppieren. Das Team beginnt damit, Module innerhalb eines Elements namens Bounded Contexts zu gruppieren, indem es ein Kästchen oder einen Kreis um die zugehörigen Module zeichnet. Sie können dann mit der Kontextzuordnung beginnen, indem Sie veranschaulichen, wie Module innerhalb eines begrenzten Kontexts mit anderen Kontexten interagieren. Einfach ausgedrückt würden alle verwandten Ereignisse in denselben begrenzten Kontext fallen. Zum Beispiel würden alle Ereignisse, die sich auf Einkaufswagen beziehen, in den Einkaufswagen-begrenzten Kontext fallen.
Tipps für die Durchführung Ihrer Event-Storming-Sitzung
- Teilnehmer: Der Schlüsselaspekt eines erfolgreichen Event-Sturms ist die Organisation der richtigen Leute. Die Teilnehmer sollten aus Schlüsselakteuren mit Fachkenntnissen in mehreren Bereichen bestehen. Ein effektiver Event Storm besteht normalerweise aus einer kleinen Gruppe von Stakeholdern, um reibungslose Gespräche und eine kollaborative Umgebung zu gewährleisten.
- Sitzungen planen: Legen Sie Ziele und Absichten für die Sitzung fest. Dadurch können Sie sich besser darauf konzentrieren, was in der Sitzung enthalten sein sollte und welche Aspekte ausgelassen werden sollten.
- Anweisungen im Voraus senden: Lassen Sie die Teilnehmer verstehen, was der Sinn der Übung ist und was von ihnen erwartet wird. Senden Sie Anweisungen, was der Schlüssel ist und was die verschiedenen farbigen Noten darstellen, damit die Teilnehmer während der Sitzung ein klares Verständnis haben
- Führen Sie Diskussionen in nichttechnischer Sprache : Stellen Sie sicher, dass die Gespräche nicht durch die Besonderheiten der Implementierung verzettelt werden. Diese Gespräche sollten eher konzeptioneller Natur sein, damit jeder teilnehmen kann, unabhängig von seinem technischen Hintergrund.
- Geben Sie Beispiele : Es ist hilfreich, eine fertige Event-Storming-Leinwand zu präsentieren, damit die Teilnehmer wissen, woran sie arbeiten müssen.
Haben Sie Erfahrung mit der Durchführung einer Event-Storming-Sitzung? Erzähl uns darüber.
Haben Sie schon einmal an einer Event-Storming-Session teilgenommen oder diese durchgeführt? Wir würden uns freuen, von Ihren Erfahrungen und den Erkenntnissen zu hören, die Sie daraus gezogen haben. Teilen Sie uns Ihre Gedanken im Kommentarbereich mit.