Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Hands-on: Introduction to Domain Storytelling

Stefan Hofer
November 05, 2019

Hands-on: Introduction to Domain Storytelling

Hands-on presented at O'Reilly Software Architecture Conference Berlin

Stefan Hofer

November 05, 2019
Tweet

More Decks by Stefan Hofer

Other Decks in Business

Transcript

  1. Brought to you by Dorota and Stefan (@hofstef) who work

    for WPS – Workplace Solutions GmbH in Hamburg and Berlin.
  2. Why Domain Storytelling? Today: • Understanding a domain • Reasoning

    about sub-domains and bounded contexts There is more: • Deriving domain model • Deriving requirements • Designing new processes • Facilitate change • …
  3. @hofstef @wps_de Schedule 1. Understanding a domain demo – explanation

    – exercise – break 2. Domain-Driven Design & finding boundaries demo – explanation – exercise – break 3. Practice 4. Your domain or a real world example
  4. @hofstef @wps_de …sends the contract to... ...passes on the contract

    to... sends contract passes on to to contract
  5. @hofstef @wps_de The sales person passes on the contract to

    the risk manager. passes on contract Risk manager Sales person to
  6. @hofstef @wps_de tells whish for Sales person Customer 1 monthly

    installment contract car to in 2 contract 3
  7. @hofstef @wps_de Draw here Leave some empty space there →

    Annotations, variations, and purpose Preconditions, assumptions, and triggers
  8. @hofstef @wps_de PowerPoint, yEd, Viso, gliphy… asks for Reservation (movie,

    time, seats) cashier customer 1 Screen plan finds available seats in CineSoft 2 seats recommends 3
  9. @hofstef @wps_de eBook and free sample available at: https://leanpub.com/domainstorytelling Get

    a discount using the link: http://leanpub.com/domainstorytelling/c/saconf
  10. @hofstef @wps_de Twitter: @hofstef @hschwentner #DomainStorytelling Slides: https://speakerdeck.com/hofstef Book: https://leanpub.com/domainstorytelling

    Slack: ddd-cqrs-es.slack.com Invite yourself: http://j.mp/ddd-es-cqrs Slack Channel: #domain-storytelling http://domainstorytelling.org The pictures used in this talk are public domain, unless noted otherwise. Screenshots and examples © WPS - Workplace Solutions GmbH
  11. @hofstef @wps_de Blue Book Red Book 2015 ’16 ’17 ’14

    ’13 ’12 2010 ’11 ’09 ’08 ’07 ’06 2005 ’04 ’03 ’02 2000 01 ’99 ’98
  12. Strategic Design Ubiquitous Language Tactical Design Eric Evans, 2003 Picture:

    Martin Schimak @martinschimak Paul Rayner, DDD Explore 2018 + Ubiquitous Language as an overarching principle DDD 2003 vs. DDD 2018
  13. One Domain – Multiple Models Foto: Maiconfz/pixabay/CCO Foto: Globus from

    book shelf/wikipedia/ CC-BY-3.0 Foto:Clker-Free-Vector-Images/pixabay/ CCO Foto: Wasserseemüller-Globus/Wikipedia/CC-PD-Mark
  14. Sub-domain vs. Bounded Context • Ideally, there is a 1:1

    relation between sub-domain and bounded context (at least for your core sub-domains). • In real life, there is a trade-off between • Business process/domain • Organizational structure • Business value • Technical constraints • User experience • … • Legacy systems are often unbounded Foto: Dreibund Medaille/Wikipedia/CC BY-SA 3.0
  15. @hofstef @wps_de Heuristic: Look for activities that - from an

    actor’s perspective - belong together.
  16. @hofstef @wps_de Navigating Officer Captain route puts 1 2 ship

    shilhouette depth map on Cartographer MANEUVER PLANNING (BIG PICTURE)
  17. @hofstef @wps_de Navigating Officer Captain route puts 1 2 ship

    shilhouette depth map on Cartographer MANEUVER PLANNING (BIG PICTURE)
  18. @hofstef @wps_de Navigating Officer Captain route puts ship shilhouette depth

    map on Cartographer Sounding Ship depth measures 1 depth (raw) sends 2 to contours, minimum depths 3 depth map 4 sends 5 depth map MANEUVER PLANNING (BIG PICTURE) (1-5) daily
  19. @hofstef @wps_de puts Navigating Officer Captain route 7 ship shilhouette

    depth map on Cartographer Sounding Ship depth measures 1 depth (raw) sends 2 to contours, minimum depths 3 depth map 4 sends 5 depth map 8 ship shilhouette to find route route 9 discusses with 6 MANEUVER PLANNING (BIG PICTURE) (1-5) daily (7) fitting shilhoutte available
  20. @hofstef @wps_de puts Navigating Officer Captain route 7 ship shilhouette

    depth map on Cartographer Sounding Ship depth measures 1 depth (raw) sends 2 to contours, minimum depths 3 depth map 4 sends 5 depth map 8 ship shilhouette to find route route 9 discusses with 6 MANEUVER PLANNING (BIG PICTURE) (1-5) daily (7) fitting shilhoutte available maneuver planning (sub-domain)
  21. @hofstef @wps_de puts Navigating Officer Captain route 7 ship shilhouette

    depth map on Cartographer Sounding Ship depth measures 1 depth (raw) sends 2 to contours, minimum depths 3 depth map 4 sends 5 depth map 8 ship shilhouette to find route route 9 discusses with 6 MANEUVER PLANNING (BIG PICTURE) (1-5) daily (7) fitting shilhoutte available ?