SlideShare una empresa de Scribd logo
1 de 186
Descargar para leer sin conexión
Transactions
Redefined
Transactions
Redefined
A dive into the wormhole with
Transactions
Redefined
@ziobrando
A dive into the wormhole with
Sending a payment
to myself
Let’s see the Events!
Transactions redefined
Domain Event:
Orange, verb
at past tense
Domain Event:
Orange, verb
at past tense
Hot Spot:
Purple, feel
free to
express
yourself!
I started with
Orange
but it’s not
enough to tell
the whole story
Purple tells
more!
Transactions redefined
PROTIP: if the
software
seems
unfinished,
trust might be
impacted. Just
sayin’
Looks like I just
Can’t keep my
mouth shut!
Transactions redefined
PROTIP: users
don’t like
navigating
three screens
in order to see
payees in
alphabetical
order
Transactions redefined
Protip: some
users do copy
and paste from
invoices where
IBAN is written
with spaces
Protip: some
users do copy
and paste from
invoices where
IBAN is written
with spaces
PROTIP:
humans don’t
enjoy removing
spaces from
IBAN strings
Transactions redefined
Protip:
reminding your
users of their
age every time
they use your
service isn’t
great UX
Protip:
reminding your
users of their
age every time
they use your
service isn’t
great UX
PROTIP: “we
were short on
budget” doesn’t
work well with
banks.
Transactions redefined
PROTIP: I still
can’t
understand why
should I wait
that much, but
I’d appreciate a
deadline anyway
Transactions redefined
The wormhole
Transactions redefined
Transactions redefined
Breaking News!
After 3 and a
half years
since it was
promised I
might finally
have some
notification.
Transactions redefined
Transactions redefined
Transactions redefined
Transactions redefined
PROTIP: please
read one
article about
context
switching.
Transactions redefined
Great job!
13 Events
14 WTF!
“We are going to be disrupted by fintech…” (anonymous banker)
How do I feel?
Transactions redefined
“I am going to
find where you
live”
Transactions redefined
“I am going to
change your main
door lock”
Transactions redefined
“Every end of
month”
Transactions redefined
When you’re
carrying bags
How can you talk about “mobile banking” if you can arbitrarily
force me to update my credentials?
Transactions redefined
And it’s raining
Transactions redefined
…For “security
reasons”
About me
Having a hard time with BAD
software
running www.avanscoperta.it
Modelling (almost) everything with
sticky notes, markers and a paper
roll.
Calling this stuff
The wormhole
Transactions
We have a few
problems
I didn’t say
“database
transaction”
Transactions redefined
Transactions redefined
The whole is not
“transactional”
Eventual
Consistency?
Eventual
Consistency?
Yes, but I am more worried about another thing…
The user is part
of the
transaction
We have a blind
spot on this
Let’s STORM!
Our Basic toolkit
Unrolling it…
Business processes expose a
repeatable structure
Example
How do we
manage that?
Refund
Request
Received
Typical dev implementation
Refund
Request
Received
Refund
Policy
Issue
Refund
Paypal
Refund
Issued
Notification
Sent to
Payee
Can you see the
problem?
Simple heuristic
What do I have?
What do I know?
How do I feel?
Simple heuristic
Refund
Request
Received
Custo
mer
Simple heuristic
What do I have?
Refund
Request
Received
Custo
mer
Simple heuristic
What do I have?
A ticket
Refund
Request
Received
Custo
mer
Simple heuristic
What do I have?
A ticket
What do I know?
Refund
Request
Received
Custo
mer
Simple heuristic
What do I have?
A ticket
What do I know?
I won’t be able to use it
Refund
Request
Received
Custo
mer
Simple heuristic
What do I have?
A ticket
What do I know?
I won’t be able to use it
How do I feel?
Refund
Request
Received
Custo
mer
Simple heuristic
What do I have?
A ticket
What do I know?
I won’t be able to use it
How do I feel?
Worried (will I get my money back?)
Refund
Request
Received
Custo
mer
Simple heuristic
What do I have?
A ticket
What do I know?
I won’t be able to use it
How do I feel?
Worried (will I get my money back?)
Sorry (Will it be a problem?)
Refund
Request
Received
Custo
mer
Simple heuristic
Custo
mer
Notification
Sent to
Payee
Refund
Notification
Received
Simple heuristic
What do I have?
Custo
mer
Notification
Sent to
Payee
Refund
Notification
Received
Simple heuristic
What do I have?
A ticket?
Custo
mer
Notification
Sent to
Payee
Refund
Notification
Received
Simple heuristic
What do I have?
A ticket?
My Money back
Custo
mer
Notification
Sent to
Payee
Refund
Notification
Received
Simple heuristic
What do I have?
A ticket?
My Money back
What do I know?
Custo
mer
Notification
Sent to
Payee
Refund
Notification
Received
Simple heuristic
What do I have?
A ticket?
My Money back
What do I know?
I have my money back
Custo
mer
Notification
Sent to
Payee
Refund
Notification
Received
Simple heuristic
What do I have?
A ticket?
My Money back
What do I know?
I have my money back
How do I feel?
Custo
mer
Notification
Sent to
Payee
Refund
Notification
Received
Simple heuristic
What do I have?
A ticket?
My Money back
What do I know?
I have my money back
How do I feel?
Safe (I have my money)
Custo
mer
Notification
Sent to
Payee
Refund
Notification
Received
Simple heuristic
What do I have?
A ticket?
My Money back
What do I know?
I have my money back
How do I feel?
Safe (I have my money)
Worried (Did I insult anyone?)
Custo
mer
Notification
Sent to
Payee
Refund
Notification
Received
Too “efficient”
Too impersonal
Transactions redefined
“I am not a UX
expert”
“Everybody is the
business analyst”
“Everybody is the
UX expert”
A platform for
self-organization
This is what happens when Dan North talks about your stuff :O)
Don’t let roles
get in the way
Don’t assume,
talk
And if necessary…
experiment!
Friendly Refund Policy
Refund
Request
Received
Call
Customer
Phone
Refund
Chosen
Coupon
Chosen
Human
Refund
Policy
Organi
zer
Other
Idea
Chosen
Friendly Refund Policy
Refund
Request
Received
Call
Customer
Phone
Refund
Chosen
Coupon
Chosen
Human
Refund
Policy
Organi
zer
Other
Idea
Chosen
TIP: don’t model
the conversation,
model the outcome.
Let’s Check!
Custo
mer
Call
Ended
- - - - -
Refund
Chosen
Let’s Check!
What do I have?
Custo
mer
Call
Ended
- - - - -
Refund
Chosen
Let’s Check!
What do I have?
An Agreement
Custo
mer
Call
Ended
- - - - -
Refund
Chosen
Let’s Check!
What do I have?
An Agreement
What do I know?
Custo
mer
Call
Ended
- - - - -
Refund
Chosen
Let’s Check!
What do I have?
An Agreement
What do I know?
I’ll have my money back
Custo
mer
Call
Ended
- - - - -
Refund
Chosen
Let’s Check!
What do I have?
An Agreement
What do I know?
I’ll have my money back
How do I feel?
Custo
mer
Call
Ended
- - - - -
Refund
Chosen
Let’s Check!
What do I have?
An Agreement
What do I know?
I’ll have my money back
How do I feel?
Safe (I’m told I’ll have my money)
Custo
mer
Call
Ended
- - - - -
Refund
Chosen
Let’s Check!
What do I have?
An Agreement
What do I know?
I’ll have my money back
How do I feel?
Safe (I’m told I’ll have my money)
Relieved (they said no problem)
Custo
mer
Call
Ended
- - - - -
Refund
Chosen
For us, instead
Call
Ended
- - - - -
Refund
Chosen
Organi
zer
TIP: you can have
many perspectives
involved.
For us, instead
What do I have?
Call
Ended
- - - - -
Refund
Chosen
Organi
zer
TIP: you can have
many perspectives
involved.
For us, instead
What do I have?
An Agreement
Call
Ended
- - - - -
Refund
Chosen
Organi
zer
TIP: you can have
many perspectives
involved.
For us, instead
What do I have?
An Agreement
a duty
Call
Ended
- - - - -
Refund
Chosen
Organi
zer
TIP: you can have
many perspectives
involved.
For us, instead
What do I have?
An Agreement
a duty
What do I know?
Call
Ended
- - - - -
Refund
Chosen
Organi
zer
TIP: you can have
many perspectives
involved.
For us, instead
What do I have?
An Agreement
a duty
What do I know?
The decision & the sales
situation
Call
Ended
- - - - -
Refund
Chosen
Organi
zer
TIP: you can have
many perspectives
involved.
For us, instead
What do I have?
An Agreement
a duty
What do I know?
The decision & the sales
situation
How do I feel?
Call
Ended
- - - - -
Refund
Chosen
Organi
zer
TIP: you can have
many perspectives
involved.
For us, instead
What do I have?
An Agreement
a duty
What do I know?
The decision & the sales
situation
How do I feel?
depends on sales ;-)
Call
Ended
- - - - -
Refund
Chosen
Organi
zer
TIP: you can have
many perspectives
involved.
Can we help?
Refund
Request
Received Call
Customer
Phone
Refund
Chosen
Coupon
Chosen
Human
Refund
Policy
Organi
zer
Other
Idea
Chosen
- Price paid
- Sales stats
- Training
Lower Bound
- Days Left
Can we help?
Refund
Request
Received Call
Customer
Phone
Refund
Chosen
Coupon
Chosen
Human
Refund
Policy
Organi
zer
Other
Idea
Chosen
- Price paid
- Sales stats
- Training
Lower Bound
- Days Left
TIP: The read model is a
decision support tool.
Not an exposure of your
database
…of course…
Refund
Chosen
Issue
Refund
Paypal
Refund
Issued
Notification
Sent to
Payee
Refund
Policy
Organi
zer
So, for the user…
Custo
mer
Notification
Sent to
Payee
So, for the user…
What do I have?Custo
mer
Notification
Sent to
Payee
So, for the user…
What do I have?
My Money back
Custo
mer
Notification
Sent to
Payee
So, for the user…
What do I have?
My Money back
What do I know?
Custo
mer
Notification
Sent to
Payee
So, for the user…
What do I have?
My Money back
What do I know?
I have my money back & No
Problem
Custo
mer
Notification
Sent to
Payee
So, for the user…
What do I have?
My Money back
What do I know?
I have my money back & No
Problem
How do I feel?
Custo
mer
Notification
Sent to
Payee
So, for the user…
What do I have?
My Money back
What do I know?
I have my money back & No
Problem
How do I feel?
Safe (I have my money)
Custo
mer
Notification
Sent to
Payee
So, for the user…
What do I have?
My Money back
What do I know?
I have my money back & No
Problem
How do I feel?
Safe (I have my money)
Grateful / Relieved
Custo
mer
Notification
Sent to
Payee
A lot better
And also …the seat!
Refund
Chosen
Registration
Policy
Cancel
Ticket
Ticketing
System
Ticket
cancelled
Notification
Sent
We still have a
problem
No automation (yet)
Refund
Chosen
Issue
Refund
Paypal
Refund
Issued
Notification
Sent to
Payee
Refund
Policy
Organi
zer
Humans are not
acting
instantaneously…
Implicit deadlines
Refund
Request
Received Call
Customer
Phone Coupon
Chosen
Human
Refund
Policy
Organi
zer
Other
Idea
Chosen
- Price paid
- Sales stats
- Training
Lower Bound
- Days Left
(Implicit)
Deadline
Refund
Chosen
Implicit deadlines
Refund
Request
Received Call
Customer
Phone Coupon
Chosen
Human
Refund
Policy
Organi
zer
Other
Idea
Chosen
- Price paid
- Sales stats
- Training
Lower Bound
- Days Left
(Implicit)
Deadline
Refund
Chosen
TIP: Implicit
deadlines can be
modelled as Events
too
(Implicit)
Deadline
Refund
Issued
(Implicit)
Deadline
Refund
IssuedWhat do I have?
(Implicit)
Deadline
Refund
IssuedWhat do I have?
A promise
(Implicit)
Deadline
Refund
IssuedWhat do I have?
A promise
What do I know?
(Implicit)
Deadline
Refund
IssuedWhat do I have?
A promise
What do I know?
I haven’t been refunded
(Implicit)
Deadline
Refund
IssuedWhat do I have?
A promise
What do I know?
I haven’t been refunded
How do I feel?
(Implicit)
Deadline
Refund
IssuedWhat do I have?
A promise
What do I know?
I haven’t been refunded
How do I feel?
Kinda worried, Should I remind
them?
Not good
With normal banking…
Enter
Payment
Refund
Policy
Organi
zer
(Implicit)
Deadline
Refund
Chosen
Banking System Payment
Entered
With normal banking…
Enter
Payment
Refund
Policy
Organi
zer
(Implicit)
Deadline
Refund
Chosen
Banking System Payment
Entered
WORMHOLE
Refund
Chosen
(Implicit)
Deadline
past
Refund
Chosen
(Implicit)
Deadline
past What do I have?
Refund
Chosen
(Implicit)
Deadline
past What do I have?
A promise
Refund
Chosen
(Implicit)
Deadline
past What do I have?
A promise
What do I know?
Refund
Chosen
(Implicit)
Deadline
past What do I have?
A promise
What do I know?
I haven’t been refunded
Refund
Chosen
(Implicit)
Deadline
past What do I have?
A promise
What do I know?
I haven’t been refunded
How do I feel?
Refund
Chosen
(Implicit)
Deadline
past What do I have?
A promise
What do I know?
I haven’t been refunded
How do I feel?
Kinda worried, Should I
remind them?
But then…
Refund
Chosen
(Implicit)
Deadline
past
Logged
Into
Banking
System
But then…
Refund
Chosen
(Implicit)
Deadline
past
What do I have?
Logged
Into
Banking
System
But then…
Refund
Chosen
(Implicit)
Deadline
past
What do I have?
An unfulfilled
promise
Logged
Into
Banking
System
But then…
Refund
Chosen
(Implicit)
Deadline
past
What do I have?
An unfulfilled
promise
What do I know?
Logged
Into
Banking
System
But then…
Refund
Chosen
(Implicit)
Deadline
past
What do I have?
An unfulfilled
promise
What do I know?
I haven’t been
refunded
Logged
Into
Banking
System
But then…
Refund
Chosen
(Implicit)
Deadline
past
What do I have?
An unfulfilled
promise
What do I know?
I haven’t been
refunded
How do I feel?
Logged
Into
Banking
System
But then…
Refund
Chosen
(Implicit)
Deadline
past
What do I have?
An unfulfilled
promise
What do I know?
I haven’t been
refunded
How do I feel?
Logged
Into
Banking
System
Transactions redefined
OOOPS!
We aren’t in control of the whole Flow…
But now we have
an easy way to
play with that!
GROUNDBREAKING!!!
It’s not about
inventing new
things
It’s more about
removing
impediments
Transactions redefined
Roles,
Roles,
Processes,
Roles,
Processes,
Contracts,
Roles,
Processes,
Contracts,
…
Roles,
Processes,
Contracts,
…
Space limitation
Conclusions
in the large
scale…
There is no
consistency
But a tension to
reconciliation
“Transactions”
are processes
And some cannot
be rolled back
Make the Global
state visible
Users are part of
the state
Intermediate
Steps matter
Mood, implicit deadlines, expectations
Transactions redefined
Mood and
feelings are part
of the Global
state
Enables cross-
perspective
conversation
Software design, User Experience, Business Modelling,
Lean etc.
Transactions redefined
is my pizza:
You can add your
toppings
is my pizza:
You can add your
toppings
With the notable exception of database tables and pineapple
Menu
BIG PICTURE
PROCESS DESIGN
AGGREGATE DISCOVERY
Service Design
Value-Stream Mapping
Retrospectives
Organization Design
… add yours!
Can lead you to
unexpected places
apparently, you cannot choose what your problem is
Helps you solve
the problem as a
team
Helps you solve
the problem as a
real team
It’s about contributions and insights, not roles
We are problem
solvers,
Not problem
pickers
Thank you!
References
• www.eventstorming.com
• EventStormers on Google+
• https://plus.google.com/u/0/communities/
113258571348605620818
• LeanPub book in progress:
• http://leanpub.com/introducing_eventstorming
• Blog:
• https://medium.com/@ziobrando
• http://ziobrando.blogspot.com
• Twitter: @ziobrando
• Trainings & Workshop facilitation:
• http://www.avanscoperta.it

