Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

© 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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

© 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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

© 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 ?

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

© 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 …

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

© 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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

© 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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

© 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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

© 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

Slide 21

Slide 21 text

© 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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

© 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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

© 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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

© 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

Slide 28

Slide 28 text

© 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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

© 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