Wie genau entwickelt man Software oder ermittelt Anforderungen, wenn das Verstรคndnis der jeweiligen Domรคne im Team noch nicht entwickelt ist? Jede Software soll ja die Probleme aus einer spezifischen Domรคne lรถsen und die fachlichen Prozesse unterstรผtzen oder ermรถglichen.
Eine Domรคne kann laut Eric Evans wie folgt definiert werden: โA sphere of knowledge, influence, or activity. The subject area to which the user applies a program is the domain of the software.โ
Sie ist also ein abgegrenzter Fachbereich von Wissen, Einfluss oderย Aktivitรคt und ergibt sich bspw. aus dem entsprechenden Unternehmen, das diese Software einsetzen soll, dessen Branche und zuย lรถsendes Problemfeld โ z.B. eine Finanz-Domรคne (z.B. fรผr eine Banking- oder Crypto-Software) oder Telekommunikationsdomรคne (z. B. fรผr eine Vertriebspartnersoftware). Selbstverstรคndlichย kann und wird diese meist aus weiteren Sub-Domรคnen bestehen,ย je nach Komplexitรคt der Domรคne und Software. Die Modellierungย von Domรคnen & Co. ist aber eher ein Teil der Methode โDomain Driven Designโ.
Die entsprechenden Fachexperten haben naturmรครig meist ein tiefes Wissen der Domรคne, doch letztendlich mรผssen auch die Umsetzer der Software die Domรคne verstehen, wie bspw. Die Entwickler, Designer oder Product Owner. Wie will ein Teamย eine Software umsetzen, ohne die Domรคne dahinter zu verstehen? Dieses Team ist schlieรlich fรผr die Lรถsung der Probleme zustรคndig.ย Nur mit einem tiefen Verstรคndnis kรถnnen auch die passenden Lรถsungen entwickelt werden.
Event Storming ist eine praktische Methode, um auch bei den weiteren Team-Mitgliedern ein Grundverstรคndnis der Domรคne zu schaffen und die Sprache bzw. Begriffe dieser Domรคne zu verstehen. Stellen Sie sich vor, Sie mรผssen eine Software in der Energiebranche entwickeln und werden mit Begriffen wie Marktkommunikation, Netzbetreiber und EDIFACT bombardiert. Ohne ein Grundverstรคndnis wird es hier kaum mรถglich sein, gute Lรถsungen zu entwickeln. Deswegen wird beim Event Storming inย interaktiven Workshops mit vielen Haftnotizen und den Fach- undย IT-Experten die Domรคne soweit erforscht und ein interdisziplinรคres Verstรคndnis aufgebaut, dass man mit der weiteren Systemmodellierung und -umsetzung fortfahren kann.
Wie der Name der Methode schon sagt, wird hier basierend auf fachlichen Ereignissen gearbeitet, die wรคhrend des zu betrachtenden Geschรคftsprozesses passieren. Diese Ereignisse werden in der Vergangenheitsform beschrieben, es sind also Ereignisse, die bereits passiert sind.
Neben den Ereignissen, die konventionsgemรคร in orangefarbigen Haftnotizen aufgeschrieben werden, gibt es u.a. auch folgende Haftnotizen:
- Blaue Haftnotizen: Befehle (โCommandsโ), die zu einem bestimmten Ereignis fรผhren (z.B. โVertragsbestรคtigung sendenโ, โAccount erstellenโ, โProdukt kaufenโ, …)
- Gelbe Haftnotizen: Akteure, die den Befehl auslรถsen (z.B. End-ย nutzer, Kunde, …)
- Violette Haftnotizen: Geschรคftsprozesse, die einen Befehl mit einer bestimmten Geschรคftslogik verarbeiten und die dadurch ein oder mehrere Ereignisse erzeugen (z.B. โRรผcklรคufer bearbeitenโ, …)
- Pinke Haftnotizen: Externe Systeme, die einen Befehl auflรถsen kรถnnen (z.B. CRM-System, CMS, …)
- Rote Haftnotizen: Fragen, Probleme, Risiken oder Entscheidungen
- Weitere gelbe Haftnotizen:ย Sogenannte Aggregate, die mehrereย Haftnotizen wie Ereignis, Akteur und Befehl gruppiert und einen Namen gibt
Es gibt noch weitere Haftnotizen, die etwas technischer sind. In der angefรผhrten Literatur kรถnnen Sie mehr รผber diese Mรถglichkeiten erfahren.