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

From EventStorming to CoDDDing @ DDD Taiwan

João Rosa
November 27, 2020

From EventStorming to CoDDDing @ DDD Taiwan

To really understand what our users need so that we can build the right thing, we want to have a first-hand experience of 'real-life stories' before we model and create our software. To quote Alberto Brandolini "it is not the domain expert's knowledge that goes into production, it is the developer's assumption of that knowledge that goes into production". Visual collaboration are tools that minimize assumptions by engaging in collaborative deliberate learning across different disciplines. This helps to solve complex business problems in the most effective way.

Although the learning of the domain helps us to understand the domain better, visual collaboration tools like EventStorming and Example Mapping can be quite an overwhelming experience. Developers can be left with the question of how to turn a few stickies or index cards into working code.

Join us in this talk where we will leverage Eric Evans model exploration whirlpool. During a live EventStorming and Example Mapping software modelling session, we will show how with that outcome you can leverage Responsibility Mapping to propose a model with Domain-Driven Design patterns. It will ultimately result in coding by doing outside in Test Driven Development! You will leave with the knowledge to go from visual collaborate modelling to coding while refining your ubiquitous language.

João Rosa

November 27, 2020
Tweet

More Decks by João Rosa

Other Decks in Programming

Transcript

  1. View Slide

  2. 2
    Strategic software delivery -
    Domain-Driven Design -
    Continuous Delivery -
    Socio-technical engineers -
    Collaborative modellers and
    facilitators

    View Slide

  3. View Slide

  4. View Slide

  5. View Slide

  6. View Slide

  7. 7

    View Slide

  8. 8

    View Slide

  9. 9

    View Slide

  10. 10

    View Slide

  11. View Slide

  12. 12

    View Slide

  13. 13

    View Slide

  14. View Slide

  15. View Slide

  16. View Slide

  17. 17

    View Slide

  18. View Slide

  19. View Slide

  20. http://tednellen.blogspot.com/2013/04/language-is-fluid.html

    View Slide

  21. View Slide

  22. 22

    View Slide

  23. View Slide

  24. View Slide

  25. View Slide

  26. 26

    View Slide

  27. 27

    View Slide

  28. View Slide

  29. 29

    View Slide

  30. 30

    View Slide

  31. 31

    View Slide

  32. 32

    View Slide

  33. View Slide

  34. View Slide

  35. 35
    Source: https://medium.freecodecamp.org/coding-explained-in-25-profound-comics-8847ea03819c

    View Slide

  36. 36
    Source: https://nl.pinterest.com/pin/550846598149452758/

    View Slide

  37. 37
    Source:https://www.dw.com/en/maligned-ronaldo-statue-replaced-at-madeira-airport/a-44279114

    View Slide

  38. 38

    View Slide

  39. 39

    View Slide

  40. 40

    View Slide

  41. 41
    Business

    View Slide

  42. 42
    Business
    Architects

    View Slide

  43. 43
    Business
    Architects
    Developers

    View Slide

  44. 44
    Business
    Architects
    Developers

    View Slide

  45. 45
    https://domainlanguage.com

    View Slide

  46. View Slide

  47. 47

    View Slide

  48. 48
    https://domainlanguage.com

    View Slide

  49. 49
    https://blog.ncrunch.net/post/london-tdd-vs-detroit-tdd.aspx

    View Slide

  50. View Slide

  51. 51
    Source: https://nl.pinterest.com/pin/550846598149452758/

    View Slide

  52. 52

    View Slide

  53. 53

    View Slide

  54. View Slide

  55. 55
    https://domainlanguage.com

    View Slide

  56. 56
    ➔ Using models for creating software
    ➔ Focus on part of the software handling complex business requirements
    ➔ Focus on a language where we really crisply concisely describe the
    situation in the domain
    ➔ Shared language created through conversations between business
    people (specialists) and software people which becomes the ubiquitous
    language
    ➔ Instead of one canonical language, create multiple bounded languages

    View Slide

  57. 57

    View Slide

  58. 58

    View Slide

  59. View Slide

  60. View Slide