Save 37% off PRO during our Black Friday Sale! »

Developing Domain Storytelling, or: How DDD influenced modeling practices

Developing Domain Storytelling, or: How DDD influenced modeling practices

Presented at DDD Taiwan 2021.

B7a8524f73d760a4e2e403e43c6f0c70?s=128

Stefan Hofer

October 16, 2021
Tweet

Transcript

  1. Starring With Directed by Written by

  2. @hofstef

  3. Foto: Rameessos/Wikipedia

  4. @hofstef Spark a fire Tell a story Paint a picture

  5. @hofstef business gibberish { nerd; speek; } Domain Expert Software

    Expert
  6. @hofstef Fach- sprache Domain Expert Software Expert

  7. @hofstef 1. Demo 2. Explanation 3. Influence of DDD

  8. @hofstef Let‘s build a software system to approve roadwork!

  9. @hofstef We need support when reviewing applications The system must

    support hearings ??? The system must support issuing permits
  10. @hofstef

  11. @hofstef 1. Demo 2. Explanation 3. Influence of DDD

  12. @hofstef ABSTRACT PROCESSES

  13. @hofstef A good example is better than a bad abstraction.

  14. @hofstef CONCRETE STORIES

  15. @hofstef Scope

  16. @hofstef

  17. @hofstef Pictographic Language

  18. @hofstef actor work object activity annotation

  19. @hofstef customer ticket buys

  20. @hofstef person people system

  21. @hofstef …asks about the reservation …sends the reservation to …prints

    the reservation reservation reservation reservation asks about prints to sends
  22. @hofstef „The cashier gives the ticket to the customer.“ gives

    ticket customer cashier to
  23. @hofstef

  24. @hofstef Workshops

  25. @hofstef Listeners

  26. @hofstef

  27. @hofstef

  28. @hofstef

  29. @hofstef

  30. @hofstef Egon.io

  31. @hofstef "From a story to working software--this book helps you

    to get to the essence of what to build. Highly recommended!" --Oliver Drotbohm Available as e-book and in print. Check out https://domainstorytelling.org for buying options.
  32. @hofstef 1. Demo 2. Explanation 3. Influence of DDD

  33. @hofstef

  34. @hofstef •Analyze domain •Model as-is domain stories Domain Stories •Design

    new processes •Model to-be domain stories Domain Stories •Derive requirements •Coarse-grained to medium-grained Requirements •Develop iteratively & incrementally •Refine requirements constantly Software
  35. @hofstef

  36. @hofstef I) The model exploration whirlpool.

  37. @hofstef

  38. @hofstef

  39. @hofstef II) Collaborative Modeling (CoMo)

  40. @hofstef Paul Rayner‘s 3 pillars* of DDD (as explained at

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

  42. @hofstef

  43. @hofstef

  44. @hofstef

  45. @hofstef

  46. @hofstef III) Language and models are bounded by their context.

  47. @hofstef

  48. @hofstef

  49. @hofstef First-time user signs up and plays first game NO!

    The account is created much later! NO! Your are wrong! This IS the first step!
  50. @hofstef “A single conceptual model is a tricky beast to

    work with.” - Martin Fowler
  51. @hofstef First-time user signs up and plays first game

  52. @hofstef

  53. @hofstef I) The model exploration whirlpool II) Collaborative Modeling (CoMo)

    III) Language and models are bounded by their context
  54. @hofstef Web: https://domainstorytelling.org Twitter: @hofstef #DomainStorytelling Slides: https://speakerdeck.com/hofstef Book: https://www.informit.com/domain-storytelling

    The pictures used in this talk are public domain, unless noted otherwise. Screenshots and examples © WPS - Workplace Solutions GmbH