Event Storming jako metoda poznawania nowego biznesu

Nowy klient

Zanim padnie termin „Event Storming”, czas, w którym Wykonawcy precyzują z nowymi Klientami zapisy swoich umów zawsze obfituje w szereg podobnych pytań:

„Znacie się na X?”

„Czy wiecie jak powinien działać nasz biznes?”

„Co jeśli się nie zrozumiemy na początku?”

Odpowiedź na te wszystkie wątpliwości wydaje się zazwyczaj być oczywistą: Scrum. Tworzymy sobie środowisko, w ramach którego określamy warunki do prowadzenia projektu w oczekiwanym przez wszystkich kierunku – wytworzenia produktu lub usługi. A później już tylko: odbiory co 2 tygodnie, retrospektywy, planowanie… A co jeśli chcielibyśmy być jeszcze bardziej precyzyjni?

W DevOpsi to od Event Storming zaczynamy zazwyczaj współpracę z nowym Klientem.

Weźmy pierwszą z brzegu definicję Event Stormingu, z Wikipedii: „Event storming is a workshop-based method to quickly find out what is happening in the domain of a software program”. Hmm, czyli wychodzi na to, że ES jest metodą na poznawanie nowej domeny oprogramowania. Ok. To skoro mamy już tak potężne narzędzie, to dlaczego nie wykorzystać go do poznania Biznesu Klienta?

To właśnie robimy. Wykorzystujemy ES do poznania nowego Klienta oraz jego Biznesu.

Jak?

Zaczynamy projektowanie

Najlepiej zacząć od istoty naszego projektu, od problemu, który mamy rozwiązać. Szczegółowo omawiamy z Klientem każdy jego element. Następnie przystępujemy do jego projektowania. Dzieci powiedziałyby zapewne, że to element zabawy dorosłych – w owym projektowaniu wykorzystujemy bowiem różnokolorowe karteczki, ale niech nikogo użycie tego prostego narzędzia nie zmyli. To, co w ten sposób osiągamy to core naszych dociekań.

Do tego co wypracowaliśmy dodajemy aktualną otoczkę systemów i procesów. Na tym etapie często okazuje się – choć trudno było to dostrzec wcześniej – że systemy czy procesy versus rozwiązanie problemu się dublują. Pokazuje to dopiero sesja z nami. Wtedy też najczęściej dochodzi do podjęcia kluczowych decyzji.

Ktoś mógłby w tym momencie zapytać: po co Wam zatem ten sam proces w dwóch różnych miejscach?

Z ekonomicznego punktu widzenia lepiej go zostawić w aktualnym miejscu, jednak dzięki Event Stormingowi jesteśmy w stanie szybko go odtworzyć, zaprojektować, a co najważniejsze wstępnie wycenić jego pracochłonność. Dlatego też szybko podejmowana jest decyzja o implementacji danego procesu w nowym systemie.

Event Storming
Podczas Event Stormingu to facilitator odpowiada za stworzenie twórczej atmosfery.

Co dalej? Przechodzimy do kolejnej karteczki. Na przykład tej, na której zaprojektowano proces wysyłania faktur do księgowości. Przyjmijmy hipotetycznie, że w projekcie, nad którym aktualnie pracujemy, jest to proces manualny. Wiemy już, że zespół administracyjny spędza nad nim 5 godzin dziennie. Krótka przerwa na kawę. Podczas Event Stormingu to zawsze może się okazać kluczowy dla rozwiązania problemu moment. Po przerwie developer DevOpsi rzuca pomysł aby zaoszczędzić owe 5 godzin i zautomatyzować proces. Omawiamy jego szczegóły. Biznes potrzebuje kilkunastu minut na przedyskutowanie tematu. Zleca nam dodatkowe prace – nad automatyzacją wysyłania faktur do księgowości…

Twórcza atmosfera czyli rola facilitatora

Ok. To wszystko układa się dobrze, ale jak w rzeczywistości przebiega ten proces?

Czy Event Storming to jest odpowiednie miejsce dla Biznesu?