Más contenido relacionado

La actualidad más candente

Domain Driven Design (Ultra) Distilled
Domain Driven Design (Ultra) DistilledDomain Driven Design (Ultra) Distilled
Domain Driven Design (Ultra) DistilledNicola Costantino
 
Workshop event storming
Workshop event stormingWorkshop event storming
Workshop event stormingJef Claes
 
Taming Complex Domains with Domain Driven Design
Taming Complex Domains with Domain Driven DesignTaming Complex Domains with Domain Driven Design
Taming Complex Domains with Domain Driven DesignAlberto Brandolini
 
A Practical Guide to Domain Driven Design: Presentation Slides
A Practical Guide to Domain Driven Design: Presentation SlidesA Practical Guide to Domain Driven Design: Presentation Slides
A Practical Guide to Domain Driven Design: Presentation Slidesthinkddd
 
Refactoring for Domain Driven Design
Refactoring for Domain Driven DesignRefactoring for Domain Driven Design
Refactoring for Domain Driven DesignDavid Berliner
 
Real Life Clean Architecture
Real Life Clean ArchitectureReal Life Clean Architecture
Real Life Clean ArchitectureMattia Battiston
 
Complex event flows in distributed systems
Complex event flows in distributed systemsComplex event flows in distributed systems
Complex event flows in distributed systemsBernd Ruecker
 
