Zadzwoń do nas
+48 530 088 176

Event storming - w drodze do DDD

Nasze usługi Wróć do Know-How

Ścisła współpraca programistów z klientem zlecającym projekt umożliwia stworzenie najbardziej dopasowanego oprogramowania. Klient przedstawia oczekiwania do projektu, a firma programistyczna może zaproponować optymalne rozwiązania dla danego modelu biznesowego. Takie podejście umożliwia wzajemne zrozumienie obu stron oraz jasne przedstawienie oczekiwań klienta i możliwości technicznych po stronie firmy programistycznej. Jednym ze sposobów na taką współpracę jest projektowanie oparte na domenie, czyli Domain-Driven Design. Czym jest DDD? Jak zorganizować warsztat event storming, który umożliwi zastosowanie DDD? Odpowiedzi znajdziesz w artykule.

Co znaczy Domain-Driven Design?

Domain-Driven Design, czyli w skrócie DDD to podejście do tworzenia oprogramowania ze szczególnym naciskiem na potrzeby biznesu i jego specyfikę. Proces projektowania systemów i aplikacji opiera się na dokładnej analizie wymagań klienta lub użytkownika końcowego. Model domenowy (czyli DDD) znajduje zastosowanie w większych, bardziej skomplikowanych projektach informatycznych.

Na czym polega Domain-Driven Design? Dla uzyskania najlepszych efektów podejście DDD zakłada ścisłą współpracę programistów z osobami związanymi z biznesem (tzw. ekspertami domenowymi). Obie strony będące specjalistami w swojej dziedzinie są zobowiązani do unikania trudnego, często niezrozumiałego słownictwa branżowego. Eksperci techniczni oraz przedstawiciele obsługiwanej branży powinni wypracować wspólny język (ubiquitous language), zrozumiały dla wszystkich uczestników projektu.

Co znaczy Domain-Driven Design? - Pixlab.pl
Domain-Driven Design programowanie systemu - Pixlab.pl

Domain-Driven Design programowanie systemu

Domain-Driven Design programowanie systemu
W podejściu DDD prace należy rozpocząć od stworzenia tzw. modelu domeny. Innymi słowy, chodzi tutaj o zdefiniowanie głównych funkcji, zadań i celów oprogramowania. Gdy został już ustalony zarys systemu, kolejnym krokiem jest podzielenie projektu na części, czyli właśnie domeny.

DDD to projektowanie oparte na domenie. Osoby reprezentujące biznes, dla którego powstaje system, przekazują niezbędne informacje, aby niezwiązany z branżą zespół deweloperski mógł stworzyć jak najlepsze rozwiązanie. Zespół deweloperski oraz eksperci domenowi ściśle ze sobą współpracują w trakcie prac nad każdą domeną.

Zorganizowanie warsztatu event storming jest najlepszą drogą do zastosowania podejścia DDD w realizowanych projektach. Warsztat event storming zakłada spotkanie ekspertów domenowych (czyli osoby znające branżę, dla której powstaje system) z firmą programistyczną (czyli techniczną stroną projektu). Czym dokładnie jest event storming?

Co to jest event storming?

Event storming to metoda warsztatowa pomagająca w zrozumieniu potrzeb i wymagań konkretnej branży podczas tworzenia oprogramowania. Programiści pracujący nad technicznymi aspektami mogą podpowiedzieć lepsze rozwiązania w momencie, gdy rozumieją specyfikę branży, dla której tworzą program lub system. Według ogólnej definicji event storming to jedna z metod analizy projektu, przy jednoczesnym określeniu potrzeb klientów. Sprawdza się podczas tworzenia, ale też rozwijania oprogramowania.

Event storming to metoda warsztatowa, w której biorą udział eksperci techniczni, eksperci domenowi oraz osoba czuwająca nad sprawnym przebiegiem warsztatu (tzw. facilitator). Stroną techniczną są przedstawiciele IT, czyli programiści. Eksperci domenowi to strona biznesowa, czyli przedstawiciele firmy zlecającej wykonanie systemu. Spotkanie obu stron pomoże zrozumieć sposób działania aplikacji od strony technicznej (osobom z branży) oraz specyfiki branży dla programistów.

Uczestnicy warsztatu event stormingu są dobierani w taki sposób, aby podczas spotkania można było podjąć kluczowe decyzje. Metoda warsztatowa pozwala spojrzeć na dany produkt z różnych perspektyw. Każdy z uczestników ma możliwość podzielenia się swoim punktem widzenia oraz wyzwaniami i zagrożeniami, które mogą pojawić się w trakcie działania programu.

