fbpx

Czym jest Event Storming? – Warsztat Event Stormingu w praktyce

Poznaj dynamiczną metodę modelowania procesów biznesowych, która umożliwia głębokie zrozumienie złożonych domen – Event Storming. Ta metoda, zapoczątkowana w 2013 roku przez Alberto Brandoliniego, szybko zyskała uznanie wśród specjalistów związanych z Domain Driven Design. Dzięki Event Stormingowi możliwe jest wypracowanie wspólnego rozumienia projektu przez wszystkich członków zespołu, niezależnie od ich roli i doświadczenia.

W artykule odpowiemy na pytania:

Każdy, kto chce poznać sposób na efektywne zarządzanie projektami oraz zwiększenie efektywności pracy zespołu, znajdzie tu cenne wskazówki.

Co to jest Event Storming?

Event Storming to metoda analizy i modelowania procesów, której rozwój zawdzięczamy Alberto Brandoliniego w 2013 roku. Umożliwia ona szybkie i skuteczne odkrywanie złożonych domen biznesowych, co sprawia, że jest ceniona wśród osób związanych z Domain-Driven Design (DDD). Uczestnicy warsztatu, wykorzystując kolorowe karteczki, przyklejają na ścianie lub tablicy zdarzenia domenowe – kluczowe działania zachodzące w aplikacji, które zapisane są w czasie przeszłym. Ta wizualna i interaktywna forma burzy mózgów sprzyja głębokiemu zrozumieniu funkcjonowania modelowanego oprogramowania i pozwala eksplorować procesy biznesowe w nowy, efektywny sposób.

Event Storming to nie tylko technika, ale przede wszystkim narzędzie umożliwiające zespołom lepsze zrozumienie i usprawnienie procesu tworzenia oprogramowania. Przy pomocy zdarzeń, uczestnicy warsztatu są w stanie precyzyjnie modelować funkcjonalności aplikacji, co bezpośrednio przekłada się na jakość finalnego produktu.

Przygotowanie do warsztatu Event Stormingu

Przygotowanie do warsztatu Event Stormingu wymaga szczegółowej organizacji, by maksymalnie wykorzystać jego potencjał w odkrywaniu i modelowaniu skomplikowanych procesów wewnątrz domeny. Jak przeprowadzić taki warsztat? Kluczowe jest zgromadzenie zespołu obejmującego programistów, ekspertów domeny oraz osoby z zewnątrz, które mogą wnosić świeże spojrzenia. Każde zdarzenie w trakcie sesji Event Stormingu powinno być precyzyjnie opisane w czasie przeszłym, co ułatwia zrozumienie przepływu procesów. O czym należy pamiętać?

  • Zapewnienie odpowiedniej przestrzeni jest niezbędne, aby uczestnicy mogli swobodnie porządkować elementy na ścianie lub tablicy.
  • Zasady Event Stormingu powinny być jasno wprowadzone na samym początku, aby każdy znał metodę pracy i cele warsztatu.
  • Przygotowanie karteczek i markerów, które pozwolą na zapisywanie kluczowych informacji i ich wizualizację.
  • Podczas warsztatu, eksperci powinni koncentrować się na identyfikowaniu kluczowych zdarzeń oraz potencjalnych problemów w oprogramowaniu, które może wymagać dalszego programowania lub modyfikacji kodu.

Event Storming pozwala lepiej zrozumieć domenę projektu, identyfikować duplikaty i niejasności, oraz zapewnia metodykę, która sprzyja efektywnej pracy nad projektem. Sesje te są wyjątkowo wartościowe w trakcie działania modelowanego oprogramowania, gdzie zrozumienie każdego aspektu domeny jest kluczowe dla sukcesu końcowego produktu. Dzięki tym warsztatom, zespół projektowy jest w stanie lepiej wprowadzać zmiany i usprawnienia w całym procesie tworzenia aplikacji.

Big Picture Event Storming

Big Picture Event Storming to etap kluczowy dla zrozumienia ogólnego obrazu procesów zachodzących w projekcie. Jest to faza, w której uczestnicy warsztatu, wykorzystując techniki Event Stormingu, definiują zdarzenia domenowe – kluczowe momenty, które są istotne z punktu widzenia ekspertów domenowych. Zadaniem uczestników jest odkrywanie i modelowanie procesów wewnątrz skomplikowanych domen biznesowych, co pozwala lepiej zrozumieć działanie całego systemu.

  • Oś czasu – Uczestnicy dodają karteczki reprezentujące zdarzenia na ścianie, układając je chronologicznie. Na przykład, w projektowaniu systemu rezerwacji hoteli karteczki mogą obejmować zdarzenia takie jak „klient zarezerwował pokój” czy „klient dokonał zapłaty”, co pomaga wizualizować sekwencję zdarzeń.
  • Integracja systemów – W przypadku identyfikacji interakcji z systemami zewnętrznymi, takimi jak zewnętrzny system logistyczny czy system płatności, kluczowe jest zdefiniowanie, jak te interakcje wpływają na przepływ zdarzeń w projekcie. Na przykład, jak zewnętrzny system płatności przekazuje informacje o transakcji z powrotem do systemu głównego.

Dzięki metodzie Big Picture, uczestnicy mogą zobaczyć, jak za pomocą zdarzeń domenowych można wprowadzać zmiany w projektach programistycznych, co jest cenne przy planowaniu dalszych etapów pracy nad konkretnym projektem. Event Storming pozwala każdemu uczestnikowi, od programisty po biznesowego stakeholdera, zobaczyć pełny obraz procesów i zapewnia metodykę, która sprzyja skutecznemu modelowaniu i analizie systemu.

