- Abstrakt
- Demo
- Jakie problemy rozwiązuje Event Storming?
- W czym pomaga Event Storming?
- Jak to działa?
- Przykład udanego zastosowania
- Przykład niewłaściwego użycia
- Podstawowe wytyczne (Guidelines) dla zorganizowania warsztatu
- Pierwsze zastosowanie i wskazówki
- Krytycznym okiem
- Materiały na start
- Wyzwania dla czytelnika
- Dyskusja (na LinkedIn)
- O autorze
Abstrakt
Event Storming to warsztat służący do modelowania procesów. Metoda powstała jako sposób na projektowanie software’u w branży IT, ale używa się jej również do modelowania procesów biznesowych (np. onboardingu pracownika). Stanowi świetny początek pracy z procesami i może pomóc we wprowadzaniu CMMI w firmie i/lub organizacji. Warsztat Event Stormingu można zorganizować lokalnie oraz online za pomocą takich narzędzi jak Miro czy Mural.
EventStorming to elastyczny format warsztatów do wspólnej eksploracji złożonych domen biznesowych.
Alberto Brandolini (twórca event stormingu)
Strona domowa:
eventstorming.com
Wikipedia:
en.wikipedia.org/wiki/Event_storming
Demo
Obejrzyj również inne demonstacje:
- eventstorming (1min 16s)
- Event Storming – devWarsztaty Wrocław – lipiec 2019 (2min 30s)
- Process Modelling EventStorming (Miro) (3min 23s)
Jakie problemy rozwiązuje Event Storming?
Według twórcy Event Stormingu, którym jest Alberto Brandolini, warsztaty pomagają:
– ocenić kondycję istniejącej linii biznesowej i odkryć najskuteczniejsze obszary do ulepszeń
Alberto Brandolini
– zbadać wykonalność nowego modelu biznesowego startupu
– wymyślać nowe usługi, które maksymalizują pozytywne wyniki dla każdej zaangażowanej strony
– zaprojektować czyste i łatwe w utrzymaniu oprogramowanie opartego na zdarzeniach, aby wspierać szybko rozwijające się firmy
W czym pomaga Event Storming?
Event Strormin pomaga w:
- zaprojektowaniu i/lub wymodelowaniu już istniejących procesów (zarówno software’owych jak i biznesowych)
- uspójnieniu rozumienia przerabianego na warsztacie Event Stormingu zagadnienia oraz jego języka (tzw. ubiquitous language) dzięki zgraniu wszystkich interesariuszy w kontekście tego, co robią w firmie i/lub organizacji poprzez czyszczenie tzw. „białych plam” niewiedzy procesowej, produktowej oraz organizacyjnej
- wskazywaniu ryzyk i wąskich gardeł (tzw. bottlenecks) oraz ich priorytetyzowaniu
Oprócz tego Alberto Brandolini wymienia takie zalety warsztatu Event Stormingu:
Adaptacyjny charakter Event Stormingu umożliwia wyrafinowaną interdyscyplinarną konwersację między interesariuszami z różnych środowisk, zapewniając nowy rodzaj współpracy poza silosami i granicami specjalizacji.
Alberto Brandolini
Źródło: eventstorming.com
Jak to działa?
- grupa osób spotyka się w jednym miejscu i czasie, by rozwiązać określony problem
- podczas warsztatu ludzie przyklejają karteczki samoprzylepne na folię powieszoną na ścianie – folia stanowi „oś czasu” pokazującą proces
- kolory karteczek mają znaczenie, najważniejsze to:
- Pomarańczowa – Domain Event (wydarzenie domenowe, fakt biznesowy)
- Czerwona (obrócona o 45°) – Hot Spot (ryzyko, brak wiedzy, problem)
- Niebieska – Command (decyzja, polecenie)
- Purpurowa – Policy (polityka)
- Żółta (mała) – Actor (rola lub osoba odpowiedzialna)
- należy zachęcać do tego, aby uczestnicy zadawali pytania (szczególnie tzw. „głupie pytania”) – dzięki temu zauważymy ludzi przeżywających tzw. „aha moments”, kiedy łapiąc się za głowę, będą pytać: „To my tak robimy?”, „To u was tak to działa?”
Rezultatem warsztatu jest odkrycie tzw. „białych plam” w wiedzy produktowej, projektowej i/lub organizacyjnej itd.
Przykład udanego zastosowania
Zoptymalizowanie procesu dostarczania paczki oprogramowania (SDK) do klienta z trzech tygodni do jednego dnia
Jak wyglądała sytuacja?
Pracowałem w dużej korporacji działającej w branży automobile z zespołem, który był odpowiedzialny za dostarczanie materiałów, dzięki którym klient mógł u siebie efektywniej implementować nasze oprogramowanie. Nasz zespół był na samym końcu „łańcuszka” w naszym dziale (czyli inne zespoły dostarczały swoją wartość, a nasz zespół musiał to wszystko zebrać w całość, zapakować i wysłać do klienta). Wymagało to od nas tworzenia procesu, który koordynowałby działania wielu zespołów w środowisku dużej ilości zależności i zmienności.
Co było naszym celem?
Naszym celem była optymalizacja tego procesu.
Jakich działań się podjęliśmy?
Najpierw temat omówiłem z naszą Product Owner (PO) na rozmowach 1:1, gdzie przedstawiłem założenia warsztatu Event Stormingu i poprosiłem o opinię – pomysł spotkał się z ciepłym przyjęciem. Nawiązałem odrębne rozmowy 1:1 z każdym członkiem zespołu, gdzie wysłałem krótki filmik na temat idei warsztatu okraszony zwięzłym komentarzem z prośbą o poinformowanie mnie czy Event Storming byłby nam w stanie pomóc lepiej optymalizować nasz proces. Rozmowy doprowadziły do tego, że zespół nabierał gotowości do przeprowadzenia pierwszego eksperymentu z tym typem warsztatu. Ustaliliśmy, że poświęcimy na tę próbę maksymalnie 30min na jednej z naszych wirtualnych kaw.
Jaki rezultat osiągnęliśmy?
Zespół niemalże momentalnie „zaskoczył” z tym, o co chodzi w Event Stormingu i zaczął modelować swój proces. Czas 30min okazał się stanowczo za krótki i dlatego uczestnicy poprosili o kolejną godzinę następnego dnia (czwartek), a później o jeszcze jedną (piątek). W piątek ustaliliśmy, że wrócimy do modelowania procesu w poniedziałek i wtorek poświęcając na to po jednej godzinie każdego dnia. Rezultat przerósł oczekiwania – zespół dużo lepiej zrozumiał proces od strony technicznej oraz konsekwencje dla oprogramowania, które to ze sobą niosło. Dodatkowo, na podstawie tego procesu, stworzyliśmy checklistę do wydawania paczki SDK, którą podzieliliśmy się z innymi, a którą wciąż na bieżąco aktualizowaliśmy – dzięki temu udało się informować wszystkich interesariuszy, w którym momencie danego wydania jesteśmy, gdzie są problemy i ryzyka oraz kiedy można się spodziewać gotowej paczki. W ciągu kilku najbliższych miesięcy udało nam się zoptymalizować proces dostarczania paczki oprogramowania do klienta z trzech tygodni do jednego dnia.
Jakie były następstwa naszych działań?
Finalnie Event Storming na stałe zagościł w naszym portfelu narzędzi współpracy zespołowej. Używaliśmy go do codziennej pracy z naszym procesem, prezentowania jego obecnego stanu innym oraz szkolenia z niego innych zespołów, by pomóc wszystkim lepiej się do niego dostosować i dostarczać klientowi więcej wartości w szybszym czasie. Później używaliśmy go do planowania tworzenia każdego typu oprogramowania.
Jakie były nasze korzyści i co nam pomogło?
Wszystkie te działania pozwoliły nam zaoszczędzić ogromną ilość czasu oraz dużo lepiej zrozumieć nasze wyzwania. Należy jednak wspomnieć, że oprócz samego warsztatu Event Stormingu było wiele innych czynników, które nam sprzyjały w kwestii optymalizacji naszego procesu: OKRy wyznaczane przez firmę, bardzo zaangażowany zespół i prężnie działająca PO. Niemniej jednak zespół otwarcie uważał warsztaty Event Stormingu za jeden z kluczowych elementów sukcesu w osiągnięciu pożądanych rezultatów.
Autor:
Damian Borowski
Twórca InzynieriaSpoleczna.pl, Scrum Master
Przykład niewłaściwego użycia
Nieudana próba wdrożenia Event Stormingu w młody zespół
Pracowałem z zespołem studentów Politechniki Łódzkiej, którego członkowie byli w trakcie stażu w naszej firmie. Moim celem było prowadzenie tego zespołu od strony organizacyjnej w metodyce Scrum. Jednym ze spotkań w Scrumie jest tzw. Retrospektywa, której celem jest wyciągnięcie wniosków z ostatniego okresu pracy i w konsekwencji poprawienie działań procesowych w zespole. Na jedną z tych Retrospektyw wybrałem format Event Stormingu. Rezultat był taki, że niedoświadczony zespół młodych ludzi nie rozumiał sensu tych działań oraz tego, co było od nich wymagane w efekcie czego straciliśmy ponad połowę 1-godzinnego spotkania, a sam rezultat Retrospektywy nie był tak wartościowy jak w przypadku innych, klasycznych i sprawdzonych, formatów tego typu wydarzenia. Czego się nauczyłem?
Lekcja 1 – K.I.S.S.
K.I.S.S. (ang. Keep It Stupid-Simple), czyli przede wszystkim prostota. Należy znać swoje ograniczenia, aby wybrać właściwe narzędzia do realizacji przedsięwzięcia i nie „przedobrzyć”. Z perspektywy czasu uznaję format Event Stormingu za zbyt rozbudowany dla ówczesnych potrzeb zespołu.
Lekcja 2 – Rozwój umiejętności wymaga czasu…
… a prowadzenie i uczestniczenie w Event Stormingach to też umiejętność! Nie spodziewajmy się po ludziach, że po 5-minutowym wprowadzeniu do zagadnienia będą od razu potrafili pracować zgodnie z założeniami Event Stormingu. Na to potrzeba czasu. Dlatego w mojej opinii z Event Stormingiem nie należy się rozpędzać z zespołem/produktem w stosunku do którego nie mamy 100% pewności, że:
– pomoże rozwiązać określone problemy,
– jeśli „zaskoczy”, będzie przestrzeń na to, aby kontynuować.
Lekcja 3 – Dobre wprowadzenie to 80% sukcesu
W momencie, w którym przedstawienie formatu Event Stromingu jest nagłe, zespół może poczuć się zaskoczony. Z tego względu omijałbym prowadzenia takich warsztatów jako „niespodzianki”, która na pytanie zespołu: „A co będziemy robić?” zostanie przez nas okraszona hasłami w stylu: „Zobaczycie, będzie fajnie!”. Zamiast tego proponuję miarowe wprowadzanie Event Stormingu do zespołu, przygotowywanie ludzi na te warsztaty, nawiązanie relacji w kontekście samego formatu, odpowiadanie na pytania i testowanie czy faktycznie pomoże on w zaspokojeniu aktualnych potrzeb.
Autor:
Damian Borowski
Twórca InzynieriaSpoleczna.pl, Scrum Master
Podstawowe wytyczne (Guidelines) dla zorganizowania warsztatu
- Określ jasny i konkretny cel spotkania – niech bazuje na chęci zaspokojenia sprecyzowanej potrzeby (im bardziej uświadomiona oraz powszechna potrzeba, tym lepiej dla zaangażowania uczestników).
- Zaproś właściwych ludzi – najważniejsze są osoby, które mają pytania oraz osoby, które mają wiedzę (warto również zadbać o dodatkowych moderatorów, jeśli będzie dużo uczestników).
- Zadbaj o warunki:
- lokalnie – zarezerwowana sala, folie elektrostatyczne na ściany, bloki karteczek w odpowiednich kolorach i ilościach, markery Sharpie
- online – przygotowana tablica na Miro lub Muralu, odpowiednie dostępy dla wszystkich uczestników
Pierwsze zastosowanie i wskazówki
- Na samym początku naprawdę warto dobrze przygotować przyszłych uczestników do pierwszego warsztatu. Z tego względu jest sens, aby:
- poświęcić nawet 2-3 tygodnie na zapoznanie uczestników z Event Stormingiem
- wysłać uczestnikom krótki filmik na start (np. jeden z tych, które są polecane w sekcji „Demo”)
- poprosić uczestników o opinię w kwestii przydatności tego warsztatu lub przy rozwiązywaniu danego problemu
- stworzyć przestrzeń do namysłu, żeby do niczego nie zmuszać, ale zdrowo i organicznie hodować temat, aby finalnie jak najlepiej odpowiadał ich potrzebom
- Pierwszą sesję należy zaproponować w formie eksperymentu, aby stworzyć uczestnikom warunki do wykonania zadania bez zbędnego obciążenia psychicznego. Dlatego pierwsze spotkanie najlepiej przeprowadzić:
- przy okazji luźnej atmosfery, np. na jednej z kaw lub innym, podobnym i nieformalnym spotkaniu
- w określonych ramach czasowych, aby dać ludziom szansę na praktyczne zapoznanie się z Event Stormingiem (30min brzmi wystarczająco dobrze)
- na wcześniej wybranym procesie, który będzie modelowany (najlepiej na takim, który jest bezpośrednio związane z obecną pracą uczestników)
- bez zbędnych gości, aby na spotkaniu byli tylko sami uczestnicy zaangażowani w zmianę (ciekawskim można później zdać raport)
- Na pierwszym (eksperymentalnym) spotkaniu obniżyć poprzeczkę standardu Event Stormingu, żeby ludzie łatwiej przyswoili sposób pracy z tym formatem warsztatu. Z tego względu jest sensowne:
- zawęzić różnorodność używanych karteczek:
- na początku ograniczyć zespół do używania tylko karteczek Domain Event (pomarańczowe)
- w trakcie spotkania wyczekać moment, gdy można dodać kolejny rodzaj karteczki – Hot Spot (czerwone)
- jeśli zespół jest sprawny, można rozważyć dodanie karteczek z Decyzją/Poleceniem (niebieska) lub Aktorami (małe żółte)
- w zależności od zespołu:
- albo nie skupiać się mocno na formie tekstów w karteczkach Domain Event (pomarańczowych), które z zasady powinny określać pewien rezultat/stan (np. „CV zostało dodane do bazy danych”)
- albo od samego początku uczyć i pilnować właściwego standardu
- pamiętanie o tym, że sukcesem spotkania eksperymentalnego ma być zapoznanie zespołu z narzędziem… a jeśli uczestnicy nadal będą chcieli pracować nad procesem, to postawić warunek, że priorytetowo muszą wymodelować proces do końca, aby móc skupić się na naprawianiu błędów w rzeczywistości.
- zawęzić różnorodność używanych karteczek:
- Po pierwszym spotkaniu należy być gotowym na to, że zespół będzie chciał kontynuować, a więc warto mieć wcześnie zarezerwowaną salę i/lub kalendarz, by móc pójść za ciosem.
Krytycznym okiem
Pomimo faktu, że Event Storming to świetny format warsztatu, ma on swoje wady. Oto kilka z nich:
- na warsztatach lokalnych (onsite, czyli „na żywo”) może być problem z ciągłym przekładaniem karteczek (co bywa niewygodne)
- na warsztatach online możemy mieć problem z uzyskaniem takiej dynamiki spotkania jak gdybyśmy spotkali się na żywo (za to same procesy modeluje się dużo bardziej wygodnie w dedykowanym oprogramowani, np. Miro)
- mała liczba osób lub niechęć uczestników może doprowadzić do tego, że warsztat nie odniesie takiego sukcesu, jaki zakładaliśmy (dlatego należy pamiętać, aby uprzednio dobrze przygotować uczestników do Event Stormingu)
- Event Storming pozbawiony następstw (np. follow-upu) może nie przynieść żadnej korzyści i dlatego trzeba pamiętać, że warsztat ten musi się przełożyć na konkretne akcje (na czego ustalenie można poświęcić ostatnią część spotkania)
Materiały na start
Artykuły:
- Event Storming – jak szybko odkrywać nieznane
- Przykład Event Stormingu, czyli jak wygląda warsztat krok po kroku
- Event Storming – pierwszy krok do DDD?
- Event Storming
- Modelowanie procesów z wykorzystaniem elementów Event Stormingu w wersji zdalnej
- Remote EventStorming
YouTube:
Wystąpienia twórcy Event Stormingu, Alberta Brandoliniego
- Event Storming – Alberto Brandolini – DDD Europe 2019 (35min 20s)
- Alberto Brandolini – 50,000 Orange Stickies Later (53min 28min)
- Alberto Brandolini – 100,000 Orange Stickies Later | Øredev 2019 (42min 26s)
- Remote EventStorming (not Event Storming): Redesigning Everything – Alberto Brandolini (1h 33min 24s)
Przykłady sesji na Miro
- Event Storming Workshop @Bucharest Software Craftsmanship Community (1h 12min 9s)
- Event storming na przykładzie – sesja live (1h 46min 16s)
- Trying out online EventStorming (1h 48min 48s)
Event Storming w IT
- 4Developers 2019: EventStorming Lessons Learned-kilkadziesiąt tysięcy post-itów później, Mariusz Gil (39min 53s)
- JDD 2018: Event Storming – skracanie dystansu pomiędzy IT a biznesem by Sławomir Sobótka (47min 1s)
- Event Storming: From a Pile of Sticky Notes to a Domain-Driven Design Microservices Architecture (50min 13s)
- Event Storming – od analizy do architektury (2h 39min 29s)
Książki:
Alberto Brandolini jest nadal w trakcie pisania swojej książki, ale jej obecny stan jest dostępny dla zakupu. Dostępna jest również darmowa próbka książki, którą można pobrać za darmo:
The EventStorming Handbook Unlocking Creativity, Collaboration, and Communication for Your Teams
https://leanpub.com/eventstorming_handbook
Kolekcja materiałów Alberto Brandoliniego:
Alberto Brandolini: https://www.eventstorming.com/resources/
Kolekcja materiałów Mariusza Gila:
Mariusz Gil: https://github.com/mariuszgil/awesome-eventstorming
Uznaję ten artykuł za przydatny i dlatego, aby pomagać innym ludziom, dzielę się nim oraz stroną InzynieriaSpoleczna.pl na moim profilu LinkedIn → KLIK.
Wyzwania dla czytelnika
- Co minimalnie zrobisz w ciągu najbliższych kilku godzin, aby doświadczyć Event Stormingu na własnej skórze i następnie pogłębić swoją wiedzę na jego temat?
- Jakich dwóch argumentów użyjesz, aby przekonać swój zespół do spróbowania przeprowadzenia eksperymentalnej sesji Event Stormingu?
- Kontaktu do jakich trzech osób potrzebujesz, aby wprowadzić Event Storming w swojej firmie i/lub organizacji?
Dyskusja (na LinkedIn)
Udanego wdrożenia!
InzynieriaSpoleczna.pl
O autorze
Założyciel inicjatywy PonadPrzeciętni, twórca narzędzia Model Dedykowanych Systemów (MDS), autor frameworka Activerto oraz inicjator serwisu InzynieriaSpoleczna.pl. Zawodowo zajmuje się usprawnianiem działań organizacji.