Domain Storytelling – dlaczego warto go mieć w projekcie
Domain Storytelling – kiedy dokumentacja przestaje być nudna
Przyznajmy się szczerze: ile razy czytaliście dokumentację techniczną i mieliście ochotę zamknąć kartkę oraz zdrzemnąć się po drodze? Tradycyjne podejście do dokumentacji często zawodzi w podstawowym zadaniu – nie potrafi wytłumaczyć, dlaczego dany system w ogóle powstał i jak faktycznie działa w prawdziwym świecie.
Domain Storytelling odwraca to podejście całkowicie do góry nogami.
Co kryje się pod tym pojęciem?
Domain Storytelling to technika współpracy, w której zespoły techniczne, eksperci domenowi i interesariusze wspólnie mapują działanie systemu za pomocą... historii. Zamiast suchych diagramów UML czy niekończących się specyfikacji, tworzymy wizualne narracje pokazujące, kto co robi, kiedy i dlaczego.
Wyobraź to sobie jak flowchart, który czyta się jak rozdział z czyjegoś dnia pracy.
Identyfikujesz aktorów (ludzi i systemy zaangażowane w proces), ich działania (co faktycznie robią) oraz obiekty robocze (rzeczy, które tworzą, modyfikują lub wykorzystują). Następnie splatasz to wszystko w wizualną sekwencję, którą każdy – niezależnie od technicznego doświadczenia – jest w stanie zrozumieć.
Dlaczego deweloperzy powinni się tym interesować?
Oto sedno sprawy: większość długu technicznego nie pochodzi ze złego kodu. Pochodzi z niezrozumienia. Budujesz to, co myślisz, że interesariusz chciał, a on chciał czegoś zupełnie innego – i nagle przepisujesz kod o drugiej w nocy.
Domain Storytelling wychwytuje takie niezgodności na wczesnym etapie. Kiedy możesz zobaczyć wizualnie odwzorowany proces biznesowy, luki, powtórzenia i nieporozumienia stają się od razu oczywiste.
Szczególnie istotne jest to w przypadku systemów sterowanych zdarzeniami – a tutaj pojawia się EventSourcingDB. Architektura oparta na zdarzeniach żyje i umiera w zależności od tego, jak dobrze oddaje rzeczywiste zachowania domeny. Jeśli historia jest zła, czeka cię miesiące przerabiania schematu zdarzeń.
Wymierne korzyści
Szybsze wdrożenie nowych osób: Członkowie zespołu mogą zrozumieć cel systemu w minuty zamiast w dni.
Mniej poprawek: Wszyscy ustalają "co" zanim ktokolwiek napisze pierwszą linijkę kodu.
Lepsza komunikacja z interesariuszami: Partnerzy nietechniczni mogą realnie przyczyniać się do planowania.
Jasniejsze modelowanie zdarzeń: Dla osób pracujących z event sourcingiem, Domain Storytelling sprawia, że granice agregatów i relacje między zdarzeniami stają się wizualnie intuicyjne.
Od czego zacząć?
Nie potrzebujesz wymyślnych narzędzi do praktykowania Domain Storytelling. Tablica, karteczki samoprzylepne i chęć słuchania ekspertów domenowych zabiorą cię zaskakująco daleko.
Główna zasada jest prosta: pytaj "co dzieje się potem?" dopóki nie zmapujesz całego procesu biznesowego. Zwracaj uwagę na momenty, gdzie ludzie się wahają, nie zgadzają lub mówią "tak naprawdę to jest bardziej skomplikowane" – te chwile odsłaniają prawdziwą złożoność ukrytą w twojej domenie.
Co z tego wynika dla twojego stacka?
Niezależnie od tego, czy budujesz prostą stronę lądowania, czy złożony system rozproszony na swojej platformie cloud hostingowej, zasada pozostaje ta sama: zrozumienie ludzkiej historii stojącej za twoim technicznym rozwiązaniem prowadzi do lepszych rezultatów.
Twój model domeny jest tak dobry, jak twoje zrozumienie tej domeny. Domain Storytelling daje ci ustrukturyzowany, powtarzalny sposób budowania tego zrozumienia w sposób colaboracyjny.
Kolejnym razem, gdy planujesz nową funkcję lub system, odłóż na bok obszerny dokument wymagań. Chwyć za markery. Najpierw opowiedz historię.
Stosowałeś Domain Storytelling w swoich projektach? Podziel się doświadczeniami w komentarzach – chętnie usłyszymy, co działało (a co nie) w twoim zespole.