SlideShare ist ein Scribd-Unternehmen logo
1 von 212
Downloaden Sie, um offline zu lesen
Domain Modelling for
DIGITAL
Transformations
@cyriux
Cyrille Martraire
#FlowCon
Low BS
You still need DDD
for your Digital
Transformations!
Developer / Consultant
Socio-Technical Architect
PARIS
Since 1999
@cyriux
Cyrille Martraire
Paris Software Crafters
Community since 2011
http://www.meetup.com/paris-software-craftsmanship/
arolla.fr @arollafr
arolla.fr @arollafr
TDD
BDD
DDD
Transformations
@cyriux
BUY MY BOOK!
MY	KEY	MESSAGE
DOMAIN-DRIVEN
DOMAIN-DRIVEN
DOMAIN-DRIVEN
too gentle
EVERYONE	(incl.	DEVs)		
LEARNING	ABOUT		
THE	BUSINESS	DOMAIN
COLLECTIVELY		
INVESTIGATING		
THE	BUSINESS	DOMAINS…
…INTO	USEFUL		
&	SHARED	
CONCEPTUAL	MODELS
CONCEPTUALISE	A	
DOMAIN	MODEL		
AS	A	THEORY
ALL	THIS
too gentle
SPOT	THE	
FIRST	PRINCIPLES	
BEHIND	THE	THEORY
CHALLENGE	THE		
FIRST	PRINCIPLES
TO	SUGGEST	CHANGES	TO		
THE	BUSINESS	PROCESSES
TO	TURN	THEM	TO		
DIGITAL-NATIVE	BUSINESSES
FROM		
DOMAIN-DRIVEN	SOFTWARE		
TO		
SOFTWARE-AUGMENTED	BUSINESS
TO	EMBRACE
why	this	talk?
Collaboration	between		
business	people	&	
development	teams
Case by Case
One User Story
Another User Story
Some Other User Stories
Even More User Stories
A LOT of User Stories…
… all Special Cases of a General Case!
X=
X
One Model To Rule Them All
Ribbon Costume
HUMAN
COMPILER
Compiling	from	high-level	to	low-level	
manually	
Anti-pattern
Collaborate on the general case!
X=
WHY?
LACK OF
TRUST”Devs	are	not	able	to	understand”
INTRODUCING
THE WATERLINE
Design	vs	Requirement
If it's your decision to make,
then it's 'design'; if it's not,
then it is a requirement
— Alistair Cockburn
http://alistair.cockburn.us/A+requirement+is+a+relationship+to+a+decision
The	design	waterline
requirements
design	waterline
requirements
design	current	
waterline	CODE
SPECIFICATIONS
The	design	waterline
requirements
design	
All	the	way	up	4eva…
SPECIFICATIONS
SOMEONE	ELSE’S	IN	POWER
requirements
design	current	
waterline	CODE
SPECIFICATIONS
The	collaboration	level
requirements
design	current	
waterline	LABORIOUS		
CODE
SPECIFICATIONS
What	happens	too	often
requirements
design	current	
waterline	
HUMAN
COMPILER
HOW	BUSINESS	
PEOPLE	THINK
SPECIFICATIONS
Accidental	Complexity	(Biz	people)
requirements
design	current	
waterline	
HUMAN
COMPILER
ONE	GENERAL	CASE
MANY	
CONSEQUENCES
Accidental	Complexity	(Biz	people)
requirements
design	current	
waterline	
ONE	GENERAL	CASE
MANY	
CONSEQUENCES
Accidental	Complexity	(Biz	people)
X
RAISE THE
WATERLINE
RAISE THE
WATERLINE
(mutually)
You don’t have
to dumb down
the domain, you
know.
requirements
design	new	
waterline	
Mutual	Higher-Level	Communication			
SMARTER		
CODE
SPECIFICATIONS
XX
X
More	generally…
SOLUTION