Why do all my ddd apps look the same - Vienna 2014
Why do all my ddd apps look the same - Vienna 2014Why do all my ddd apps look the same - Vienna 2014
Why do all my ddd apps look the same - Vienna 2014Alberto Brandolini
 
Modelling a complex domain with Domain-Driven Design
Modelling a complex domain with Domain-Driven DesignModelling a complex domain with Domain-Driven Design
Modelling a complex domain with Domain-Driven DesignNaeem Sarfraz
 
Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019
Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019
Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019Agile India
 
Domain Driven Design Quickly
Domain Driven Design QuicklyDomain Driven Design Quickly
Domain Driven Design QuicklyMariam Hakobyan
 
Introducing Saga Pattern in Microservices with Spring Statemachine
Introducing Saga Pattern in Microservices with Spring StatemachineIntroducing Saga Pattern in Microservices with Spring Statemachine
Introducing Saga Pattern in Microservices with Spring StatemachineVMware Tanzu
 

La actualidad más candente (20)

Extreme DDD modelling
Extreme DDD modellingExtreme DDD modelling
Extreme DDD modelling
 
Domain Driven Design (Ultra) Distilled
Domain Driven Design (Ultra) DistilledDomain Driven Design (Ultra) Distilled
Domain Driven Design (Ultra) Distilled
 
