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

Domain Storytelling Training with DDDEU

Domain Storytelling Training with DDDEU

The 1 day will be split over 2 half days: 16/06 and 17/06 from 14:00 to 18:00 CEST.

In this workshop, you will learn how Domain Storytelling ((www.domainstorytelling.org)) helps you to analyze your domain and to support it with domain-driven business software. Domain Storytelling transports the knowledge from the domain experts' heads into the heads of developers, product owners, product managers and business analysts. Domain Storytelling brings these roles together in workshops where they learn and coordinate. Their common understanding of tasks and business processes is documented as a picture with simple pictograms.

Domain Storytelling is especially suited for

understanding a domain,
establishing a shared language between domain experts and IT expert,
talking about software requirements,
and designing viable, software-supported business processes.
Of course the workshop will cover how to apply Domain Storytelling in remote work settings.

The workshop does not require programming skills. It is suited for people working as software developers, user experience designers, Scrum masters, product owners, product managers, project managers, and business analysts.

B7a8524f73d760a4e2e403e43c6f0c70?s=128

Stefan Hofer

June 16, 2020
Tweet

Transcript

  1. Brought to you by Stefan (@hofstef) and Henning (@hschwentner). We

    are two DDD Enthusiasts working at WPS – Workplace Solutions GmbH in the beautiful city of Hamburg.
  2. @hofstef @hschwentner

  3. @hofstef @hschwentner

  4. @hofstef @hschwentner Domain Knowledge

  5. @hofstef @hschwentner Fach- sprache Domain Expert IT Expert

  6. @hofstef @hschwentner @hofstef @hschwentner

  7. @hofstef @hschwentner

  8. @hofstef @hschwentner Paul Rayner‘s 3 pillars* of DDD (as explained

    at Explore DDD 2018) *) plus Ubiquitous Language as an overarching principle Picture: Martin Schimak @martinschimak
  9. @hofstef @hschwentner @hofstef @hschwentner Pictographic Language

  10. @hofstef @hschwentner actor work object activity annotation

  11. @hofstef @hschwentner risk manager contract votes

  12. @hofstef @hschwentner person people system

  13. @hofstef @hschwentner contract passes on signs contract

  14. @hofstef @hschwentner The sales person passes the contract on to

    the risk manager. passes on RISK MANAGER SALES PERSON to CONTRACT
  15. @hofstef @hschwentner 1 1 1

  16. @hofstef @hschwentner CUSTOMER 1 SALES- PERSON 2 CAR INSTALLMENT CONTRACT

  17. @hofstef @hschwentner 4 5 CUSTOMER CONTRACT CONTRACT

  18. @hofstef @hschwentner CONCRETE STORIES VS. ABSTRACT PROCESSES

  19. @hofstef @hschwentner 3 good examples are better than 1 bad

    abstraction
  20. @hofstef @hschwentner Draw here Leave some empty space there →

    Annotations, variations, and purpose Preconditions, assumptions, and triggers
  21. @hofstef @hschwentner Workshops

  22. @hofstef @hschwentner

  23. @hofstef @hschwentner

  24. @hofstef @hschwentner @hofstef @hschwentner

  25. @hofstef @hschwentner Tools

  26. @hofstef @hschwentner

  27. @hofstef @hschwentner Whiteboard Kit Picture: W. Kinkeldei @wkinkeldei

  28. @hofstef @hschwentner

  29. @hofstef @hschwentner PowerPoint, yEd, Viso, gliphy… asks for Reservation (movie,

    time, seats) cashier movie-goer 1 Screen plan finds available seats in CineSoft 2 seats recommends 3
  30. @hofstef @hschwentner github.com/WPS/domain-story-modeler

  31. Remote • Shared Tool (that can be seen by everybody)

    • Video On • Split Moderator/Modeler • Two-Screen-Setup • Shared Whiteboard
  32. Purpose • Learn Domain Language • Find Boundaries (Strategic) •

    Model in Code (Tactical) • Discover Business Needs • (Support Organizational Change) • Process Optimization • Change Mgmt • (Workflow Automation) • (Find Shadow IT)
  33. Granularity • Coarse • Medium • Fine

  34. Scope • As-is vs. To-be • Pure vs. tainted

  35. @hschwentner Strategic Design

  36. UNDERSTANDING THE WORLD

  37. @hofstef @hschwentner ?

  38. @hofstef @hschwentner ?

  39. @hofstef @hschwentner ?

  40. @hofstef @hschwentner

  41. @hofstef @hschwentner

  42. @hofstef @hschwentner

  43. @hofstef @hschwentner

  44. @hofstef @hschwentner Bounded Context: A coherent model with an unambiguous

    language.
  45. @hofstef @hschwentner Heuristic: Look for activities that - from an

    actor’s perspective - belong together.
  46. @hofstef @hschwentner Exercise 2

  47. @hofstef @hschwentner Activities that belong together:

  48. @hofstef @hschwentner Indicator: only one actor involved xyz context

  49. @hofstef @hschwentner Indicator: one-way information flow abc context xyz context

  50. @hofstef @hschwentner Indicator: different triggers abc context xyz context