Event Storming - Mariusz Gil

Kod: es-gil
Kategoria: Warsztaty eksperckie DDD
Forma: 20% wykłady / 80% interaktywna demonstracja
Czas trwania: cztery 4-godzinne sesje, 4 dni
Odbiorcy: testerzy, Scrum Masters, developerzy, Product Owners, analitycy, management, architekci
Zapisy: Indywidualne zamówienie i dopasowanie dla grupy.
Logistyka: W siedzibie klienta lub w innym dowolnym miejscu.

Celem sesji demo jest wprowadzenie wszystkich uczestników projektu do tematu Event Stormingu na przykładzie laboratoryjnym.

Dzięki niemu istnieje możliwość szybkiego zaznajomienia się z techniką w przypadku kiedy np. wymagania co do nowego systemu nie są jeszcze sprecyzowane a chcemy już podjąć decyzję o wyborze podejścia.

Modelowanie będzie podzielone na dwa poziomy: strategiczny i taktyczny symulując uczestnictwo klientów operujących na różnym poziomie abstrakcji.

Przykład laboratoryjny został tak przygotowany aby zawierał typowe klasy problemów z jakimi spotykamy się w realnym świecie:

  • Niejednoznacznie lub nawet sprzeczne wymagania
  • Uczestnicy projektu o różnym poziomie wiedzy domenowej
  • Ukryte Bounded Contexty, które należy dopiero wydestylować
  • Scenariusze integracyjne wymagające różnych podejść do mapowania kontekstów
  • Różne klasy złożoności modułów technicznych: konkurowanie o skończone zasoby biznesowe, zmiany stanu w czasie, duża ilość danych, złożoność algorytmiczna, alternatywne źródła danych, proste operacje crud i problem ich efektywnej implementacji poza podejściem DDD
  • Typowe błędy i pułapki w modelowaniu granic agregatów

Sesja warsztatowa jest "pauzowana" na każdym etapie tak aby uczestnicy mogli zreflektować się co do problemu jaki został sprowokowany, konsekwencji różnych podejść do rozwiązania i sposobu w jakim modelarz podchodzi do jego rozwiązania. Będą to zarówno problemy techniczne, architektoniczne jak i miękkie (komunikacyjne).

Wyróżniki szkolenia

  • Interakcja pomiędzy światem IT a biznesem - umiejętności miękkie
  • Szczegóły, które robią różnicę w powodzeniu sesji
  • Transformacja wyników sesji w rozwiązanie (kod domeny, API, podział na moduły)
  • Spojrzenie na metodykę z dystansu - tak aby uchwycić istotne techniki i różnie prowadzące do sukcesu

Program Szkolenia

Program jest ramą w jakiej możemy się poruszać merytorycznie - program dla konkretnego szkolenia dedykowanego ustalamy z grupą na podstawie analizy przed-szkoleniowej.

  1. Wstęp do EventStormingu
    1. Czym jest EventStorming?
    2. Technika Stormingu, czyli 3 poziomy myślenia o problemie
      1. Divergent
      2. Emergent
      3. Convergent
    3. Stosowalność techniki
    4. Metodyka
      1. Mechanika sesji
      2. Role i odpowiedzialności uczestników
  2. Warianty warsztatu i ich cele
    1. Big Picture
    2. Process Level
    3. Design Level / Software Design
    4. Value Driven
    5. UX Driven
    6. Retro
    7. Onboarding
  3. Sesja strategiczna, Big Picture + Process Level EventStorming
    1. Łagodne wejście w nomenklaturę poprzez stopniowe wprowadzanie notacji
    2. Odkrywanie procesów biznesowych
    3. Wstępna destylacja Bounded Context
    4. Określanie klasy problemu z jakim mamy do czynienia w każdym BC
      1. Szacowanie ryzyk
      2. Drivery architektoniczne
    5. Odkrywanie ukrytych Bounded Context
      1. Conway's Law vs SOA:Single Source of Truth
      2. Destylacja dziedziny kontekstów tak aby były reużywalne
    6. Wstępne opracowanie strategii integracji Bounded Contextów
      1. Published Language
      2. Open Host
      3. Shared Kernel
      4. Anticorruption Layer
      5. Customer-Supplier
      6. Conformist
  4. Sesja taktyczna, Design Level EventStorming
    1. Kryteria wyboru kontekstów, w których będziemy stosować DDD
    2. Sesja ES z pogłębionym poszukiwaniem reguł domenowych
    3. Modelowanie granic agregatów - reguły i heurystyki
      1. Typowe problemy
        1. Zbyt duży agregat - brak kohezji
        2. Zbyt mały agregat - brak spójności
        3. Źle obrany korzeń agregatu
        4. Mylenie obiektów biznesowych z widokami (projekcjami)
      2. Najlepsze praktyki
    4. Przykład implementacji kilku agregatów
      1. Testowanie
      2. Mapowanie relacyjno-obiektowe
      3. Optimistic Locking
  5. EventStorming w projektach bez Domain Driven Design
  6. Tematyka miękka
    1. Nawyki kognitywne uczestników sesji - dobór stylu prowadzenia sesji do typów uczestników
    2. Zadawanie pytań z intencją lepszego zrozumienia zamiast nękania
      1. Przykładowe pytania uszczegóławiające
    3. Dbanie i komfort emocjonalny nietechnicznych uczestników sesji
  7. Good & Bad Practices
  8. Remote EventStorming vs wersja on-site warsztatu
    1. Przegląd istotnych różnic pomiędzy wersjami warsztatu
    2. Tips & Tricks
    3. Narzędzia
  9. Przegląd i omówienie use-case’ów wykorzystania EventStormingu z realnych projektów
    1. Przegląd typowych problemów występujących podczas sesji
  10. Sesja Q&A


Pobierz program w formacie PDF

Trenerzy

Poznaj ekspertów, którzy mogą poprowadzić Twoje szkolenie.

Materiały związane ze szkoleniem

Idea renesansowej pracowni - Bottegi zakłada nieustanną pracę jej członków i dzielenie się jej wynikami.

Zamów szkolenie

Imię i nazwisko:
Firma:
E-mail:
Nr tel:
Temat:
Wiadomość:

Jeżeli preferujesz osobisty kontakt to zawsze możesz zadzwonić.

Iwona Sobótka

Koordynatorka szkoleń


Twoje dane osobowe przetwarzamy, aby udzielić odpowiedzi na Twoje pytanie. Administratorem Twoich danych osobowych jest Bottega It Minds Sławomir Sobótka. Przysługuje Ci prawo wniesienia sprzeciwu wobec przetwarzania, prawo dostępu do danych, prawo żądania ich sprostowania, usunięcia lub ograniczenia ich przetwarzania. Szczegółowe informacje dotyczące przetwarzania Twoich danych osobowych znajdują się TUTAJ.