Blog
Event Storming – Co to jest?

Event Storming – Co to jest?

Stworzenie produktu czy usługi, która w pełni będzie odpowiadała oczekiwaniom i potrzebom klientów oraz okaże się użyteczna dla użytkowników jest wynikiem dobrego zrozumienia danej branży i porozumienia między twórcami, a zamawiającym. W świecie aplikacji webowych wzajemne zrozumienie tych dwóch stron może przeświadczyć o sukcesie oprogramowania. By stworzyć dobry system, trzeba poznać branżę, w której będzie on funkcjonować. Jak zdobyć potrzebne informacje? Najlepiej by było, żeby zostały one przedstawione w przystępny i daleki od naukowego żargonu sposób. Na to pytanie istnieje konkretna odpowiedź i jest nią Event Storming.

Event Storming – definicja

Event Storming narodził się w 2013 roku, a jego ojcem jest Alberto Brandolini. Jest to młoda metoda zespołowego odkrywania i modelowania skomplikowanych procesów domen biznesowych, w ramach których tworzone jest oprogramowanie. Tym pojęciem określamy narzędzie umożliwiające uzyskiwanie wiedzy i poznanie istoty danej branży. Event Storming jest nieoceniony, gdy przychodzi potrzeba zrozumienia działania domeny biznesowej oraz określenia zadania, jakie będzie miała spełniać. Ok, tak wygląda to w teorii, ale przełóżmy ją na praktykę. Wyobraźcie sobie sytuację, w której klient zamawia aplikację webową. Nie posiada wiedzy na temat oprogramowania, ma za to swoje oczekiwania. Zgłasza się do software house, tam spotyka specjalistów, dla których jego branża jest ciemną magią. Jak te dwie strony mogą dojść do porozumienia, którego efektem będzie stworzenie systemu przydatnego dla użytkownika? Ano, na drodze wymiany informacji i wzajemnej edukacji, czyli Event Stormingu.

Event Storming – jak działa?

Event Storming sprowadza się zatem do warsztatów, w których udział biorą eksperci techniczni (programiści, specjaliści UX/UI Design) oraz eksperci domenowi od strony klienta. Kluczowa jest także obecność moderatora, który będzie czuwał nad poprawnością komunikacyjną. Jak wygląda metoda Event Stormingu wprowadzona w życie? Warsztaty odbywają się w sali, w której kluczowym narzędziem jest tablica. Zostaną na nią przypięte kolorowe karteczki identyfikujące zachowania, czyli tzw. Domain Events. Są to wszelkie zdarzenia, do których dochodzi w trakcie działania programu np. “Złożono zamówienie”. Wyodrębnienie kluczowych zdarzeń domenowych stanowi punkt wyjścia do dalszych rozważań i analizowania okoliczności, w których mogłoby nastąpić kolejne zdarzenie. Pojawią się komendy. Przykładowo: jaka komenda musi zostać przekazana, aby w koszyku pojawił się produkt. Kto powinien zainicjować, a kto otrzymać sygnał?

W tym momencie dochodzimy do kolejnego ważnego etapu w Event Stormingu, czyli do aktorów. Tak określane są osoby, które wywołują daną komendę. Na tablicy pojawiają się następne karteczki i możliwe staje się wyłapywanie powiązań między nimi, czyli tzw. agregatów. Gdy tablicę zapełniają zdarzenia, komendy wydawane przez aktorów i agregaty, zachodzą czary – nagle pojęcia, które wcześniej mogłyby być dla jednej ze stron spotkań czarną magią, nabierają sensu, a uczestnicy rozumieją, jak ma funkcjonować tworzone oprogramowanie. Programiści zyskują obraz tego, jakie funkcjonalności ma mieć zamawiany produkt, a eksperci domenowi nabywają wiedzę na temat tego, jak będzie on wyglądał i działał.

Event Storming – korzyści

Event Storming przestaje być już dla Was niezrozumiałym pojęciem? Podsumujmy w jednym miejscu, jakie korzyści daje opisywana przez nas metoda. Przede wszystkim zachodzi wymiana kluczowych informacji i pojęć między uczestnikami, czyli ekspertami domenowymi i programistami. Ci pierwsi nabywają informacje z branży oprogramowania, a ci drudzy zapoznają się z domeną, którą mają stworzyć. Realne staje się wypracowanie wspólnego języka, a jak wiadomo, ten jest podstawą zrozumienia i poprawnej komunikacji. Istotny jest także wymiar edukacyjny, a nabyta wiedza wzmacnia zaangażowanie obu stron we wspólny projekt. Nie wspominając już o tym, że ułatwia cały proces tworzenia oprogramowania. Trwające kilka dni warsztaty mogą przyśpieszyć proces powstawania oprogramowywania, bowiem zastępują cały długi etap planowania wstępnego.

Nie da się ukryć, że takie – profesjonalne i całościowe – podejście do tematu jest gwarancją jakości dostarczanego produktu. Dzięki zrozumieniu domeny i analizie zależności między funkcjonalnościami w oprogramowaniu, możliwe jest stworzenie produktu, który spełnia wszystkie swoje założenia. Co więcej, Event Storming pozwala wyłapać wszelkie ewentualne problemy, a z kolei ich świadomość na tak wczesnym etapie projektowania, pozwala je wykluczyć. Nie zapominajmy również o czynniku ludzkim – Event Storming to dobra okazja do integracji zespołu. Warsztaty oparte na wymianie wiedzy i doświadczeń łączą uczestników, a wiadomo, jak ważna jest atmosfera w teamie.

2 thoughts on “Event Storming – Co to jest?

Dodaj komentarz