Workshop event storming
Workshop event stormingWorkshop event storming
Workshop event storming
 
Taming Complex Domains with Domain Driven Design
Taming Complex Domains with Domain Driven DesignTaming Complex Domains with Domain Driven Design
Taming Complex Domains with Domain Driven Design
 
Work shop eventstorming
Work shop  eventstormingWork shop  eventstorming
Work shop eventstorming
 
Domain driven design
Domain driven designDomain driven design
Domain driven design
 
A Practical Guide to Domain Driven Design: Presentation Slides
A Practical Guide to Domain Driven Design: Presentation SlidesA Practical Guide to Domain Driven Design: Presentation Slides
A Practical Guide to Domain Driven Design: Presentation Slides
 
Refactoring for Domain Driven Design
Refactoring for Domain Driven DesignRefactoring for Domain Driven Design
Refactoring for Domain Driven Design
 
Introduction to DDD
Introduction to DDDIntroduction to DDD
Introduction to DDD
 
Context Mapping In Action
Context Mapping In ActionContext Mapping In Action
Context Mapping In Action
 
Real Life Clean Architecture
Real Life Clean ArchitectureReal Life Clean Architecture
Real Life Clean Architecture
 
The gordian knot
The gordian knotThe gordian knot
The gordian knot
 
Complex event flows in distributed systems
Complex event flows in distributed systemsComplex event flows in distributed systems
Complex event flows in distributed systems
 
