Co to jest Event Storming? Na pewno wiesz!

, Czas czytania: 5:30 min.

event storming

Czy wiesz co to jest metoda zespołowego odkrywania i modelowania procesów wewnątrz skomplikowanych domen biznesowych? Czy wiesz jak za pomocą zdarzeń opisywać działanie systemu? Jeśli jeszcze nie znasz odpowiedzi na powyższe pytania to poniższy artykuł pomoże Ci zrozumieć znaczenie Event Stormingu.

Spis treści:

Event Storiming – definicja

Jest to metoda odkrywania i konkretyzowania informacji o domenie biznesowej, w ramach której wytwarzane jest oprogramowanie. Handel, finanse, edukacja, prawo, medycyna telekomunikacja – domen biznesowych, z którymi na co dzień spotykają się programiści i eksperci techniczni.

Podstawy Event Stormingu

Kto bierze udział:

  • eksperci techniczni – np. programiści, analitycy czy właściciele produktu (PO)
  • eksperci domenowi – ze strony klienta / biznesu
  • facilitatorosoba zaznajomiona z techniką Event Stormingu

Na czym to polega:

A więc wygląda to ta, że do dyspozycji mamy wielką ścianę oraz mnóstwo różnokolorowych karteczek. Każdy z uczestników identyfikuje zdarzenia (domain events), które występują podczas działania programu.

Domain Events Żródło: https://radekmaziarka.pl/2018/12/06/event-storming-jak-szybko-odkrywac-nieznane/

Przykład:

„Wygenerowano fakturę” , „Utworzono konto użytkownika” czy „Zamówiono towar” – wszystkie te zdarzenia zapisuje się na karteczkach i umieszcza na tablicy.

Oczywiście były to bardzo ogólnikowe pojęcia. W Event Stormingu nie korzysta się ze słownictwa fachowego. Chodzi tu oto, aby każdy zrozumiał każdego.

Przykład:

Aby zdarzenie „Utworzono użytkownika” miało miejsce to musi być przekazana komenda („Command”) np. Utwórz użytkownika”

Ale kto lub co jest źródłem takiej komendy? Czy to użytkownik sam tworzy swoje konto, poprzez rejestrację? Czy może konto użytkownika generowane jest automatycznie, na podstawie informacji otrzymanych z systemu zewnętrznego?

Kolejnym elementem identyfikującym są tzw. aktorzy („Actors”) wywołujący daną komendę. Wszystko oczywiście ląduje na karteczkach a następnie an tablicy. W następnym etapie następuje grupowanie powiązanych ze sobą tematów i tu następuje wyodrębniać tzw agregaty („Agregates”).

Po takim warsztacie eksperci domenowi mają jaśniejszy obraz tego, jak działać będzie produkt, a eksperci techniczni dochodzą do momentu, w którym utworzone agregaty i uzyskaną wiedzę biznesową mogą przenieść na kod zgodny z zasadami Domain-Driven Design.

Co daje nam Event Storming

  • Zrozumienie domeny – Eksperci techniczni zapoznają się z domeną, a eksperci domenowi zagłębiają sposób działania danego oprogramownia
  • Wspólny język – wspólny i jednolity język pozwala na stworzenie projektu na podstawie Domain Driven Design
  • Szybkość działania – Zebranie w ramach jednego, kilkugodzinnego warsztatu różnych osób zaangażowanych w dany produkt, już na tak wczesnym etapie jego tworzenia, może być korzystniejsze niż odkrywanie poszczególnych wymogów produktowych dopiero w trakcie developmentu.
  • Zapewnienie jakości – pełna świadomość procesów zachodzących w wytwarzanym produkcie jest jednym z czynników dostarczając produkt o wysokiej jakości.
  • Integracja – Event Storming stanowi okazję do integracji zespołu poprzez wspólną naukę.
  • Dystrybucja wiedzy – wytwarzane oprogramownaie wewnątrz zespołów jak i pomiędzy nimi przeciwdziała tworzeniu tzw. silosów wiedzy

Event Storming = kreatywność

Event Storming jest elementem projektowania systemu, który jest odpowiedzialny za część kreatywną. Pozwala szybko projektować systemy i walidować, a w razie potrzeby odrzucać koncepcje. Pozwala programistom efektywnie rozmawiać z osobami nietechnicznymi.

TAGI:

Zostaw komentarz do artykułu: Co to jest Event Storming? Na pewno wiesz!

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Bartek Candyweb

Programuje, śpiewa i gra - istny człowiek orkiestra:)

Ostatnie artykuły

Zainteresowała Cię oferta?

Kompleksowa oferta

Kliknij po bezpłatną wycenę

Wyceń projekt