Czy developerzy nie zasypią nas pytaniami technicznymi?

Zacznijmy zatem.

Z naszej strony zawsze obecna jest osoba, która prowadzi cały warsztat, czyli facilitator. Zazwyczaj jest to osoba techniczna, ale przy tym dobrze rozumiejąca ludzi z Biznesu. Zadaniem tej osoby jest stworzenie odpowiedniej, twórczej atmosfery podczas spotkania, tak aby osiągnąć cel warsztatów. Rola osoba tej rangi jest na tym etapie kluczowa. Powinna ona bowiem zarówno moderować dyskusję, jak i nakierowywać strony do tego, kiedy powinny wywiesić kolejną karteczkę.

Skoro już o owych osławionych karteczkach już mowa…

Sesję Event Stormingu prowadzimy w dowolnym miejscu – ważne są 2 rzeczy:

– aby dla nikogo nie zabrakło przestrzeni;

– I by karteczki – proza życia – kleiły się do ścian.

Karteczki – kolor ma znaczenie

Jeśli oba warunki zostały spełnione, możemy zacząć kleić:

Potrzebujemy kilku kolorów kartek. Każdy z nich będzie oznaczał coś innego, np.:

– czerwony – zdarzenie domenowe;

– zielony – aktora w procesie;

– żółty – agregaty;

– niebieski – komendy.

Układamy karteczki kolejno poczynając od zdarzeń domenowych. Czasami zdarzenie można określić systemem – tak jak w przypadku chociażby Keykloack’a. Każda karteczka jest punktem dyskusji Biznesu z naszym zespołem wytwórczym. Dzięki czemu na każdy proces rzucamy powiew świeżości.

Czy Event Storming to odpowiednie narzędzie dla Biznesu? Zdecydowanie tak! facilitator zawsze prowadzi sesję w ten sposób, aby obie strony, Biznes i Zespół Wytwórczy Wykonawcy, wyniosły z sesji jak najwięcej. Dzięki takim sesjom nie jednemu Klientowi udało się znaleźć wiele luk w swoich procesach biznesowych czy analizie biznesowej.

Czy developerzy nie zasypią nas pytaniami technicznymi? Dlatego właśnie mówimy o developerach w liczbie mnogiej. Nawet jeśli Klient potrzebuje na początku One Man Army, to i tak w sesji uczestniczy co najmniej 3 developerów. To po to, by poznać, omówić wewnętrznie kluczowe zagadnienia oraz  zadać odpowiednie pytania biznesowe. Tak aby Klient dobrze zrozumiał i pytania, i intencje ich autorów. Kwestie techniczne zazwyczaj rozważane są między osobami technicznymi. Klient może mieć wpływ na wybór rozwiązania problemu – oczywiście po przedstawieniu odpowiednich opcji.

Event Storming a zadania

Najczęściej słyszanym przez nas pytaniem jest: „Po co mi ten Event Storming?”. Cierpliwie odpowiadamy:

Po to aby Klient zapoznał się z problemem.

Aby Klient mógł zwalidować swoją Analizę Biznesową;

By zderzyć pomysły doświadczonych developerów z Biznesem;

Po to aby móc rozpisać zadania na pierwsze sprinty.

Dzięki ES jesteśmy w stanie zlokalizować miejsce, od którego musimy rozpocząć prace. To nam pozwala również określić zakres zadań na pierwsze sprinty. Za sprawą ES planowanie czy estymacje prac trwają krócej – dzięki pozyskanej przez zespół wytwórczy wiedzy.

Czy Event Storming się opłaca?

Oczywiście, że tak. Nie tylko dlatego, że po podpisaniu umowy sesje Event Stormingu oferujemy Klientom bezpłatnie. Wiedza pozyskana w ciągu tych kilkugodzinnych warsztatów jest nieoceniona. Dzięki Event Stormingowi developerzy DevOpsi są w stanie szybko wejść w każdą branżę, bez kosztów ponoszonych przez Klienta.