.

Event storming – co to jest i po co to komu

event storming
Posted by admin

https://youtu.be/cyi2JlO-VDs

Cześć! tu Szymon z analizowac.pl W tym wpisie dowiesz się co to jest event storming, na czym on polega i po co go się stosuje. Zapraszam do lektury wpisu.

Co to jest event storming

Event storming zgodnie z definicją to metoda przeprowadzania warsztatów(głównie w zespołach scrumowych) której celem jest konkretyzowanie informacji o domenie biznesowej. Razem z zespołem modelujemy skomplikowane procesy w ramach których tworzone jest oprogramowanie.

Tą metodę można stosować do nowych oraz istniejących systemów. Metoda jest świetnym rozwiązaniem w momencie gdy rozproszona jest po całym zespole jest:

  • ogólna wiedza o tym jak system działa lub ma działać,
  • informacja o tym jak działa domena biznesowa,
  • wiedza jakie zadania system ma spełniać.

Czyli w największym skrócie wyrównanie wiedzy i złapanie wspólnego języka w całym zespole.

Po co się wykonuje ten event storming?

Po to żeby zrozumieć działanie dziedziny biznesowej

Podczas warsztatów spotyka się cały zespół(szeroko rozumiany biznes i szeroko rozumiane IT) i następuje wymiana wiedzy pomiędzy ekspertami technicznymi a ekspertami biznesowymi. Nie rozmawiamy o artefaktach oprogramowania. Wszyscy mówimy o pojęciach dziedziny biznesowej i dzięki temu wszyscy zapoznają się z dziedziną i jej działaniem.

Po to żeby wypracować wspólny język

To że osoby z biznesu i osoby z IT rozmawiają (a szczególnie myślą) w innym języku to nie muszę tłumaczyć. Jak czytasz ten wpis to domyślam się że jesteś analitykiem czyli osobą która na tym styku biznesu i IT cały czas funkcjonuje. Event storming jest warsztatem na styku biznesu i IT i pozwala wypracować jednolity język.

Po to żeby szybko poznać cały system

W przypadku nowych projektów wiedza o systemie jest w głowach. W przypadku starych projektów wiedza jest w głowach(no dobra czasem istnieje jakaś dokumentacja lecz nie spodziewamy się super informacji). Warsztaty event stormingu potrafią w kilka godzin wyłapać wszystkie procesy i wymogi produktowe. Jest to fajna alternatywa do innych sposobów.

Po to żeby wyrównać wiedzę w całym zespole

Event storming ma to do siebie że wychodzą na tapetę wszystkie aspekty aplikacji przy całym zespole. Co prowadzi do tego że wiedza jest rozpropagowana po zespole. Rozpropagowanie wiedzy sprawia że praca w zespole jest płynniejsza.

Wyższa jakość aplikacji

Zespół lepiej rozumie działanie całej aplikacji dzięki czemu nie będzie sytuacji że ktoś nie zna zależności pomiędzy poszczególnymi funkcjonalnościami. Wysoki poziom wiedzy o aplikacji jest naturalnym sposobem obrony przed popsuciem działania jednej funkcjonalności grzebiąc przy drugiej.

Integracja zespołu

Wspólnie spędzone kilka godzin na warsztatach, wspólna nauka i rozmowa sprawia że event storming jest fajnym sposobem na integrację zespołu bez alkoholu 😉 A dla osób które dopiero zaczynają pracę może być sposobem na wdrożenie się w projekt.

Identyfikacja luk w procesie, wąskich gardeł itd.

Event storiming nie tylko propaguje informację o działającym lub tworzonym systemie. Event storming ma też to że układa w głowie proces działania aplikacji. A poznanie procesu ma to do siebie że jak na dłoni wychodzą na jaw wszystkie luki w procesie, wszystkie wąskie gardła itd.

Jak wykonać sesję event stormnigu

Całe warsztaty podzieliłem na kilka kroków.

Krok 0 Przygotowanie się do warsztatów