Co to jest event storming? - Pixlab.pl
Event storming krok po kroku - Pixlab.pl

Event storming krok po kroku

Event storming to metoda warsztatu, której przebieg można indywidualnie dobierać do tworzonego produktu. Ustalając kroki, należy przemyśleć tworzone oprogramowanie pod kątem jego wielkości i złożoności. Zazwyczaj wszystkie elementy tworzonego systemu, w tym funkcjonalności i zdarzenia, uczestnicy warsztatów zapisują na kolorowych karteczkach i umieszczają na tablicy. Dzięki temu każdy z uczestników ma wgląd do zapisanych notatek oraz ułatwia to pogrupowanie zadań w kolejnych etapach projektowania modelu. Jakie są kroki przeprowadzenia event stormingu?

Określenie celu spotkania

Na początku warsztatów kluczowe jest określenie celu spotkania. Pierwsze spotkanie może wiązać się z koniecznością zdefiniowania modelu domeny, czyli określeniu zakresu i szacowanego czasu wdrożenia. W innym przypadku będzie to ustalenie kolejnych etapów prac realizowanego przedsięwzięcia lub elementów, które mają być poprawione w działającej aplikacji.

Zdefiniowanie zdarzeń

Uczestnicy spotkania muszą określić wszystkie zdarzenia (domain events) z punktu widzenia osób zlecających utworzenie aplikacji, strony lub systemu. Na tym etapie należy określić wszystkie zadania w projekcie. Najlepiej przejść przez cały proces działania programu i krok po kroku zapisywać zdarzenia. Określenie zdarzeń pomoże zrozumieć, jak ma działać system już na etapie projektowania oprogramowania.

Zdarzenia dotyczące tworzenia sklepu internetowego mogą dotyczyć zakładania przez użytkownika konta, dodawanie produktów do koszyka, generowanie i wysyłanie faktury do klienta. W przypadku wewnętrznego systemu może to być nadanie uprawnień użytkownikom, rozdzielanie zadań między działami, sposób komunikacji czy sposób pracy z dokumentami magazynowymi.

Określenie czynności użytkowników

Na tym etapie należy dokładnie określić, co zrobi użytkownik w praktyce, żeby wywołać zdarzenie. Na przykładzie sklepu internetowego - aby otworzyła się bramka płatności, klient musi w koszyku kliknąć polecenie realizacji zamówienia. Zebranie takich informacji podczas warsztatu umożliwi prześledzenie drogi użytkownika oraz już na etapie planowania i projektowania pozwoli dostrzec miejsc, gdzie mogą pojawić się błędy lub trudności.

Stworzenie grupy zadań i zdarzeń

Kolejnym krokiem jest powiązanie zdarzeń w konkretne grupy zadań do zrealizowania przez firmę programistyczną. Dzięki temu prace będą jasno określone, a samo oprogramowanie powstanie szybciej.

Zalety Event stormingu

  • wzajemne zrozumienie stron projektu - zespół deweloperski ma możliwość zrozumienia specyfiki branży, natomiast przedstawiciele domeny mogą dowiedzieć się o możliwościach i ograniczeniach technologicznych różnych rozwiązań.
  • warsztaty event stormingu zachęcają do wymiany informacji między stroną techniczną i biznesową, co pomaga spojrzeć na tworzony program z różnych perspektyw.
  • zdefiniowanie zakresu prac - w projektowaniu opartym na domenie możliwe jest utrzymanie kontroli nad kierunkiem prac od samego początku. Określenie celu projektu oraz pojedynczych zadań wpływa pozytywnie na jakość i szybkość pracy przy tworzonym oprogramowaniu. Każdy z programistów ma poczucie, że jego praca ma uzasadnienie w praktyce.
  • wyższa jakość produktu docelowego - w projektowaniu opartym na domenie możliwe jest stworzenie kompletnej specyfikacji oraz zdefiniowanie potencjalnych problemów w połączeniu z tłem biznesu lub branży.
Zalety Event stormingu - Pixlab.pl

Masz pytanie? Potrzebujesz wstępnej wyceny?

Nie bój się pytać. Jestem po to, aby Ci pomóc i doradzić najlepsze rozwiązanie.
newsletter

Bądźmy w kontakcie!

Masz pytanie lub chcesz porozmawiać o projekcie?
Pixlab Sp. z o.o.
ul. Kosynierów 120/A16, 84-230 Rumia

Ta strona korzysta z ciasteczek aby świadczyć usługi na najwyższym poziomie. Dalsze korzystanie ze strony oznacza, że zgadzasz się na ich użycie.