Domain driven design
Domain driven designDomain driven design
Domain driven design
 
Why do all my ddd apps look the same - Vienna 2014
Why do all my ddd apps look the same - Vienna 2014Why do all my ddd apps look the same - Vienna 2014
Why do all my ddd apps look the same - Vienna 2014
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
Modelling a complex domain with Domain-Driven Design
Modelling a complex domain with Domain-Driven DesignModelling a complex domain with Domain-Driven Design
Modelling a complex domain with Domain-Driven Design
 
Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019
Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019
Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019
 
Domain Driven Design Quickly
Domain Driven Design QuicklyDomain Driven Design Quickly
Domain Driven Design Quickly
 
Introducing Saga Pattern in Microservices with Spring Statemachine
Introducing Saga Pattern in Microservices with Spring StatemachineIntroducing Saga Pattern in Microservices with Spring Statemachine
Introducing Saga Pattern in Microservices with Spring Statemachine
 

Destacado

The final words about software estimation
The final words about software estimationThe final words about software estimation
The final words about software estimationAlberto Brandolini
 
Reshaping enterrprise software
Reshaping enterrprise softwareReshaping enterrprise software
Reshaping enterrprise softwareAlberto Brandolini
 
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
 
Projections explained
Projections explainedProjections explained
Projections explainedYves Reynhout
 
From C to Q one event at a time: Event Sourcing illustrated
From C to Q one event at a time: Event Sourcing illustratedFrom C to Q one event at a time: Event Sourcing illustrated
From C to Q one event at a time: Event Sourcing illustratedLorenzo Nicora
 
Using the Actor Model with Domain-Driven Design (DDD) in Reactive Systems - w...
Using the Actor Model with Domain-Driven Design (DDD) in Reactive Systems - w...Using the Actor Model with Domain-Driven Design (DDD) in Reactive Systems - w...
Using the Actor Model with Domain-Driven Design (DDD) in Reactive Systems - w...Lightbend
 
Idea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw editionIdea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw editionAlberto Brandolini
 