W kroku zero trzeba przygotować warsztaty. Potrzebujemy kilku rzeczy:

  • Wszystkich ludzi z zespołu(jak nie ma wszystkich to warsztat nie ma sensu bo możemy przeoczyć ważny element systemu). Wszyscy czyli eksperci techniczni(zespół developerski), product owner, analitycy, eksperci domenowi(przeważnie z biznesu), osoba prowadząca warsztaty
  • Miejsca (Sali gdzie wszystkie krzesła wynosimy bo na tych warsztatach każdy ma stać)
  • Karteczek samoprzylepnych(najlepiej w różnych kolorach) i ściany do ich przyklejania.
  • Mały materiał wprowadzający uczestników w to co będziemy robić na warsztatach(aby nie tracić zbyt dużo czasu na tłumaczenie wszystkim o co chodzi)
Krok 1 Definicja zdarzeń domenowych

Pierwszym krokiem jest zdefiniowanie zdarzeń domenowych. Rzucamy zdarzeniami domenowymi tak samo jak pomysłami w burzy mózgów(dlatego nazwa event storming tak mocno przypomina brain storming) Zdarzeniem domenowym jest czynność która została wykonana z użytkownikiem podczas pracy z oprogramowaniem. Wyrażamy je w czasie przeszłym. Zdarzenia mają być istotne z punktu widzenia ekspertów domenowych. Przykładowo „Złożono zamówienie”, „Opłacono fakturę” itd. Każde zdarzenie zapisujemy na karteczce i przyklejamy je do ściany.

Krok 2 Przypisanie komend i aktorów

Do karteczek które są zdarzeniem musimy dodać nowe karteczki(najlepiej w innym kolorze) które będą komendą. Komendą czyli czynnością która poprzedza wystąpienie danego zdarzenia domenowego(przykładowo podano dane logowania -> zalogowano użytkownika)

Podręcznikowo często przypisywanie aktorów podaje się jako osobny krok jednak z doświadczenia wiem że w momencie gdy myślimy o komendach to aktor sam się nasuwa przykładowo użytkownik albo że coś odbywa się cyklicznie co 24godziny lub wywołuje to system zewnętrzny. Dlatego polecam przykleić dwie karteczki zamiast jednej.

Krok 3 Agregaty

Po przypisaniu wszystkich Aktorów, Komend i zdarzeń tworzymy agregaty czyli zbiory, do których można przyporządkować grupę powiązanych zdarzeń z komendami i aktorem. Przykładowo można zebrać zdarzenia związane z aktywacją umowy w systemie sprzedażowym ew. np. wszystko związane z przesyłką w systemie dla kurierów.

Krok 4 Połączenie agregatów w jeden kontekst

Ostatni krok to łączenie ze sobą agregatów. Przykładowo mamy ludzi którzy sprzedają znaną i nielubianą fotowoltaikę(jeśli do Ciebie nie dzwonią to czuj się wyróżniony). I mamy system który ładnie obsługuje taką firmę. Mamy agregaty związane z akwizycją klienta(czyli znienawidzone call center albo ci co jeżdżą do klienta podpisać umowę) i mamy agregaty związane z montażem paneli.

Podsumowanie

Podsumowując. Event storming to bardzo fajna metoda warsztatowa którą jako analityk możemy zastosować w momencie gdy chcemy opisać dokładnie po co i na co i jak dana aplikacja jest osadzona w otoczeniu systemu. Wszyscy mówią o super wykorzystaniu event stormingu w momencie gdy jest tworzona nowa aplikacja. Moim zdaniem ta metoda się sprawdza o wiele lepiej przy istniejących aplikacjach.

Z minusów to wielogodzinne spotkanie. A spotkań nikt nie lubi. Jednak z doświadczenia wiem że takie warsztaty są bardzo fajne bo czas szybko leci a wynik jest bezcenny. Jednym zdaniem polecam spróbować.

SZKOLENIE "Czy zawód Analityk IT jest dla mnie?"

Zapisz się na listę mailową a prześlę za darmo szkolenie Czy zawód Analityk IT jest dla mnie? Co muszę umieć żeby być Analitykiem IT?