www.lilobase.me
The strategies
behind DDD
@lilobase
#BlendWebMix
sundayapp.com
Slide 2
Slide 2 text
Let’s start a new project !
Slide 3
Slide 3 text
Sprint Zero
Slide 4
Slide 4 text
Sprint Zero
Angular
or React ?
Slide 5
Slide 5 text
Sprint Zero
Java or C# ?
Angular
or React ?
Slide 6
Slide 6 text
Sprint Zero
Java or C# ?
Spring Boot or
Quarkus ?
Angular
or React ?
Slide 7
Slide 7 text
Sprint Zero
Java or C# ?
Spring Boot or
Quarkus ?
Kafka
or Redis ?
Angular
or React ?
Slide 8
Slide 8 text
Sprint Zero
Java or C# ?
Spring Boot or
Quarkus ?
Kafka
or Redis ?
Microservices
or Monolith ?
Angular
or React ?
Slide 9
Slide 9 text
Sprint Zero
Java or C# ?
Spring Boot or
Quarkus ?
Kafka
or Redis ?
Microservices
or Monolith ?
Kubernetes
or Nomad ?
Angular
or React ?
Slide 10
Slide 10 text
Look, at our spring
boot application with
Kafka deployed on a K8S
Cluster
Sprint Zero
Slide 11
Slide 11 text
Look, at our spring
boot application with
Kafka deployed on a K8S
Cluster
They know nothing
about the project’s business
domain
Sprint Zero
Slide 12
Slide 12 text
Look, at our spring
boot application with
Kafka deployed on a K8S
Cluster
They know nothing
about the project’s business
domain
…
Sprint Zero
Slide 13
Slide 13 text
Java or C# ?
Spring Boot or
Quarkus ?
Kafka
or Redis ?
Microservices
or Monolith ?
Kubernetes
or Nomad ?
Angular
or React ?
These issues address only
the solution
Slide 14
Slide 14 text
But not the problem
What should we do ?
Slide 15
Slide 15 text
But not the problem
What should we do ?
…
Slide 16
Slide 16 text
Spring Boot or
Quarkus ?
Kafka
or Redis ?
Microservices
or Monolith ?
Kubernetes
or Nomad ?
Angular
or React ?
And that's why we
are seen as technical expert
Java or C# ?
Slide 17
Slide 17 text
solution
problem
What should we do ?
How are we going to do it ?
Slide 18
Slide 18 text
solution
problem
What should we do ?
How are we going to do it ?
It is an important discussion to have
Slide 19
Slide 19 text
solution
problem
What should we do ?
How are we going to do it ?
It is an important discussion to have
But only after we've
fi
gured out
what to do
Slide 20
Slide 20 text
DDD is all about
Alignment
What should we do ?
How are we going to do it ?
Slide 21
Slide 21 text
DDD is all about
Alignment
What should we do ?
How are we going to do it ?
Slide 22
Slide 22 text
DDD is all about
Alignment
What should we do ?
How are we going to do it ?
Slide 23
Slide 23 text
« Donnez un marteau à un enfant, et il
trouvera que tout a besoin d'être
martelé. »
– Abraham Kaplan
Slide 24
Slide 24 text
« On fait passer les
besoins de la base
de donnée avant
ceux des utilisateurs
ce qui donne des
expériences assez
pourries »
– @WalterStephanie
Slide 25
Slide 25 text
www.lilobase.me
DDD is all about
Understanding
@lilobase
Slide 26
Slide 26 text
Domains & Subdomains
Business Domain discovery
THE software
Slide 27
Slide 27 text
Domain Mapping
Business Domain Classi
fi
cation
Authoring
&
Publishing
Customer Care
Printing &
Supply Chain
Retail Store
Slide 28
Slide 28 text
Domain Mapping
Business Domain Classi
fi
cation
Authoring
&
Publishing
Customer Care
Printing &
Supply Chain
Retail Store
You need to acknowledge the fact that
you have several domains
Slide 29
Slide 29 text
Domain Mapping
Business Domain Classi
fi
cation
Authoring
&
Publishing
Customer Care
Printing &
Supply Chain
Retail Store
Slide 30
Slide 30 text
Domain Mapping
Business Domain Classi
fi
cation
Authoring
&
Publishing
Customer Care
Printing &
Supply Chain
Retail Store
Only one VP should be
angry at a time
Slide 31
Slide 31 text
Domain Mapping
Business Domain Classi
fi
cation
Authoring
&
Publishing
Customer Care
Printing &
Supply Chain
Retail Store
These are neither Bounded
Contexts nor Microservices
Slide 32
Slide 32 text
Domain Mapping
Business Domain Classi
fi
cation
Authoring
&
Publishing
Customer Care
Printing &
Supply Chain
Retail Store
These are your domains
Slide 33
Slide 33 text
Domain Mapping
Business Domain Classi
fi
cation
Authoring
&
Publishing
Customer
Care
Printing &
Supply Chain
Online Retail Store
Payment
processor
Catalogue Invoicing
Slide 34
Slide 34 text
Domain Mapping
Business Domain Classi
fi
cation
Authoring
&
Publishing
Customer
Care
Printing &
Supply Chain
Online Retail Store
Payment
processor
Catalogue Invoicing
Your domains contain domains
Slide 35
Slide 35 text
Supporting
Subdomain
Generic
Subdomain
Core
(sub)Domain
Key differentiator
Domains & Subdomains
Business Domain Classi
fi
cation
Slide 36
Slide 36 text
Supporting
Subdomain
Generic
Subdomain
Core
(sub)Domain
Key differentiator
Domains & Subdomains
Business Domain Classi
fi
cation
Critical to the
organization’s success
Slide 37
Slide 37 text
Supporting
Subdomain
Generic
Subdomain
Core
(sub)Domain
Key differentiator
Domains & Subdomains
Business Domain Classi
fi
cation
Essential to the
organization’s success
Critical to the
organization’s success
Slide 38
Slide 38 text
Supporting
Subdomain
Generic
Subdomain
Core
(sub)Domain
Key differentiator
Domains & Subdomains
Business Domain Classi
fi
cation
Essential to the
organization’s success
Required for the
organization’s success
Critical to the
organization’s success
Slide 39
Slide 39 text
Domain Mapping
Business Domain Classi
fi
cation
Authoring
Plateform
Publishing &
Printing
Inventory
Management
Payment
Processor
Catalogue
Invoicing
Shipping
Order
Processing
Proofreading
Slide 40
Slide 40 text
Domains & Subdomains
Business Domain Classi
fi
cation
Authoring
Plateform
Inventory
Management
Shipping
Payment
Processor
Catalogue
Invoicing
Order
Processing
Publishing &
Printing
Proofreading
Slide 41
Slide 41 text
Domains & Subdomains
Business Domain Classi
fi
cation
Authoring
Plateform
Inventory
Management
Payment
Processor
Catalogue
Invoicing
Shipping
Order
Processing
Publishing &
Printing
Proofreading
Slide 42
Slide 42 text
Domains & Subdomains
Business Domain Classi
fi
cation
Authoring
Plateform
Inventory
Management
Payment
Processor
Catalogue
Invoicing
Each business context is speci
fi
c
Shipping
Order
Processing
Publishing &
Printing
Proofreading
Slide 43
Slide 43 text
Authoring
Plateform
Domains’ Connexion
Reveal Business Relationships
Inventory
Management
Shipping
Catalogue
Invoicing
Order
Processing
Payment
Processor
Publishing &
Printing
Proofreading
Slide 44
Slide 44 text
Authoring
Plateform
Domains’ Connexion
Reveal Business Relationships
Inventory
Management
Shipping
Catalogue
Invoicing
Order
Processing
Payment
Processor
It can highlight signi
fi
cant
sub-domain
Publishing &
Printing
Proofreading
Slide 45
Slide 45 text
Authoring
Plateform
Domains’ Connexion
Reveal Business Relationships
Inventory
Management
Shipping
Catalogue
Invoicing
Order
Processing
Payment
Processor
It can highlight signi
fi
cant
sub-domain
Publishing &
Printing
Proofreading
Slide 46
Slide 46 text
www.lilobase.me
DDD is all about
Context
@lilobase
Slide 47
Slide 47 text
From Problem to Solution
Authoring
Plateform
Publishing
& Printing
Inventory
Management
Shipping
Payment
Processor
Catalogue
Invoicing
Order
Processing
Proofreading
Slide 48
Slide 48 text
From Problem to Solution
Authoring
Plateform
Publishing
& Printing
Inventory
Management
Shipping
Payment
Processor
Catalogue
Invoicing
Order
Processing
problem
solution
Payment
processor
Invoicing
Order
Processing
Shipping
Authoring
Plateforme
Inventory
Management
Catalogue
Publishing
Proofreading
Proofreading
Inventory E-commerce platform
Authoring
Publishing
Domains & Subdomains
Development Strategy
Supporting
Subdomain
Generic
Subdomain
Core
(sub)Domain
In-House development
with Your best teams
Key differentiator
Slide 51
Slide 51 text
Domains & Subdomains
Development Strategy
Supporting
Subdomain
In-House development with
external support if possible
Generic
Subdomain
Core
(sub)Domain
In-House development
with Your best teams
Key differentiator
Slide 52
Slide 52 text
Domains & Subdomains
Development Strategy
Supporting
Subdomain
In-House development with
external support if possible
Generic
Subdomain
Outsourcing is an option
Core
(sub)Domain
In-House development
with Your best teams
Key differentiator
Domains & Subdomains
Development Strategy
Supporting
Subdomain
Generic
Subdomain
Core
(sub)Domain
Custom-made software
High Cost & Quality
Key differentiator
Slide 55
Slide 55 text
Domains & Subdomains
Development Strategy
Supporting
Subdomain
Customized Off The Shelf Software
is an option
Generic
Subdomain
Core
(sub)Domain
Custom-made software
High Cost & Quality
Key differentiator
Slide 56
Slide 56 text
Domains & Subdomains
Development Strategy
Supporting
Subdomain
Customized Off The Shelf Software
is an option
Generic
Subdomain
Try to
fi
nd Off The Shelf solution
Cost saving opportunities
Core
(sub)Domain
Custom-made software
High Cost & Quality
Key differentiator
Slide 57
Slide 57 text
From Problem to Solution
Payment
processor
Invoicing
Order
Processing
Shipping
Authoring
Plateforme
Inventory
Management
Catalogue
Publishing
Proofreading
Inventory E-commerce platform
Authoring
Publishing
Authoring
Plateform
Publishing
& Printing
Inventory
Management
Shipping
Payment
Processor
Catalogue
Invoicing
Order
Processing
Proofreading
Slide 58
Slide 58 text
From Problem to Solution
Inventory E-commerce platform
Authoring
Authoring
Plateforme Publishing
Catalogue
Publishing
Proofreading
Authoring
Plateform
Publishing
& Printing
Inventory
Management
Shipping
Payment
Processor
Catalogue
Invoicing
Order
Processing
Proofreading
Slide 59
Slide 59 text
From Problem to Solution
Business Domain & Architecture alignment
Inventory E-commerce
platform
Authoring
Authoring
Plateforme Publishing
Catalogue
Publishing
Proofreading
Slide 60
Slide 60 text
From Problem to Solution
Business Domain & Architecture alignment
Inventory E-commerce
platform
Authoring
Authoring
Plateforme Publishing
Catalogue
Publishing
Proofreading
These are your bounded contexts
Slide 61
Slide 61 text
Inventory E-commerce
platform
Authoring
Publishing
« Team assignments are the
fi
rst
draft of the architecture »
– Michael Nygard
Slide 62
Slide 62 text
Inventory E-commerce
platform
Authoring
Publishing
Align your teams with your
bounded context
« Team assignments are the
fi
rst
draft of the architecture »
– Michael Nygard
Authoring
Publishing
E-commerce
Specific Architecture style
You don’t need one architectural style
ES
CQRS
CRUD ?
Stripe
ShipMonk Shopify
Slide 65
Slide 65 text
Authoring
Publishing
E-commerce
Specific Architecture style
You don’t need one architectural style
Beware of the CRUD
ES
CQRS
CRUD ?
Stripe
ShipMonk Shopify
Slide 66
Slide 66 text
Stripe
Still no microservices
Bounded Context ≠ Deployment units
ShipMonk
Authoring
Publishing
E-commerce
Shopify
Deployment Unit
Slide 67
Slide 67 text
Deployment Unit
Stripe
Still no microservices
Bounded Context ≠ Deployment units
ShipMonk
Authoring
Publishing
E-commerce
Shopify
Deployment Unit
Slide 68
Slide 68 text
Domains are not immutable
Understanding is a never-ending process
Stripe
ShipMonk
Authoring
Publishing
E-commerce
Shopify
Slide 69
Slide 69 text
Domains are not immutable
Understanding is a never-ending process
Stripe
ShipMonk
Authoring
Publishing
E-commerce
Shopify
Printing
Slide 70
Slide 70 text
www.lilobase.me
DDD is all about
Boundaries
@lilobase
Slide 71
Slide 71 text
Semantic Boundaries
Between BC meaning are different
Authoring Publishing
Book
Chapter
Chapter
Slide 72
Slide 72 text
Semantic Boundaries
Between BC meaning are different
Authoring Publishing
Book
Chapter
Chapter
What
happens if
the author
revises his
book?
Slide 73
Slide 73 text
Semantic Boundaries
Between BC meaning are different
Authoring Publishing
Book
Chapter
Chapter
They are not the same book
What
happens if
the author
revises his
book?
Slide 74
Slide 74 text
Semantic Boundaries
Between BC meaning are different
Chapter Author
Book
Reviews
Release
Catalogue
Slide 75
Slide 75 text
Semantic Boundaries
Between BC meaning are different
Chapter
This is why you must start by understand
strategically your domain
Author
Book
Reviews
Release
Catalogue
Slide 76
Slide 76 text
Semantic Boundaries
Between BC meaning are different
Authoring Publishing
Book
Chapter
Chapter
Book
Chapter
Chapter
Slide 77
Slide 77 text
Semantic Boundaries
Between BC meaning are different
Authoring Publishing
Book
Chapter
Chapter
Book
Chapter
Chapter
Inside a
Bounded
Context,
Don’t
Repeat
Yourself
Slide 78
Slide 78 text
Semantic Boundaries
Between BC meaning are different
Authoring Publishing
Book
Chapter
Chapter
Book
Chapter
Chapter
Inside a
Bounded
Context,
Don’t
Repeat
Yourself
Between
Bounded
Context,
Write
Everything
Twice
Slide 79
Slide 79 text
Don’t cross them
Between BC meaning are different
Authoring Publishing
Author
Reviews
Author
Book Book
Release
Slide 80
Slide 80 text
Don’t cross them
Between BC meaning are different
Authoring Publishing
Author
Reviews
Author
Book Book
Release
Slide 81
Slide 81 text
Don’t cross them
Between BC meaning are different
Authoring Publishing
Author
Reviews
Author
Book Book
Release
Never create relationships
between entities from two BC
Slide 82
Slide 82 text
Don’t cross them
Between BC meaning are different
Authoring Publishing
Book Book
Release
Author
Author
Reviews
Slide 83
Slide 83 text
Don’t cross them
Between BC meaning are different
Authoring Publishing
Book Book
Release
Author
Author
Reviews
Slide 84
Slide 84 text
Don’t cross them
Between BC meaning are different
Authoring Publishing
Book Book
Release
Author
Author
Reviews
This is exactly the same
Slide 85
Slide 85 text
Don’t cross them
Between BC meaning are different
Authoring Publishing
Book Book
Release
Author
Author
Reviews
API API
Slide 86
Slide 86 text
Same for Events
Between BC meaning are different
Authoring Publishing
Event
Bus
Book Book
Release
Author
Author
Reviews
Slide 87
Slide 87 text
Same for Events
Between BC meaning are different
Authoring Publishing
Event
Bus
Book Book
Release
Author
Author
Reviews
Slide 88
Slide 88 text
Same for Events
Between BC meaning are different
Authoring Publishing
This is exactly the same
Event
Bus
Book Book
Release
Author
Author
Reviews
Slide 89
Slide 89 text
Same for Events
Between BC meaning are different
Authoring Publishing
Event
Bus
Book Book
Release
Author
Author
Reviews
Translator Translator
Slide 90
Slide 90 text
Transactional Boundaries
Protect your integrity
Authoring
Book
Chapter
Chapter
Chapter
Statistics
Slide 91
Slide 91 text
Transactional Boundaries
Protect your integrity
Authoring
Book
Chapter
Chapter
Chapter
Statistics
Inside your
bounded
Context
live
Entities
Slide 92
Slide 92 text
Transactional Boundaries
Protect your integrity
Authoring
Book
Chapter
Chapter
Chapter
Statistics
Inside your
bounded
Context
live
Entities
They are
grouped in
Aggregates
Slide 93
Slide 93 text
Transactional Boundaries
Protect your integrity
Book
Chapter
Chapter
Chapter
Statistics
Slide 94
Slide 94 text
Transactional Boundaries
Protect your integrity
Book
Chapter
Chapter
Chapter
Statistics
Inside an
aggregate,
Entities
share the
same
lifecycle
Slide 95
Slide 95 text
Transactional Boundaries
Protect your integrity
Book
Chapter
Chapter
Chapter
Statistics
They are
retrieved
and
persisted
as a whole
Inside an
aggregate,
Entities
share the
same
lifecycle
Slide 96
Slide 96 text
Transactional Boundaries
Protect your integrity
Book
Chapter
Chapter
Chapter
Statistics
Slide 97
Slide 97 text
Transactional Boundaries
Protect your integrity
Book
Chapter
Chapter
Chapter
Statistics
All
interactions
are done
through the
Aggregate
Root
Slide 98
Slide 98 text
Transactional Boundaries
Protect your integrity
Book
Chapter
Chapter
Chapter
Statistics
Who
ensures the
aggregate
integrity
All
interactions
are done
through the
Aggregate
Root
Slide 99
Slide 99 text
Transactional Boundaries
Protect your integrity
Book
Chapter
Chapter
Chapter
Statistics
Who
ensures the
aggregate
integrity
All
interactions
are done
through the
Aggregate
Root
Write a new chapter
Slide 100
Slide 100 text
Transactional Boundaries
Protect your integrity
Book
Chapter
Chapter
Chapter
Statistics
Slide 101
Slide 101 text
Transactional Boundaries
Protect your integrity
Book
Chapter
Chapter
Chapter
Statistics
Write a new chapter
Chapter
Slide 102
Slide 102 text
Transactional Boundaries
Protect your integrity
Book
Chapter
Chapter
Chapter
Statistics
Write a new chapter
Chapter
Slide 103
Slide 103 text
Transactional Boundaries
Protect your integrity
Book
Chapter
Chapter
Chapter
Statistics
Write a new chapter
Chapter
Inconsistency
Slide 104
Slide 104 text
Transactional Boundaries
Protect your integrity
Book
Chapter
Chapter
Chapter
Statistics
Author
Slide 105
Slide 105 text
Transactional Boundaries
Protect your integrity
Book
Chapter
Chapter
Chapter
Statistics
But don’t
put to much
in it
Author
Slide 106
Slide 106 text
Transactional Boundaries
Protect your integrity
Book
Chapter
Chapter
Chapter
Statistics
But don’t
put to much
in it
Author
What
happens if
we delete
the book ?
Slide 107
Slide 107 text
Transactional Boundaries
Protect your integrity
Book
Chapter
Chapter
Chapter
Statistics
But don’t
put to much
in it
Author
What
happens if
we delete
the book ?
They must share the same lifecycle
Slide 108
Slide 108 text
Transactional Boundaries
Protect your integrity
Book
Chapter
Chapter
Chapter
Statistics
Author
reference
Author
Id
Slide 109
Slide 109 text
Designing Boundaries
Protect your domain
Printing Team
Book
Chapter
Chapter
Chapter
Release
API
Publishing Team
Slide 110
Slide 110 text
Designing Boundaries
Protect your domain
Printing Team
We need printing
margin
Book
Chapter
Chapter
Chapter
Release
API
Publishing Team
Slide 111
Slide 111 text
Designing Boundaries
Protect your domain
Printing Team
We need printing
margin
Book
Chapter
Chapter
Chapter
Release
Printing
margin
API
Publishing Team
Slide 112
Slide 112 text
Designing Boundaries
Protect your domain
Printing Team
We need printing
margin
Book
Chapter
Chapter
Chapter
Release
We need the
colorimetric pro
fi
le
Printing
margin
API
Publishing Team
Slide 113
Slide 113 text
Designing Boundaries
Protect your domain
Printing Team
We need printing
margin
Book
Chapter
Chapter
Chapter
Release
We need the
colorimetric pro
fi
le
Printing
margin
Colorimetric
pro
fi
le
API
Publishing Team
Slide 114
Slide 114 text
Designing Boundaries
Protect your domain
API
We need printing
margin
Book
Chapter
Chapter
Chapter
Release
We need the
colorimetric pro
fi
le
Printing
margin
Colorimetric
pro
fi
le
Domain Leakage
Publishing Team Printing Team
Slide 115
Slide 115 text
Designing Boundaries
Protect your domain
API
We need printing
margin
Book
Chapter
Chapter
Chapter
Release
We need the
colorimetric pro
fi
le
Printing
margin
Colorimetric
pro
fi
le
Domain Leakage
Publishing Team Printing Team
Slide 116
Slide 116 text
Designing Boundaries
Protect your domain
Publishing Team Printing Team
Publishing
API
Book
Slide 117
Slide 117 text
Designing Boundaries
Protect your domain
Publishing Team Printing Team
Publishing
API
Book
Printing API
Slide 118
Slide 118 text
Designing Boundaries
Protect your domain
Publishing Team Printing Team
Publishing
API
We need
printing margin
Book
Printing API
Slide 119
Slide 119 text
Designing Boundaries
Protect your domain
Publishing Team Printing Team
Publishing
API
We need
printing margin
Book
Printing
margin
Printing API
Slide 120
Slide 120 text
Designing Boundaries
Protect your domain
Publishing Team Printing Team
Publishing
API
We need
printing margin
Book
We need the
colorimetric
pro
fi
le
Printing
margin
Printing API
Slide 121
Slide 121 text
Designing Boundaries
Protect your domain
Publishing Team Printing Team
Publishing
API
We need
printing margin
Book
We need the
colorimetric
pro
fi
le
Printing
margin
Colorimetric
pro
fi
le
Printing API
Slide 122
Slide 122 text
Designing Boundaries
Protect your domain
Publishing Team Printing Team
Publishing
API
We need
printing margin
Book
We need the
colorimetric
pro
fi
le
Printing
margin
Colorimetric
pro
fi
le
Printing API
We discovered the need
for an ACL
Slide 123
Slide 123 text
www.lilobase.me
DDD is all about
Behavior
@lilobase
Slide 124
Slide 124 text
CRUD don’t express behavior
It blinds you from the business perspective
UPDATE address
Relocation Mistake correction
Slide 125
Slide 125 text
CRUD don’t express behavior
It blinds you from the business perspective
UPDATE address
Relocation Mistake correction
Slide 126
Slide 126 text
CRUD don’t express behavior
It blinds you from the business perspective
Relocation Mistake correction
Slide 127
Slide 127 text
Data oriented programming
It obfuscates your code
– Mathias Verraes
$order->setStatus('paid')
;
$order->setPaidAmount(120)
;
$order->setPaidCurrency('EUR')
;
$order->setCustomer($customer);
Slide 128
Slide 128 text
Data oriented programming
It obfuscates your code
– Mathias Verraes
$order->pay()
;
Slide 129
Slide 129 text
Data oriented programming
It obfuscates your code
$money = new Money(120, new Currency(‘EUR'))
;
$order->setPaidMoney($money);
– Mathias Verraes
$order->pay()
;
Slide 130
Slide 130 text
Data oriented programming
It obfuscates your code
$money = new Money(120, new Currency(‘EUR'))
;
$order->pay($customer, $money);
– Mathias Verraes
Slide 131
Slide 131 text
Data oriented programming
It obfuscates your code
$money = new Money(120, new Currency(‘EUR'))
;
$order->pay($customer, $money);
– Mathias Verraes
$customer->pay($order, $money)
;
Slide 132
Slide 132 text
Data oriented programming
It obfuscates your code
– Mathias Verraes
$customer->pay($order, $money)
;
$order->setStatus('paid')
;
$order->setPaidAmount(120)
;
$order->setPaidCurrency('EUR')
;
$order->setCustomer($customer);
Slide 133
Slide 133 text
Task Based UI
Your customer’s need isn’t to
fi
ll out forms
Slide 134
Slide 134 text
Users don’t need to fill out forms
Slide 135
Slide 135 text
Users don’t need to fill out forms
Slide 136
Slide 136 text
www.lilobase.me
DDD is all about
Compassion
@lilobase
Slide 137
Slide 137 text
A A
A
Ubiquitous language
Stakeholders & Team Alignement
Dev Domain
Expert
Dev
Slide 138
Slide 138 text
A A
A
Ubiquitous language
Stakeholders & Team Alignement
Dev Domain
Expert
Dev
Slide 139
Slide 139 text
A A
A
Ubiquitous language
Stakeholders & Team Alignement
Dev Domain
Expert
Dev
Slide 140
Slide 140 text
A A
A
Ubiquitous language
Stakeholders & Team Alignement
Dev Domain
Expert
Dev
Slide 141
Slide 141 text
A A
A
not « just » a glossary
Ubiquitous language
Stakeholders & Team Alignement
Dev Domain
Expert
Dev
Slide 142
Slide 142 text
A A
A
not « just » a glossary
Ubiquitous language
Stakeholders & Team Alignement
Dev Domain
Expert
Dev
Slide 143
Slide 143 text
Ubiquitous language
Each BC has its own
Authoring Publishing
A A
Slide 144
Slide 144 text
Ubiquitous language
Each BC has its own
Authoring Publishing
A A
A A
Slide 145
Slide 145 text
Ubiquitous language
Each BC has its own
Authoring Publishing
A A
A A
Slide 146
Slide 146 text
Ubiquitous language
Each BC has its own
Authoring Publishing
A A
A A
Slide 147
Slide 147 text
Ubiquitous language
Each BC has its own
Authoring Publishing
A A
A A
It is a common cause of
miscommunication
Slide 148
Slide 148 text
Pair Programing
The best way to share a domain understanding
Dev
Slide 149
Slide 149 text
Pair Programing
The best way to share a domain understanding
Dev Domain
Expert
Slide 150
Slide 150 text
Know your users
They might not be who you think they are
Dev Domain
Expert
Product
Owner
Customer User
Slide 151
Slide 151 text
Know your users
They might not be who you think they are
Dev Domain
Expert
Product
Owner
Customer User
He has the last word regarding
domain implementation
Slide 152
Slide 152 text
Know your users
They might not be who you think they are
Dev Domain
Expert
Product
Owner
Customer User
Prioritize development &
formalize users’ feedback
Slide 153
Slide 153 text
Know your users
They might not be who you think they are
Dev Domain
Expert
Product
Owner
Customer User
Power of Life and Death over the
project
Slide 154
Slide 154 text
Know your users
They might not be who you think they are
Dev Domain
Expert
Product
Owner
Customer User
Too often forgotten
Slide 155
Slide 155 text
Know your users
They might not be who you think they are
Dev Domain
Expert
Product
Owner
Customer User
Maybe you could spend a day per
month working with them ?
Slide 156
Slide 156 text
Know your users
They might not be who you think they are
Dev Domain
Expert
Product
Owner
Customer User
They design the software
speci
fi
cation
Slide 157
Slide 157 text
Know your users
They might not be who you think they are
Dev Domain
Expert
Product
Owner
Customer User
What he understood goes
into production
Slide 158
Slide 158 text
“A loosely coupled software
architecture and org
structure to match” is a key
predictor of:
— Michael Plöd (@bitboss)
Slide 159
Slide 159 text
“A loosely coupled software
architecture and org
structure to match” is a key
predictor of:
• Continuous Delivery
Performance
— Michael Plöd (@bitboss)
Slide 160
Slide 160 text
“A loosely coupled software
architecture and org
structure to match” is a key
predictor of:
• Continuous Delivery
Performance
• Ability to scale
organization and increase
performance linearly
— Michael Plöd (@bitboss)
Slide 161
Slide 161 text
“A loosely coupled software
architecture and org
structure to match” is a key
predictor of:
• Continuous Delivery
Performance
• Ability to scale
organization and increase
performance linearly
This is what DDD is All About !
— Michael Plöd (@bitboss)