Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Developing Domain Storytelling, or: How DDD influenced modeling practices
Stefan Hofer
October 16, 2021
Programming
1
58
Developing Domain Storytelling, or: How DDD influenced modeling practices
Presented at DDD Taiwan 2021.
Stefan Hofer
October 16, 2021
Tweet
Share
More Decks by Stefan Hofer
See All by Stefan Hofer
Anwender verstehen mit Domain Storytelling
hofstef
0
15
Einführung in Domain Storytelling @ Seacon
hofstef
0
28
An Introduction to Domain Storytelling @ DDD Iran [ENG]
hofstef
0
100
Domain Storytelling Training with DDDEU
hofstef
1
110
Domain Storytelling [ENG]
hofstef
0
60
Hands-on: Introduction to Domain Storytelling
hofstef
2
81
Domain Storytelling in Practice [ENG]
hofstef
1
170
Bounded Contexts finden mit Domain Storytelling
hofstef
1
50
Knowledge Crunching mit Domain Storytelling
hofstef
0
79
Other Decks in Programming
See All in Programming
dotdotdot_in_predict_function
bk_18
1
170
Baseline Profilesでアプリのパフォーマンスを向上させる / Improve app performance with Baseline Profiles
numeroanddev
0
210
開発速度を5倍早くするVSCodeの拡張機能を作った
purp1eeeee
2
120
はてなフォトライフをECSに移行した話 / Hatena Engineer Seminar #20
cohalz
1
810
Overview of The Modern Data Stack / モダンデータスタック概論
satoshihirose
6
3.2k
Migrating to Kotlin State & Shared Flows
heyitsmohit
1
180
即、New Relic / New Relic NOW!
uzulla
0
270
Swift6のprotocol
omochi
3
310
インターン生・新卒向け、学校でもっと教えてほしいITエンジニア基本スキル
nearme_tech
0
120
io22 extended What's new in app performance
veronikapj
0
320
RFC 9111: HTTP Caching
jxck
0
150
実践エクストリームプログラミング / Extreme Programming in Practice
enk
0
140
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
181
15k
Git: the NoSQL Database
bkeepers
PRO
415
59k
The Power of CSS Pseudo Elements
geoffreycrofte
46
3.9k
A Philosophy of Restraint
colly
192
15k
Large-scale JavaScript Application Architecture
addyosmani
499
110k
We Have a Design System, Now What?
morganepeng
35
2.9k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
236
1M
GitHub's CSS Performance
jonrohan
1020
420k
StorybookのUI Testing Handbookを読んだ
zakiyama
4
2.2k
Debugging Ruby Performance
tmm1
65
10k
Reflections from 52 weeks, 52 projects
jeffersonlam
337
17k
Making Projects Easy
brettharned
98
4.3k
Transcript
Starring With Directed by Written by
@hofstef
Foto: Rameessos/Wikipedia
@hofstef Spark a fire Tell a story Paint a picture
@hofstef business gibberish { nerd; speek; } Domain Expert Software
Expert
@hofstef Fach- sprache Domain Expert Software Expert
@hofstef 1. Demo 2. Explanation 3. Influence of DDD
@hofstef Let‘s build a software system to approve roadwork!
@hofstef We need support when reviewing applications The system must
support hearings ??? The system must support issuing permits
@hofstef
@hofstef 1. Demo 2. Explanation 3. Influence of DDD
@hofstef ABSTRACT PROCESSES
@hofstef A good example is better than a bad abstraction.
@hofstef CONCRETE STORIES
@hofstef Scope
@hofstef
@hofstef Pictographic Language
@hofstef actor work object activity annotation
@hofstef customer ticket buys
@hofstef person people system
@hofstef …asks about the reservation …sends the reservation to …prints
the reservation reservation reservation reservation asks about prints to sends
@hofstef „The cashier gives the ticket to the customer.“ gives
ticket customer cashier to
@hofstef
@hofstef Workshops
@hofstef Listeners
@hofstef
@hofstef
@hofstef
@hofstef
@hofstef Egon.io
@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.
@hofstef 1. Demo 2. Explanation 3. Influence of DDD
@hofstef
@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
@hofstef
@hofstef I) The model exploration whirlpool.
@hofstef
@hofstef
@hofstef II) Collaborative Modeling (CoMo)
@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
@hofstef
@hofstef
@hofstef
@hofstef
@hofstef
@hofstef III) Language and models are bounded by their context.
@hofstef
@hofstef
@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!
@hofstef “A single conceptual model is a tricky beast to
work with.” - Martin Fowler
@hofstef First-time user signs up and plays first game
@hofstef
@hofstef I) The model exploration whirlpool II) Collaborative Modeling (CoMo)
III) Language and models are bounded by their context
@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