STATEMENTThe	expressed	need	is	frequently	a	
solution	dressed	up	as	a	problem
Challenging		
the	expressed	”needs”
How	do	I	do	that?
POWERFUL
QUESTIONS
OTHERS
CONFIGURE
THIS MANUALLY
GOOGLE SRE
CONFIGURES
HERE
GOOGLE		
AUXON
automated	capacity	
planning	framework
https://landing.google.com/sre/book/chapters/software-engineering-in-sre.html
GOOGLE	Auxon	-	DC	resources	allocations
Moving from concrete resource demands to motivating reasons in order
to arrive at the true capacity intent often requires several layers of
abstraction.
1. I want 50 cores in clusters X, Y, and Z for service Foo.
2. I want a 50-core footprint in any 3 clusters in geographic region YYY
for service Foo.
3. I want to meet service Foo’s demand in each geographic region,
and have N + 2 redundancy.
4. I want to run service Foo at 5 nines (99.999%) of reliability A
In Google’s experience, we tend to achieve the best wins as they cross
to step 3. Particularly sophisticated services may aim for step 4. 
WHY?
WHY?
WHY?
https://landing.google.com/sre/book/chapters/software-engineering-in-sre.html
Facilitation	Questions	Cards
Sometime	developers		
become	human	
compilers	too…
BTW:	Accidental	Complexity	(devs)
requirements
design	
waterline	
deductive	
implementation
LABORIOUS		
CODE
HUMAN
COMPILER
SPECIFICATIONS
What’s wrong
with that?
What’s wrong
with that?Too muchcode!
What’s wrong
with that?Too muchcode! Can’t code each
possible case!
What’s wrong
with that?
Not maintainable!
Too muchcode! Can’t code each
possible case!
What’s wrong
with that?
Not maintainable!
Too muchcode! Can’t code each
possible case!
The	antidote
Refactoring	skills	
Test-Driven	Development	skills
Concrete-Scenario-Driven	
(TDD,	BDD)
requirements
design	
waterline	
derive	
concrete		
scenarios	
(deduction) TEST	CASES
TRIANGULATION
refactor	to		
general	code	
(induction)	
SPECIFICATIONS
Dev’s	super	power	is	to	be	
good	at	exploiting	
regularities	through	
refactoring
Which	means	they	can	help	
business	people	at	that
requirements
design	
DEVS
NON-DEVS
Co-construction!
Refactoring to
the general
case is nice…
But what
about all the
other business
rules?
But what
about ALL THE
other business
rules?
ARBITRARY
RULES
OBSESSION
But what
about all the
other business
rules?
Business
=
CRUD
+
rules
ARBITRARY
RULES
OBSESSION
Business
=
CRUD
+
rules
ARBITRARY
RULES
OBSESSION
Bunch of
data fields
Piles of IF
statements
BIG BAG OF
BUSINESS
RULES
Domain model as-a
You	cannot	get		
smarter	domain	models	if	
you	believe	the	domain	is	
mostly	arbitrary!
Do you believe the
world is just noise,
or full of hidden
regularities?
Code can be small
YET still supports a
LOT of behaviours
Domain Modelling is
a quest to eradicate
arbitrary business
rules!
Programming as Theory-
Building
— Peter Naur (1985)
http://pages.cs.wisc.edu/~remzi/Naur.pdf
DOMAIN MODEL
as-a
THEORY
To	understand	
To	explain	
To	predict
A	widely	accepted	theory
Murray Gell-Mann
Nobel 1969
A	Finite	Set	of	Quarks
Quarks	Compose	into	
bigger	particles	
Neutron Proton
Quarks	Predict	Unknown	particles	
Neutron Proton
and
many others…
GENERATIVE power
Why	it	matters?
a	Theory	is	
Concise
but	their	consequences	are	
EXTENSIVE
a	Theory	is	
Concise
but	its	consequences	are	
EXTENSIVE
A	Finite	Set	of	Quarks
Many	particles
Neutron Proton
and
many others…
First	Principles	/	Maths
Integrals Differentiation
CONCISE (slow)
”a measure of the rate of change”
Few	Principles,	Many	Consequences
Integrals Differentiation
Large (FAST)
a	Theory	is	
Concise
but	its	consequences	are	
EXTENSIVE
EXTENSIVE
requirements
design	
Surface	of	the	waterline
LOT OF CODE
requirements
design	
Surface	of	the	waterline
Concise
		
