Jak długo można robić Event Stroming?

Minęły kolejne tygodnie (właściwie to dwa, a może mniej) ściana po raz kolejny została ogołocona ze swojego jestestwa, karteczki ścieliły się gęsto,  jak po bitwie. Naga ściana, dziesiątki karteczek leżących w nieładzie u jej stóp była świadectwem toczącego się konfliktu.

Ale cóż to, z oddali widać zbliżającą się silę, niosąca w rękach nowe bogactwa, nowe karteczki.

Po tym wstępie słowo wyjaśnienia.

Rozpoczołem kolejną spektakularną bitwę z własną niewiedzą. Im dłużej siedzę w pod „ścianą”  tym mam większe wątpliwości, że ogarniam zasady rządzące Event Stormingiem.

Odpowiedzi na wcześniejsze pytania.

Zajrzałem do szklanej kuli, spytałem się mędrców, i znalazłem odpowiedzi trochę:

Czy istnieją zdarzenia ważne i ważniejsze (prawie jak w życiu)?

Nie istnieją. Na tym można by zakończyć ale podajmy nie co bardziej rozszerzoną wersje. Pytanie i odpowiedz są dostępne na youtubach w komentarzach.

Zdarzenia powinny być o podobnym poziomie ważności. Problem z wagą zdarzenia może wyniknąć, że wchodzę zbyt głęboko lub płytko w zdarzenia.

Kolejne pytanie było o agregaty. Zauważyłem, że pomiędzy komendą, a zdarzeniem coś jednak istnieje, nie zawsze ale jednak jest. Czasami nazywają to agregatami, czasami niezmiennikami (regułami). Moje pytanie dotyczyło czym są agregaty.

Agregaty w Event Stormingu nie są tym samym co w DDD. W ES jest to bardziej obiekt prosty lub złożony może posiadać pewną logikę, a może nie być jej wcale i komenda bezpośrednio wywołująca zdarzenie będzie też w porządku.

Co do niezmienników ,(reguły dziedzinowe), (zaś youtube).

Wydaje mi się, że jest to podobne do agregatu. Niezmienniki to też pewne warunki jakie istnieją miedzy komendą a zdarzeniem. Więc można by się pokusić o stwierdzenie, żeby zaistnieć mogło zdarzenie musi się wykonać pewna akcja w systemie, która może być obwarowana pewnymi regułami.

Życie jednak nie jest takie proste i zdarzenie może być wywołane przez inne zdarzenie, zainicjowane przez system zewnętrzny, lub zaistnieć z powodu czasu (warunek), a czy na tym się lista kończy nie wiem.

A przy podejściu DDD każdej komendzie odpowiada agregat, bez DDD nie koniecznie jest  to agregat, może to być jakiś obiekt o różnej złożoności.

Wniosek.

Kto pyta nie błądzi (albo błądzi mniej).

Ostatnie tygodnie to ciągła walka z moją z niewiedzą na temat Event Stormingu, DDD, kojarzenia faktów i strachem przed zadaniem pytania. Dobre odwzorowanie (zamodelowanie) procesów na ścianie rzeczywistej (czy wirtualnej) z mojej perspektywy to proces podobny do nauki programowania. Wiele trzeba napisać żeby w końcu się udało, a jak się uda to i tak zawsze można to zrobić lepiej.

Czy warto, się angażować w Event Storming?

Jeżeli ta technika przynosi zysk dla zespołu, projektu, to tak. Warunek jest taki, że zaangażowanie w to musi być więcej niż jedno osobowe. Wydaje mi się że na wszystko musi być czas.

„Never give up because great things take time” – link Castorama, wchodzisz na własną odpowiedzialność

Nigdy nie myślałem, że w stawie na moim blogu linka do Castoramy, nie jest to reklama tego sklepu.

Linki: