← wszystkie odcinki

Rodzaje zdarzeń

Jak rozpoznać istotne zdarzenia biznesowe i jak odsiać szum informacyjny

🕵️
Analityk biznesowy

Ten mój board wygląda coraz gorzej. Mam pierdyliard strzałek, 2000 kartek, przestaję nad tym panować. Ratuj. Mam pieniądze.

🧑‍💻
Analityk 2

To dobrze. Zostaw pod wiaduktem. Patrzyłem na tego boarda Twojego no i widzę tam mnóstwo szumu informacyjnego. Zapisujesz chyba wszystko co biznes powie. Ja wiem, że oni wiedzą skąd i kiedy pobrać dane i kiedy wyszukać coś w GUI, ale czy to na pewno wszystko potrzebne na warsztatach majacych na celu pozyskanie wiedzy biznesowej?

🕵️
Analityk biznesowy

No chyba nie. Nie?

🧑‍💻
Analityk 2

Brawo, świetnie to ująłeś - nie. Wszystko zależy od celu warsztatu. Jeśli zależy nam na odkryciu wiedzy biznesowej no to nie interesują nas technikalia, nie będzie nas też specjalnie interesowało to co user wklikuje w pola formularza.

🕵️
Analityk biznesowy

No chyba nie. Nie?

🧑‍💻
Analityk 2

W punkt. Pewien fachura od ES powiedział mi pewnego słonecznego dnia. Słuchaj Mirek, zdarzenia to są różne. Są ważne i mniej ważne.

🕵️
Analityk biznesowy

Wow.. Nie przestawaj mówić. Mam ciarki.

🧑‍💻
Analityk 2

Nie przerywaj, mówię z pamięci. W warstwie "odkrywczej" mamy zdarzenia takie, o:

  • zdarzenia domenowe
  • zdarzenia infrastrukturalne
  • zdarzenia środowiskowe
  • zdarzenia interfejsu graficznego

Nieco inną kwestią jest zmapowanie odkrytych zdarzeń na elementy techniczne. Nie jest łatwo odpowiedzieć na nieprecyzyjne pytanie dotyczące rodzajów zdarzeń. Jeden rabin powie: no my wyróżniamy zdarzenia publiczne oraz prywatne. I będzie to jakaś odpowiedź. Inny rabin powie: wyróżniamy u siebie Command Message & Document Message & Event Message bo przeczytaliśmy Enterprise Integration Patterns (B. Woolf, G. Hohpe).

🕵️
Analityk biznesowy

No nie pierd... no nie gadaj.

🧑‍💻
Analityk 2

Tak, synu. Taka prawda jest. Zdarzenia domenowe / biznesowe to te które nas głównie interesują podczas takich warsztatów. Zdarzenie domenowe wydarzyło się, to jest fakt. I co więcej jesteś w stanie określić dokładnie kiedy - 2024-02-11 12:00:00.1234. Zmieniają stan naszego systemu. To bardzo ważne. Żeby odkryć takie zdarzenie nie musimy wchodzić ani w aspekty architektury, ani w UI, ani w aspekty stacku technologicznego. Np.: Potwierdzono rezerwację albo Upłynął termin płatności faktury (a nie np.: Nie opłacono faktury - nie jesteśmy w stanie takiego zdarzenia umiejscowić w czasie)

🕵️
Analityk biznesowy

G-E-N-I-A-L-N-E

🧑‍💻
Analityk 2

Tak o mnie mówią. Zdarzenia UI np.: "Wyszukano klienta", "Wypełniono pole nip", "Submitnięto formularz", "Wypełniono formularz" nie wnoszą wiele do naszego modelu domenowego. Nie zmieniają stanu systemu. Ale z drugiej strony.. jeśli przez dodanie kilku kartek ze zdarzeniami nie-domenowymi biznesowi będzie łatwiej rozmawiać / zrozumieć to co robimy, to dodaj je, nie bądźmy events-nazi. Niech nie stanowią jednak one trzonu Twojego modelu.

🕵️
Analityk biznesowy

Ma sens.

🧑‍💻
Analityk 2

Zdarzenia infrastrukturalne to zdarzenia, które również nie wnoszą wiele do naszego modelu domenowego. Np.: "zapisano rekord w bazie", "umieszczono event na rabbicie czy innej kafce". To nie jest biznes. Eksperci domenowi nie chcą i nie muszą słyszeć o technikaliach. To samo z ciągiem karteczek pt.: pobierz dane z systemu X -> pobrano dane z systemu X, pobierz dane z systemu Y -> pobrano dane z systemu Y. O nich będą rozmawiać programiści na późniejszym etapie.

🧑‍💻
Analityk 2

Zdarzenie środowiskowe to np.: klient nie odebrał połączenia telefonicznego, klient przyjechał na spotkanie, klient wszedł do placówki, wybrano miejsce parkingowe - te zdarzenia owszem mają miejsce, ale odbywają się w otaczającym nas świecie. Co do zasady nie jesteśmy w stanie umiejscowić ich dokładnie w czasie. Nie zmieniają stanu systemu. Nie triggeruje ich też żadna komenda. Takie zdarzenia nie będą miały źródła prawdy w naszym systemie.

🕵️
Analityk biznesowy

Dzięki Tobie staję się lepszy. Nigdy mnie nie zostawiaj.

🧑‍💻
Analityk 2

Będę trwać przy Tobie. Gdy słońce i deszcz. Ale pamiętaj, żeby próbować odpowiednio kategoryzować zdarzenia swoich kolegów i koleżanek. Ziarno, plewy, odsiewanie itd. pamiętasz, c'nie?