Model storming - a different approach to collaborative model discovery (Vilni...
Model storming - a different approach to collaborative model discovery (Vilni...Model storming - a different approach to collaborative model discovery (Vilni...
Model storming - a different approach to collaborative model discovery (Vilni...Alberto Brandolini
 
Bullshit Asymmetry Principle lightning talk
Bullshit Asymmetry Principle lightning talkBullshit Asymmetry Principle lightning talk
Bullshit Asymmetry Principle lightning talkAlberto Brandolini
 
CQRS and Event Sourcing in a Symfony application
CQRS and Event Sourcing in a Symfony applicationCQRS and Event Sourcing in a Symfony application
CQRS and Event Sourcing in a Symfony applicationSamuel ROZE
 
Developing event-driven microservices with event sourcing and CQRS (svcc, sv...
Developing event-driven microservices with event sourcing and CQRS  (svcc, sv...Developing event-driven microservices with event sourcing and CQRS  (svcc, sv...
Developing event-driven microservices with event sourcing and CQRS (svcc, sv...Chris Richardson
 
Stai guardando i dati sbagliati
Stai guardando i dati sbagliatiStai guardando i dati sbagliati
Stai guardando i dati sbagliatiAlberto Brandolini
 
Domain Driven Design e CQRS
Domain Driven Design e CQRSDomain Driven Design e CQRS
Domain Driven Design e CQRSManuel Scapolan
 

Destacado (20)

Chasing elephants
Chasing elephantsChasing elephants
Chasing elephants
 
The final words about software estimation
The final words about software estimationThe final words about software estimation
The final words about software estimation
 
Optimized for what
Optimized for whatOptimized for what
Optimized for what
 
Reshaping enterrprise software
Reshaping enterrprise softwareReshaping enterrprise software
Reshaping enterrprise software
 
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
 
Projections explained
Projections explainedProjections explained
Projections explained
 
From C to Q one event at a time: Event Sourcing illustrated
From C to Q one event at a time: Event Sourcing illustratedFrom C to Q one event at a time: Event Sourcing illustrated
From C to Q one event at a time: Event Sourcing illustrated
 
Using the Actor Model with Domain-Driven Design (DDD) in Reactive Systems - w...
Using the Actor Model with Domain-Driven Design (DDD) in Reactive Systems - w...Using the Actor Model with Domain-Driven Design (DDD) in Reactive Systems - w...
Using the Actor Model with Domain-Driven Design (DDD) in Reactive Systems - w...
 
Idea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw editionIdea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw edition
 
It's not simple at all
It's not simple at allIt's not simple at all
It's not simple at all
 
Model storming - a different approach to collaborative model discovery (Vilni...
Model storming - a different approach to collaborative model discovery (Vilni...Model storming - a different approach to collaborative model discovery (Vilni...
Model storming - a different approach to collaborative model discovery (Vilni...
 
Bullshit Asymmetry Principle lightning talk
Bullshit Asymmetry Principle lightning talkBullshit Asymmetry Principle lightning talk
Bullshit Asymmetry Principle lightning talk
 
Liberate il kraken
Liberate il krakenLiberate il kraken
Liberate il kraken
 
CQRS and Event Sourcing in a Symfony application
CQRS and Event Sourcing in a Symfony applicationCQRS and Event Sourcing in a Symfony application
CQRS and Event Sourcing in a Symfony application
 
Developing event-driven microservices with event sourcing and CQRS (svcc, sv...
Developing event-driven microservices with event sourcing and CQRS  (svcc, sv...Developing event-driven microservices with event sourcing and CQRS  (svcc, sv...
Developing event-driven microservices with event sourcing and CQRS (svcc, sv...
 
The sweet spot
The sweet spotThe sweet spot
The sweet spot
 
The precision blade
The precision bladeThe precision blade
The precision blade
 
Stai guardando i dati sbagliati
Stai guardando i dati sbagliatiStai guardando i dati sbagliati
Stai guardando i dati sbagliati
 
Knockout.js
Knockout.jsKnockout.js
Knockout.js
 
Domain Driven Design e CQRS
Domain Driven Design e CQRSDomain Driven Design e CQRS
Domain Driven Design e CQRS
 

Similar a Transactions redefined

Photography A2 Essay
Photography A2 EssayPhotography A2 Essay
Photography A2 EssayNicole Dixon
 
Improving your selling skills and strategy
Improving your selling skills and strategyImproving your selling skills and strategy
Improving your selling skills and strategyAngela Ihunweze
 
Hints to Overcome the Phobia of Selling
Hints to Overcome the Phobia of SellingHints to Overcome the Phobia of Selling
Hints to Overcome the Phobia of SellingJ. Carlos Maia
 
Lean Products & User Centred Designed
Lean Products & User Centred DesignedLean Products & User Centred Designed
Lean Products & User Centred DesignedScott Bales
 
Customer Conversations
Customer ConversationsCustomer Conversations
Customer ConversationsLeon Pals
 
Everything I Know About Making Money and Being Happy as a Freelancer
Everything I Know About Making Money and Being Happy as a FreelancerEverything I Know About Making Money and Being Happy as a Freelancer
Everything I Know About Making Money and Being Happy as a Freelancerchrisshattuck
 
Planet Themed Writing Paper For Kids The Happ
Planet Themed Writing Paper For Kids  The HappPlanet Themed Writing Paper For Kids  The Happ
Planet Themed Writing Paper For Kids The HappPatty Joseph
 
BlackCardMarketingGroup.com @ #InfusionCon 2010
BlackCardMarketingGroup.com @ #InfusionCon 2010BlackCardMarketingGroup.com @ #InfusionCon 2010
BlackCardMarketingGroup.com @ #InfusionCon 2010Black Card Marketing Group
 
International marketing customer relationship management
International marketing   customer relationship managementInternational marketing   customer relationship management
International marketing customer relationship managementstevetalks81
 
Marketing Functional standardization
Marketing Functional standardizationMarketing Functional standardization
Marketing Functional standardizationKarina Ananta
 
Power of Emotional Connections in Storytelling
Power of Emotional Connections in StorytellingPower of Emotional Connections in Storytelling
Power of Emotional Connections in StorytellingHollyn Crabtree
 
Airdrop millionaire collecting wealth
Airdrop millionaire collecting wealthAirdrop millionaire collecting wealth
Airdrop millionaire collecting wealthFrancesco Sofia
 
Fake Your Research - UX Masterclass
Fake Your Research - UX MasterclassFake Your Research - UX Masterclass
Fake Your Research - UX MasterclassSherpas
 
Fake Your Research - UX Masterclass
Fake Your Research - UX MasterclassFake Your Research - UX Masterclass
Fake Your Research - UX MasterclassExperienceU
 
Your PowerPoint sucks Learn Visual Storytelling
Your PowerPoint sucks Learn Visual StorytellingYour PowerPoint sucks Learn Visual Storytelling
Your PowerPoint sucks Learn Visual StorytellingMark Gibson
 
Technology showcase 2018
Technology showcase 2018Technology showcase 2018
Technology showcase 2018Jason Blackmore
 

Similar a Transactions redefined (20)

Photography A2 Essay
Photography A2 EssayPhotography A2 Essay
Photography A2 Essay
 
Improving your selling skills and strategy
Improving your selling skills and strategyImproving your selling skills and strategy
Improving your selling skills and strategy
 
Hints to Overcome the Phobia of Selling
Hints to Overcome the Phobia of SellingHints to Overcome the Phobia of Selling
Hints to Overcome the Phobia of Selling
 
ATLAS SEO | MEDICAL MARKETING
ATLAS SEO | MEDICAL MARKETINGATLAS SEO | MEDICAL MARKETING
ATLAS SEO | MEDICAL MARKETING
 
Lean Products & User Centred Designed
Lean Products & User Centred DesignedLean Products & User Centred Designed
Lean Products & User Centred Designed
 
Customer Conversations
Customer ConversationsCustomer Conversations
Customer Conversations
 
Everything I Know About Making Money and Being Happy as a Freelancer
Everything I Know About Making Money and Being Happy as a FreelancerEverything I Know About Making Money and Being Happy as a Freelancer
Everything I Know About Making Money and Being Happy as a Freelancer
 
Planet Themed Writing Paper For Kids The Happ
Planet Themed Writing Paper For Kids  The HappPlanet Themed Writing Paper For Kids  The Happ
Planet Themed Writing Paper For Kids The Happ
 
BlackCardMarketingGroup.com @ #InfusionCon 2010
BlackCardMarketingGroup.com @ #InfusionCon 2010BlackCardMarketingGroup.com @ #InfusionCon 2010
BlackCardMarketingGroup.com @ #InfusionCon 2010
 
International marketing customer relationship management
International marketing   customer relationship managementInternational marketing   customer relationship management
International marketing customer relationship management
 
Marketing Functional standardization
Marketing Functional standardizationMarketing Functional standardization
Marketing Functional standardization
 
Power of Emotional Connections in Storytelling
Power of Emotional Connections in StorytellingPower of Emotional Connections in Storytelling
Power of Emotional Connections in Storytelling
 
Airdrop millionaire collecting wealth
Airdrop millionaire collecting wealthAirdrop millionaire collecting wealth
Airdrop millionaire collecting wealth
 
I sat with an agent
I sat with an agentI sat with an agent
I sat with an agent
 
Fun on First Click - Workshop Slides - Sebastian Deterding
Fun on First Click - Workshop Slides - Sebastian DeterdingFun on First Click - Workshop Slides - Sebastian Deterding
Fun on First Click - Workshop Slides - Sebastian Deterding
 
Fake Your Research - UX Masterclass
Fake Your Research - UX MasterclassFake Your Research - UX Masterclass
Fake Your Research - UX Masterclass
 
Fake Your Research - UX Masterclass
Fake Your Research - UX MasterclassFake Your Research - UX Masterclass
Fake Your Research - UX Masterclass
 
Tina svs final presentation
Tina svs   final presentationTina svs   final presentation
Tina svs final presentation
 
Your PowerPoint sucks Learn Visual Storytelling
Your PowerPoint sucks Learn Visual StorytellingYour PowerPoint sucks Learn Visual Storytelling
Your PowerPoint sucks Learn Visual Storytelling
 
Technology showcase 2018
Technology showcase 2018Technology showcase 2018
Technology showcase 2018
 

Más de Alberto Brandolini

L'illusione dell'ortogonalità
L'illusione dell'ortogonalitàL'illusione dell'ortogonalità
L'illusione dell'ortogonalitàAlberto Brandolini
 
Redesigning everything (avanscoperta meeutp edition)
Redesigning everything (avanscoperta meeutp edition)Redesigning everything (avanscoperta meeutp edition)
Redesigning everything (avanscoperta meeutp edition)Alberto Brandolini
 
Software design as a cooperative game with EventStorming
Software design as a cooperative game with EventStormingSoftware design as a cooperative game with EventStorming
Software design as a cooperative game with EventStormingAlberto Brandolini
 
Guerrilla portfolio management
Guerrilla portfolio managementGuerrilla portfolio management
Guerrilla portfolio managementAlberto Brandolini
 
Rethinking enterprise software - Codemotion 2014
Rethinking enterprise software - Codemotion 2014Rethinking enterprise software - Codemotion 2014
Rethinking enterprise software - Codemotion 2014Alberto Brandolini
 
Kanban unbounded - Cosa succede sulla linea di faglia tra il team ed il resto...
Kanban unbounded - Cosa succede sulla linea di faglia tra il team ed il resto...Kanban unbounded - Cosa succede sulla linea di faglia tra il team ed il resto...
Kanban unbounded - Cosa succede sulla linea di faglia tra il team ed il resto...Alberto Brandolini
 

Más de Alberto Brandolini (12)

L'illusione dell'ortogonalità
L'illusione dell'ortogonalitàL'illusione dell'ortogonalità
L'illusione dell'ortogonalità
 
What lies beneath
What lies beneathWhat lies beneath
What lies beneath
 
Redesigning everything (avanscoperta meeutp edition)
Redesigning everything (avanscoperta meeutp edition)Redesigning everything (avanscoperta meeutp edition)
Redesigning everything (avanscoperta meeutp edition)
 
Software design as a cooperative game with EventStorming
Software design as a cooperative game with EventStormingSoftware design as a cooperative game with EventStorming
Software design as a cooperative game with EventStorming
 
La fatina dei denti
La fatina dei dentiLa fatina dei denti
La fatina dei denti
 
The alignment
The alignmentThe alignment
The alignment
 
Guerrilla portfolio management
Guerrilla portfolio managementGuerrilla portfolio management
Guerrilla portfolio management
 
Managing debt remastered
Managing debt remasteredManaging debt remastered
Managing debt remastered
 
Pissing against the wind
Pissing against the windPissing against the wind
Pissing against the wind
 
Rethinking enterprise software - Codemotion 2014
Rethinking enterprise software - Codemotion 2014Rethinking enterprise software - Codemotion 2014
Rethinking enterprise software - Codemotion 2014
 
Idea - post-it - test verdi.
Idea - post-it - test verdi.Idea - post-it - test verdi.
Idea - post-it - test verdi.
 
Kanban unbounded - Cosa succede sulla linea di faglia tra il team ed il resto...
Kanban unbounded - Cosa succede sulla linea di faglia tra il team ed il resto...Kanban unbounded - Cosa succede sulla linea di faglia tra il team ed il resto...
Kanban unbounded - Cosa succede sulla linea di faglia tra il team ed il resto...
 

Último

How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?AmeliaSmith90
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionsNirav Modi
 
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.Sharon Liu
 
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageSales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageDista
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfTobias Schneck
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeNeo4j
 
Fields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxFields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxJoão Esperancinha
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadIvo Andreev
 
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfWhy Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfBrain Inventory
 
Streamlining Your Application Builds with Cloud Native Buildpacks
Streamlining Your Application Builds  with Cloud Native BuildpacksStreamlining Your Application Builds  with Cloud Native Buildpacks
Streamlining Your Application Builds with Cloud Native BuildpacksVish Abrams
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampVICTOR MAESTRE RAMIREZ
 
Watermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesWatermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesShyamsundar Das
 
JS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIJS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIIvo Andreev
 
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...OnePlan Solutions
 
Introduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntroduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntelliSource Technologies
 
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsYour Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsJaydeep Chhasatia
 
Webinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.pptWebinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.pptkinjal48
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesSoftwareMill
 
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilVICTOR MAESTRE RAMIREZ
 

Último (20)

How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspections
 
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
 
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageSales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG time
 
Fields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxFields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptx
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and Bad
 
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfWhy Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdf
 
Streamlining Your Application Builds with Cloud Native Buildpacks
Streamlining Your Application Builds  with Cloud Native BuildpacksStreamlining Your Application Builds  with Cloud Native Buildpacks
Streamlining Your Application Builds with Cloud Native Buildpacks
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - Datacamp
 
Watermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesWatermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security Challenges
 
JS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIJS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AI
 
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
 
Introduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntroduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptx
 
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsYour Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
 
Salesforce AI Associate Certification.pptx
Salesforce AI Associate Certification.pptxSalesforce AI Associate Certification.pptx
Salesforce AI Associate Certification.pptx
 
Webinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.pptWebinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.ppt
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retries
 
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-Council
 

Transactions redefined