Process Level Event Storming

Process Level Event Storming to faza, w której uczestnicy warsztatu koncentrują się na definiowaniu agregatów i komend, które są kluczowe dla funkcjonalności modelowanego systemu. W tej części Event Stormingu, skupiamy się na szczegółowym analizowaniu każdego zdarzenia, które zostało zidentyfikowane podczas etapu Big Picture, i przypisujemy do nich odpowiednie komendy oraz agregaty.

  • Definiowanie komend – Na tym etapie, każde zdarzenie domenowe jest analizowane w kontekście akcji, które muszą być wykonane, aby zdarzenie miało miejsce. Na przykład, zdarzenie „dodanie produktu do koszyka” może prowadzić do stworzenia komendy „dodaj produkt”, która jest niezbędna w systemie e-commerce.
  • Tworzenie agregatów – Agregaty to grupy zdarzeń, które razem tworzą logiczną całość w systemie. W trakcie Process Level Event Storming, eksperci domenowi i programiści współpracują, aby zidentyfikować, które zdarzenia mogą być zgrupowane. Przykładem może być agregat „Zamówienie”, który zawiera zdarzenia takie jak dodanie produktu do koszyka, wybór metody płatności i finalizacja zakupu.

Event Storming pozwala na głębsze zrozumienie domeny poprzez przemyślane i skoncentrowane prace nad konkretnymi funkcjonalnościami systemu. Technika ta, umożliwia wprowadzanie zrozumienia i klarowności w skomplikowane projekty programistyczne, zarówno dla osób związanych z domain-driven design, jak i dla szeroko pojętego zespołu projektowego. Warsztaty te pozwalają na efektywne modelowanie i są cennym narzędziem w rękach wszystkich uczestników procesu tworzenia oprogramowania.

Implementacja wyników warsztatu Event Storming

Implementacja wyników warsztatu Event Storming w projekcie jest kluczowym momentem, który przekłada się na praktyczne zastosowanie zidentyfikowanych zdarzeń domenowych. Po zakończeniu sesji, zespół projektowy ma za zadanie przekształcić teoretyczne wyniki w konkretne działania w ramach tworzenia oprogramowania. Jak można efektywnie zastosować wyniki warsztatu?

  • Model odczytu – widok: Projektując system rezerwacji biletów, zdarzenia takie jak „użytkownik zarezerwował bilet” mogą być użyte do stworzenia ekranu potwierdzenia rezerwacji, pokazującego szczegóły transakcji i miejsce w kinie.
  • Metody Event: Przykładowo w aplikacji e-commerce, zdarzenie „dodanie produktu do koszyka” prowadzi do implementacji metody, która aktualizuje zawartość koszyka użytkownika w czasie rzeczywistym, a także przetwarza zmiany w magazynie.
  • Integracja z domain driven design: W systemie zarządzania treścią, gdzie zdarzenia takie jak „użytkownik opublikował artykuł” mogą być użyte do automatycznego rozsyłania powiadomień do subskrybentów i aktualizacji sekcji najnowszych wiadomości na stronie głównej.
  • Pierwsza faza implementacji: Dla systemu obsługi zgłoszeń technicznych, początkowe zdarzenia takie jak „zgłoszenie zostało otwarte” i „przydzielono technika” mogą być wdrożone jako priorytet, aby szybko usprawnić reakcję na potrzeby klientów i monitorowanie postępów.

Implementacja wyników Event Storming wymaga szczególnej uwagi na detale i otwartości na modyfikacje w trakcie całego procesu tworzenia oprogramowania.

Korzyści z zastosowania Event Stormingu w projekcie

Podsumowanie warsztatów Event Storming jasno ukazuje korzyści biznesowe wynikające z zastosowania tej metody w projektach. Technika ta umożliwia zespołom projektowym głębokie zrozumienie procesów wewnętrznych i złożoności domeny biznesowej. Korzystając z Event Stormingu, firmy mogą także osiągnąć znaczące korzyści, w tym:

  • Lepsze zrozumienie domeny – Za pomocą zdarzeń można modelować działania w systemie, co przekłada się na skuteczniejsze i bardziej celowane rozwiązania techniczne.
  • Zwiększenie współpracy – Event Storming sprzyja współpracy między członkami zespołu, w tym między osobami związanych z różnymi aspektami projektu, co poprawia komunikację i zrozumienie projektu na różnych szczeblach organizacji.
  • Efektywność projektowa – Umożliwia szybsze identyfikowanie problemów i rozwiązania ich w początkowej fazie projektu, co skraca czas potrzebny do wprowadzenia produktu na rynek i zwiększa jego jakość.

Event Storming to metoda, która transformuje sposób, w jaki zespoły pracują nad skomplikowanymi zadaniami, oferując strukturę i klarowność niezbędne do skutecznego zarządzania projektami IT. Dzięki swojej elastyczności i skupieniu na zdarzeniach domenowych, pozwala zespołom lepiej zrozumieć i efektywnie reagować na dynamiczne wymagania biznesowe. Wykorzystanie Event Stormingu przyczynia się nie tylko do poprawy procesów wewnętrznych, ale także do zwiększenia wartości dostarczanej klientom.

Dodatkowe źródła wiedzy

https://selleo.com/blog/event-storming-how-it-will-improve-your-business-processes-
https://www.eventstorming.com/resources/

Zautomatyzuj swój biznes
we współpracy z CodersPilot!

    Wypełnij formularz
    i odbierz darmową konsultację

    Zastanówmy się wspólnie, które działania w Twojej organizacji najlepiej nadają się do usprawnienia, od czego należy rozpocząć oraz jakie plusy przyniesie to Twojemu biznesowi.