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

DDD Taiwan Community - DDD 15 Years zh_TW introduction

Kim Kao
April 13, 2021

DDD Taiwan Community - DDD 15 Years zh_TW introduction

DDD Taiwan community host a DDD 15 years zh_tw translation edition introduction meetup, in this talk Kim delivered a few key concepts from the book and explained how to raise successful rate in adopting DDD into real problem domain.

Kim Kao

April 13, 2021
Tweet

More Decks by Kim Kao

Other Decks in Design

Transcript

  1. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.
    DDD 15 years
    Kim Kao
    Volunteer,
    Domain-Driven Design Taiwan Community

    View full-size slide

  2. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.
    Workshops on Software Design, Modelling, Programming, and Practices
    Remote or across Europe

    View full-size slide

  3. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.

    View full-size slide

  4. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.

    View full-size slide

  5. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.

    View full-size slide

  6. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.

    View full-size slide

  7. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.
    • A SaaS company request to have realtime reporting system
    • 1M GBP is needed without correct problem framing
    • Solution first strategy, rather then problem first
    Set the right goal

    View full-size slide

  8. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.
    Occasional complexity over Essence complexity

    View full-size slide

  9. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.
    Over simplify leads to wrong decision
    A R E Y O U S U R E O N T H E R I G H T C H E C K ?

    View full-size slide

  10. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.
    DDD Practitioner don’t do

    View full-size slide

  11. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.
    • Make each decision recorded
    • Decision making to support business intention
    • Earn supportive rather than position pressure
    • Take care different stakeholders’ concern
    Visualize decision
    W I K I , K A N B A N B O A R D , R E F E R E N C E C A R D …

    View full-size slide

  12. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.
    軟體開發是一個學習過程,
    可工作的軟體只是這一過程
    的副產品
    Alberto Brandolini
    EventStorming founder

    View full-size slide

  13. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.
    Make sure you know the essence, rather than
    coding for visibility…
    -- Impact Mapping : Making a Big Impact With Software Products and Projects, 2012
    Provoking Thoughts

    View full-size slide

  14. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.
    Mental model to Code Jungle gap

    View full-size slide

  15. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.

    View full-size slide

  16. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.
    Reputation-Driven Design
    P O S I T I O N I N G I S T H E M A J O R C O N C E R N

    View full-size slide

  17. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.

    View full-size slide

  18. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.
    • How can we have clear bounded context without evolution
    • How to define the invariants as Value Object or promote to Entity
    • If divide problem domain by capbability, will it stable?
    • I just want to do high level scenario explaining, can partner(s)
    implement well in DDD approach?
    Most frequently asked questions

    View full-size slide

  19. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.

    View full-size slide

  20. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.
    “Capture all meaningful events during
    the time period, which means
    impactful for problem domain”
    Kim Kao
    3 babies Daddy, achieved @ 2021-04-12

    View full-size slide

  21. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.
    Explain stories through EventStorming
    Prepare order
    Prepare fries
    Cook fries
    3
    Package
    fries
    7
    Package
    order
    10
    Deliver
    order
    11
    Prepare burger
    Cook burger
    Package
    burger
    9
    Prepare drink
    +Top
    +Straw
    5
    Fill drink
    4
    Take
    order
    1
    Cook side 2
    6
    Cook side 1
    2
    +Cheese
    8
    TIME

    View full-size slide

  22. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.
    Drive boundary through Example mapping

    View full-size slide

  23. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.
    “Designing a subsystem in detail, is an iterative process
    during which we leverage both “Design Level” Event
    Storming and “Model Exploration Whirlpool”
    Kacper Gunia
    UK Domain-Driven Design Community Founder

    View full-size slide

  24. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.
    Executional model to survive

    View full-size slide

  25. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.
    Do you aware stopping collaboration process?
    F R O M C O D I N G E V E R Y T H I N G Y O U L I K E

    View full-size slide

  26. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.
    Classic requirement taking scenario

    View full-size slide

  27. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.
    Total Cost Ownership
    C O D I N G L A T E R , T H E C O S T L E S S E R

    View full-size slide

  28. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.
    Collaboration in prototyping
    L E A R N F R O M E A C H O T H E R

    View full-size slide

  29. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.
    Minimize collaboration barrier
    Tech Vision
    Implement

    View full-size slide

  30. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.
    Vision
    Clarity of vision
    Skillset Toolset

    View full-size slide

  31. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.
    Vision
    Take away

    View full-size slide

  32. © 2021, Domain-Driven Design Taiwan Community Inc. or its affiliates. All rights reserved.
    Thank you!
    Senior Solutions Architect
    linkedin.com/in/kimkao
    twitter.com/YiKaiKao
    facebook.com/kimkao.solid
    Kim Kao

    View full-size slide