Jak rozpoznać istotne zdarzenia biznesowe i jak odsiać szum informacyjny
Ten mój board wygląda coraz gorzej. Mam pierdyliard strzałek, 2000 kartek, przestaję nad tym panować. Ratuj. Mam pieniądze.
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?
No chyba nie. Nie?
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.
No chyba nie. Nie?
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.
Wow.. Nie przestawaj mówić. Mam ciarki.
Nie przerywaj, mówię z pamięci. W warstwie "odkrywczej" mamy zdarzenia takie, o:
No nie pierd... no nie gadaj.
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)
G-E-N-I-A-L-N-E
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.
Ma sens.
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.
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.
Dzięki Tobie staję się lepszy. Nigdy mnie nie zostawiaj.
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?