Surface	of	the	waterline
requirements
design
Concise
		
Surface	of	the	waterline
requirements
design	
fewer code
requirements
design
Theory
+
Regularities	
Found
Residual	
Mess
But	many	business	domains	are	messy
Theory
+
Residual	
Mess
+
Theory
Residual	
Mess
SMALL SMALL
+
Theory
Residual	
Mess
TESTABLE TESTABLE
+
Theory
Residual	
Mess
MAINTENABLE MAINTENABLE
+
Theory
Residual	
Mess
CHALLENGEABLE! CHALLENGEABLE!
BUT…
To recognise all regularities…
…you must have the whole
picture in mind.
MIND THE
DISCOVERY PATH
”triangles always
blue”
Or red
Discovery	with	the	full	memory
”triangles
are either blue,
green, red”
I need to add
”green triangles”
somewhere into the
system
One	case	at	a	time:	no	insight
”triangles
are either blue,
green, red”
Observing	all	diversity	at	once	
makes	insights	obvious
Observing the
DIVERSITY at once
makes insights
obvious
Feature 1 Feature 2 Feature N
User Story
User Story
User Story
User Story
User Story
User Story
User Story
User Story
User Story
Story map
Feature 1 Feature 2 Feature N
User Story
User Story
User Story
User Story
User Story
User Story
User Story
User Story
User Story
Story map
INITIAL DESIGN ON 1 SINGLE CASE
:(
Feature 1 Feature 2 Feature N
User Story
User Story
User Story
User Story
User Story
User Story
User Story
User Story
User Story
Story map
EXPLORING QUICKLY WHAT’S NEXT
User
Story?
Feature 1 Feature 2 Feature N
User Story
User Story
User Story
User Story
User Story
User Story
User Story
User Story
User Story
Story map
A BIT OF BOTH
User
Story?
T-SHAPED
EXPLORATION
BUT CYRILLE…
We’re agile, we should
be able to change
anything anytime!
First layer of bricks matters more…
This should not be true but it is,
for many bad reasons.
SKEUOMORPHIC
MODEL
”Preservation	of	the	familiar	
through	technological	change”
characteristic	
"wooden"	beams
1250–546 BC
At	some	point	we	have	to	learn	to	
rid	of	skeuomorphism
It	takes	time	to	see,	learn	&	
accept	novelty
PATH-DEPENDENT
EVOLUTION
Long ago
NEW: The factory line
Mass
production
NEW: robot!
More robots!!
More robots!!!
A line of robots…
A line of robots…
Sum of LOCAL
optimizations
≠
GLOBAL
Optimization
A line of robots…
COULD DO
BETTER
THAN THIS
THINK
DIGITAL-
NATIVE
FAB
Factory reboot
laser
cutter
Versatile
Robot
Skilled
Worker
laser
cutter
Versatile
Robot
Skilled
Worker
Digital Fab-native
laser
cutter
Versatile
Robot
Skilled
Worker
Fewer Machines
laser
cutter
Versatile
Robot
Skilled
Worker
Mass Customization
New	technology:	
Opportunity	to	review	/
change	the	business	
processes
Theory
Theory	builds	on	top	of	
principles
FIRST-
PRINCIPLES
Aristotle: a first principle is the "first basis
from which a thing is known”
First	Principles	Thinking
…one of the most effective strategies you can
employ for breaking down complicated
problems and generating original
solutions.
https://jamesclear.com/first-principles
Deconstruct then reconstruct.
Elon	Musk	on	First	Principles
[With first principles] you boil
things down to the most
fundamental truths … and then
reason up from there."
http://www.businessinsider.fr/us/elon-musk-first-principles-2015-1/
Principles	that	we	we	often	
take	for	granted
Principles	that	we	can	
challenge…
First	Principles	
Thinking	/	Einstein
Einstein questioned the
assumption that time and
space were absolute.
1905
Not	continuous	improvements
Continuous improvement tends to occur within the
boundary set by the original vision.
https://jamesclear.com/first-principles
Deconstruct	past	models		
to	reconstruct	
new	innovative	models
when	designing	software
RADICAL
RE-INVENTIONfrom first principles
WHAT IF WE
STARTED FROM
SCRATCH?
CREDIT	RISK	FROM	FIRST	PRINCIPLES
RISK BUREAU
GUARANTEES
VALUE OVER TIME
MONEY LENT
OVER TIME
IS IT BALANCED?
PAYMENT	FROM	FIRST	PRINCIPLES
PAYMENT RISK
COMMITMENT TO
SHIP PRODUCT NOW
PROMISE TO SEND
MONEY LATER
”NON REPUDIATION”
FINANCE	FROM	FIRST	PRINCIPLES
Do whatever with money / risk moving hands, as long as you can get
”FEES”
requirements
design	
Radically	From	First	Principles	
(Ignoring	the	traditions)
FIRST		
PRINCIPLES	OF	
THE	BUSINESS
CO-DESIGNED		
SOFTWARE
Because	software	is	different	
than	what	was	before…
No	such	a	thing	as		
Technology-Agnostic	Domains	
An office pool in the 1950s. Underwood & Underwood/Corbis
UNDERLYING
TECHNOLOGYas-a-legacy influence
Calculating	 number	 of	 days	 between	 dates	 is	
difbicult	
→	 30/360	 day	 count	 basis	 calculation	 as	 a	
”simpli5ication"	 (LOL)	 when	 calculating	 the	
number	of	days	in	months
Legacy	Corruption
An office pool in the 1950s. Underwood & Underwood/Corbis
Domains	are	still	shaped	by	
the	previous	technology:	
bureaucracy
An office pool in the 1950s. Underwood & Underwood/Corbis
Legacy	Assumptions
Human	time	is	precious	so	we	optimise	how	to	
use	it	sparsely	(but	machine	time	is	not)
When 80% of requests are
fully automated…
…does it still makes sense
to have a workflow
between (mostly) function
calls?
#NoWorkflow
DIGITAL-NATIVE
BUSINESSES
/!	Political	Risk	/!
Who’s gonna sign off the decision to make radical
changes to business processes?
Discovering a modelling breakthrough is only half of the
total effort; the other half is communicating and convincing
other people (business sponsors, managers…) to accept
the associated risk of novelty.
in closing
RAISE THE
WATERLINE
EXPECT
UNTOLD
REGULARITIES
Advocate
Domain-Driven
Design
Build theories,
not just lists of
business rules
LEARN TO
THINK FROM
FIRST
PRINCIPLES
Embrace
DIGITAL
Transformations
to
SOFTWARE-
AUGMENTED
BUSINESSES
@cyriux
Cyrille Martraire
Thanks!
Follow me @cyriux
Slides: slideshare.net/cyriux
Blog: cyrille.martraire.com
We offer training, coaching & consulting on DDD, BDD, TDD

Weitere ähnliche Inhalte

Ähnlich wie Domain modeling for Digital Transformations (FlowCon Paris 2019 edition)

“Comparing ML-Based Audio with ML-Based Vision: An Introduction to ML Audio f...
“Comparing ML-Based Audio with ML-Based Vision: An Introduction to ML Audio f...“Comparing ML-Based Audio with ML-Based Vision: An Introduction to ML Audio f...
“Comparing ML-Based Audio with ML-Based Vision: An Introduction to ML Audio f...Edge AI and Vision Alliance
 
Cyclone DDS Unleashed: The Origins
Cyclone DDS Unleashed: The OriginsCyclone DDS Unleashed: The Origins
Cyclone DDS Unleashed: The OriginsZettaScaleTechnology
 
HLayer / Cloud Native Best Practices
HLayer / Cloud Native Best PracticesHLayer / Cloud Native Best Practices
HLayer / Cloud Native Best PracticesAymen EL Amri
 
Generative Design 101 for Architecture, Engineering & Construction by Jad Del...
Generative Design 101 for Architecture, Engineering & Construction by Jad Del...Generative Design 101 for Architecture, Engineering & Construction by Jad Del...
Generative Design 101 for Architecture, Engineering & Construction by Jad Del...Jad DELLEL
 
Let's not rewrite it all
Let's not rewrite it allLet's not rewrite it all
Let's not rewrite it allMichelle Brush
 
Containers: Don't Skeu Them Up (LinuxCon Dublin)
Containers: Don't Skeu Them Up (LinuxCon Dublin)Containers: Don't Skeu Them Up (LinuxCon Dublin)
Containers: Don't Skeu Them Up (LinuxCon Dublin)Gordon Haff
 
Smau Milano 2016 - Michele Finelli
Smau Milano 2016 - Michele FinelliSmau Milano 2016 - Michele Finelli
Smau Milano 2016 - Michele FinelliSMAU
 
Modern Engineering Practices - Building Blocks for the New Digital Economy (A...
Modern Engineering Practices - Building Blocks for the New Digital Economy (A...Modern Engineering Practices - Building Blocks for the New Digital Economy (A...
Modern Engineering Practices - Building Blocks for the New Digital Economy (A...IT Arena
 
SOA: A more pragmatic approach to IT
SOA: A more pragmatic approach to ITSOA: A more pragmatic approach to IT
SOA: A more pragmatic approach to ITPeter Evans-Greenwood
 
Hybrid Cloud Point of View - IBM Event, 2015
Hybrid Cloud Point of View - IBM Event, 2015Hybrid Cloud Point of View - IBM Event, 2015
Hybrid Cloud Point of View - IBM Event, 2015Denny Muktar
 
Cloud lunchn learn_howtobecomeacloudarchitect_part1
Cloud lunchn learn_howtobecomeacloudarchitect_part1Cloud lunchn learn_howtobecomeacloudarchitect_part1
Cloud lunchn learn_howtobecomeacloudarchitect_part1Turja Narayan Chaudhuri
 
Logic Apps reuse with microservices design
Logic Apps reuse with microservices designLogic Apps reuse with microservices design
Logic Apps reuse with microservices designBizTalk360
 
Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...
Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...
Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...Yan Justino
 
Tales From the Flow
Tales From the FlowTales From the Flow
Tales From the Flowconfluent
 
Agile architectures in a modern cloud-native ecosystem
Agile architectures in a modern cloud-native ecosystemAgile architectures in a modern cloud-native ecosystem
Agile architectures in a modern cloud-native ecosystemTurja Narayan Chaudhuri
 
Agile Architecture in a Modern Cloud-Native Ecosystem
Agile Architecture in a Modern Cloud-Native EcosystemAgile Architecture in a Modern Cloud-Native Ecosystem
Agile Architecture in a Modern Cloud-Native EcosystemCloud Study Network
 
Domain-Driven Design (Artur Trosin Product Stream)
Domain-Driven Design (Artur Trosin Product Stream)Domain-Driven Design (Artur Trosin Product Stream)
Domain-Driven Design (Artur Trosin Product Stream)IT Arena
 

Ähnlich wie Domain modeling for Digital Transformations (FlowCon Paris 2019 edition) (20)

“Comparing ML-Based Audio with ML-Based Vision: An Introduction to ML Audio f...
“Comparing ML-Based Audio with ML-Based Vision: An Introduction to ML Audio f...“Comparing ML-Based Audio with ML-Based Vision: An Introduction to ML Audio f...
“Comparing ML-Based Audio with ML-Based Vision: An Introduction to ML Audio f...
 
Cyclone DDS Unleashed: The Origins
Cyclone DDS Unleashed: The OriginsCyclone DDS Unleashed: The Origins
Cyclone DDS Unleashed: The Origins
 
2009-dec-10 Architectuur en HL7
2009-dec-10 Architectuur en HL72009-dec-10 Architectuur en HL7
2009-dec-10 Architectuur en HL7
 
HLayer / Cloud Native Best Practices
HLayer / Cloud Native Best PracticesHLayer / Cloud Native Best Practices
HLayer / Cloud Native Best Practices
 
My feedback on ddd europe
My feedback on ddd europeMy feedback on ddd europe
My feedback on ddd europe
 
Generative Design 101 for Architecture, Engineering & Construction by Jad Del...
Generative Design 101 for Architecture, Engineering & Construction by Jad Del...Generative Design 101 for Architecture, Engineering & Construction by Jad Del...
Generative Design 101 for Architecture, Engineering & Construction by Jad Del...
 
Let's not rewrite it all
Let's not rewrite it allLet's not rewrite it all
Let's not rewrite it all
 
Containers: Don't Skeu Them Up (LinuxCon Dublin)
Containers: Don't Skeu Them Up (LinuxCon Dublin)Containers: Don't Skeu Them Up (LinuxCon Dublin)
Containers: Don't Skeu Them Up (LinuxCon Dublin)
 
Smau Milano 2016 - Michele Finelli
Smau Milano 2016 - Michele FinelliSmau Milano 2016 - Michele Finelli
Smau Milano 2016 - Michele Finelli
 
Modern Engineering Practices - Building Blocks for the New Digital Economy (A...
Modern Engineering Practices - Building Blocks for the New Digital Economy (A...Modern Engineering Practices - Building Blocks for the New Digital Economy (A...
Modern Engineering Practices - Building Blocks for the New Digital Economy (A...
 
SOA: A more pragmatic approach to IT
SOA: A more pragmatic approach to ITSOA: A more pragmatic approach to IT
SOA: A more pragmatic approach to IT
 
Hybrid Cloud Point of View - IBM Event, 2015
Hybrid Cloud Point of View - IBM Event, 2015Hybrid Cloud Point of View - IBM Event, 2015
Hybrid Cloud Point of View - IBM Event, 2015
 
Cloud lunchn learn_howtobecomeacloudarchitect_part1
Cloud lunchn learn_howtobecomeacloudarchitect_part1Cloud lunchn learn_howtobecomeacloudarchitect_part1
Cloud lunchn learn_howtobecomeacloudarchitect_part1
 
Logic Apps reuse with microservices design
Logic Apps reuse with microservices designLogic Apps reuse with microservices design
Logic Apps reuse with microservices design
 
Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...
Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...
Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...
 
L Migrator Pres
L Migrator PresL Migrator Pres
L Migrator Pres
 
Tales From the Flow
Tales From the FlowTales From the Flow
Tales From the Flow
 
Agile architectures in a modern cloud-native ecosystem
Agile architectures in a modern cloud-native ecosystemAgile architectures in a modern cloud-native ecosystem
Agile architectures in a modern cloud-native ecosystem
 
Agile Architecture in a Modern Cloud-Native Ecosystem
Agile Architecture in a Modern Cloud-Native EcosystemAgile Architecture in a Modern Cloud-Native Ecosystem
Agile Architecture in a Modern Cloud-Native Ecosystem
 
Domain-Driven Design (Artur Trosin Product Stream)
Domain-Driven Design (Artur Trosin Product Stream)Domain-Driven Design (Artur Trosin Product Stream)
Domain-Driven Design (Artur Trosin Product Stream)
 

Mehr von Cyrille Martraire

Hexagonal at Scale, with DDD and microservices! - Voxxed Days microservices 2...
Hexagonal at Scale, with DDD and microservices! - Voxxed Days microservices 2...Hexagonal at Scale, with DDD and microservices! - Voxxed Days microservices 2...
Hexagonal at Scale, with DDD and microservices! - Voxxed Days microservices 2...Cyrille Martraire
 
Bounded Context - DDD Europe Foundation Track
Bounded Context - DDD Europe Foundation TrackBounded Context - DDD Europe Foundation Track
Bounded Context - DDD Europe Foundation TrackCyrille Martraire
 
Domain Modeling towards First Principles
Domain Modeling towards First PrinciplesDomain Modeling towards First Principles
Domain Modeling towards First PrinciplesCyrille Martraire
 
DDD beyond the infamous repository pattern - GeeCon Prague 2018
DDD beyond the infamous repository pattern - GeeCon Prague 2018DDD beyond the infamous repository pattern - GeeCon Prague 2018
DDD beyond the infamous repository pattern - GeeCon Prague 2018Cyrille Martraire
 
Les effets inattendus du passage en Features Teams à grande échelle -ScrumDay...
Les effets inattendus du passage en Features Teams à grande échelle -ScrumDay...Les effets inattendus du passage en Features Teams à grande échelle -ScrumDay...
Les effets inattendus du passage en Features Teams à grande échelle -ScrumDay...Cyrille Martraire
 
Refactor your Specs - 2017 Edition
Refactor your Specs - 2017 EditionRefactor your Specs - 2017 Edition
Refactor your Specs - 2017 EditionCyrille Martraire
 
Interviewing Domain Experts - Heuristics From the Trenches (DDD Europe 2016 M...
Interviewing Domain Experts - Heuristics From the Trenches (DDD Europe 2016 M...Interviewing Domain Experts - Heuristics From the Trenches (DDD Europe 2016 M...
Interviewing Domain Experts - Heuristics From the Trenches (DDD Europe 2016 M...Cyrille Martraire
 
DDD patterns that were not in the book
DDD patterns that were not in the bookDDD patterns that were not in the book
DDD patterns that were not in the bookCyrille Martraire
 
Living Documentation (NCrafts Paris 2015, DDDx London 2015, BDX.io 2015, Code...
Living Documentation (NCrafts Paris 2015, DDDx London 2015, BDX.io 2015, Code...Living Documentation (NCrafts Paris 2015, DDDx London 2015, BDX.io 2015, Code...
Living Documentation (NCrafts Paris 2015, DDDx London 2015, BDX.io 2015, Code...Cyrille Martraire
 
Legacy Code: Evolve or Rewrite?
Legacy Code: Evolve or Rewrite?Legacy Code: Evolve or Rewrite?
Legacy Code: Evolve or Rewrite?Cyrille Martraire
 
Ur Domain Haz Monoids DDDx NYC 2014
Ur Domain Haz Monoids DDDx NYC 2014Ur Domain Haz Monoids DDDx NYC 2014
Ur Domain Haz Monoids DDDx NYC 2014Cyrille Martraire
 
Refactor your specs! Øredev 2013
Refactor your specs! Øredev 2013Refactor your specs! Øredev 2013
Refactor your specs! Øredev 2013Cyrille Martraire
 
DDD session BrownBagLunch (FR)
DDD session BrownBagLunch (FR)DDD session BrownBagLunch (FR)
DDD session BrownBagLunch (FR)Cyrille Martraire
 
I T.A.K.E. talk: "When DDD meets FP, good things happen"
I T.A.K.E. talk: "When DDD meets FP, good things happen"I T.A.K.E. talk: "When DDD meets FP, good things happen"
I T.A.K.E. talk: "When DDD meets FP, good things happen"Cyrille Martraire
 
Domain-Driven Design in legacy application
Domain-Driven Design in legacy applicationDomain-Driven Design in legacy application
Domain-Driven Design in legacy applicationCyrille Martraire
 
Tour d'horizon de Domain-Driven Design Avril 2012 autour d'un retour d'expéri...
Tour d'horizon de Domain-Driven Design Avril 2012 autour d'un retour d'expéri...Tour d'horizon de Domain-Driven Design Avril 2012 autour d'un retour d'expéri...
Tour d'horizon de Domain-Driven Design Avril 2012 autour d'un retour d'expéri...Cyrille Martraire
 

Mehr von Cyrille Martraire (18)

Hexagonal at Scale, with DDD and microservices! - Voxxed Days microservices 2...
Hexagonal at Scale, with DDD and microservices! - Voxxed Days microservices 2...Hexagonal at Scale, with DDD and microservices! - Voxxed Days microservices 2...
Hexagonal at Scale, with DDD and microservices! - Voxxed Days microservices 2...
 
Bounded Context - DDD Europe Foundation Track
Bounded Context - DDD Europe Foundation TrackBounded Context - DDD Europe Foundation Track
Bounded Context - DDD Europe Foundation Track
 
Domain Modeling towards First Principles
Domain Modeling towards First PrinciplesDomain Modeling towards First Principles
Domain Modeling towards First Principles
 
DDD beyond the infamous repository pattern - GeeCon Prague 2018
DDD beyond the infamous repository pattern - GeeCon Prague 2018DDD beyond the infamous repository pattern - GeeCon Prague 2018
DDD beyond the infamous repository pattern - GeeCon Prague 2018
 
DDD for real
DDD for realDDD for real
DDD for real
 
Les effets inattendus du passage en Features Teams à grande échelle -ScrumDay...
Les effets inattendus du passage en Features Teams à grande échelle -ScrumDay...Les effets inattendus du passage en Features Teams à grande échelle -ScrumDay...
Les effets inattendus du passage en Features Teams à grande échelle -ScrumDay...
 
Refactor your Specs - 2017 Edition
Refactor your Specs - 2017 EditionRefactor your Specs - 2017 Edition
Refactor your Specs - 2017 Edition
 
Interviewing Domain Experts - Heuristics From the Trenches (DDD Europe 2016 M...
Interviewing Domain Experts - Heuristics From the Trenches (DDD Europe 2016 M...Interviewing Domain Experts - Heuristics From the Trenches (DDD Europe 2016 M...
Interviewing Domain Experts - Heuristics From the Trenches (DDD Europe 2016 M...
 
DDD patterns that were not in the book
DDD patterns that were not in the bookDDD patterns that were not in the book
DDD patterns that were not in the book
 
Living Documentation (NCrafts Paris 2015, DDDx London 2015, BDX.io 2015, Code...
Living Documentation (NCrafts Paris 2015, DDDx London 2015, BDX.io 2015, Code...Living Documentation (NCrafts Paris 2015, DDDx London 2015, BDX.io 2015, Code...
Living Documentation (NCrafts Paris 2015, DDDx London 2015, BDX.io 2015, Code...
 
Legacy Code: Evolve or Rewrite?
Legacy Code: Evolve or Rewrite?Legacy Code: Evolve or Rewrite?
Legacy Code: Evolve or Rewrite?
 
Ur Domain Haz Monoids DDDx NYC 2014
Ur Domain Haz Monoids DDDx NYC 2014Ur Domain Haz Monoids DDDx NYC 2014
Ur Domain Haz Monoids DDDx NYC 2014
 
Ur Domain Haz Monoids
Ur Domain Haz MonoidsUr Domain Haz Monoids
Ur Domain Haz Monoids
 
Refactor your specs! Øredev 2013
Refactor your specs! Øredev 2013Refactor your specs! Øredev 2013
Refactor your specs! Øredev 2013
 
DDD session BrownBagLunch (FR)
DDD session BrownBagLunch (FR)DDD session BrownBagLunch (FR)
DDD session BrownBagLunch (FR)
 
I T.A.K.E. talk: "When DDD meets FP, good things happen"
I T.A.K.E. talk: "When DDD meets FP, good things happen"I T.A.K.E. talk: "When DDD meets FP, good things happen"
I T.A.K.E. talk: "When DDD meets FP, good things happen"
 
Domain-Driven Design in legacy application
Domain-Driven Design in legacy applicationDomain-Driven Design in legacy application
Domain-Driven Design in legacy application
 
Tour d'horizon de Domain-Driven Design Avril 2012 autour d'un retour d'expéri...
Tour d'horizon de Domain-Driven Design Avril 2012 autour d'un retour d'expéri...Tour d'horizon de Domain-Driven Design Avril 2012 autour d'un retour d'expéri...
Tour d'horizon de Domain-Driven Design Avril 2012 autour d'un retour d'expéri...
 

Kürzlich hochgeladen

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 

Kürzlich hochgeladen (20)

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 

Domain modeling for Digital Transformations (FlowCon Paris 2019 edition)