Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Transactions
Redefined
Special KanDDDinsky version
Transactions
Redefined
A dive into the wormhole with
Special KanDDDinsky version
About me
Very hard to explain my job to my mother
running www.avanscoperta.it
Modelling (almost) everything with sticky no...
Show me your
aggregates!!!
2013
• First Blog Post About EventStorming
• One single path from business to aggregate discovery
• The beginning of a lon...
2017
• Growing Momentum
• Many practitioners -> Many Ideas
• Many different formats:
• Big Picture / Process Modelling / S...
Big Picture EventStorming
Making sense of a huge mess
Big Picture Workshop
Invite the right people -> Business, IT, UX
Provide unlimited modelling space
Surface, Markers, stick...
Establish a timeline
Some facilitator tricks will kickstart
the discussion quickly
Explore with domain Events
The shape of the organization
The knowledge distribution
Enforcing the timeline
Experts will usually post a locally
ordered sequence of events
But enforcing a shared timeline then...
Following steps
Structure will emerge
People and Systems will be displayed
…
Every layer sparkles a new type of conversati...
Outcome (big Picture):
The whole process is visible
Massive learning (crossing silo boundaries)
consensus around the core ...
Outcome (big Picture):
Outcome (big Picture):
Outcome (big Picture):
Outcome (big Picture):
Outcome (big Picture):
Multiple storytellings
Incremental Notation #NoUML #NoBPMN
A language for different tribes #Lean #U...
More specifically…
No scope limitation (paper roll)
Exploration of boundaries (External Systems &
People)
-> The BOTTLENEC...
CLARITY
The outcome:
The outcome:
A clear business narrative
The outcome:
A clear business narrative
A massive
blocker
The outcome:
There are recurring patterns in blockers
A clear business narrative
A massive
blocker
Arrow Voting
A clear business narrative
A massive
blocker
Arrow Voting
A clear business narrative
A massive
blocker
Arrow Voting
A clear business narrative
A massive
blocker
Arrow Voting
A clear business narrative
A massive
blocker
Arrow Voting
A clear business narrative
A massive
blocker
Arrow Voting
A clear business narrative
A massive
blocker
Arrow Voting
A clear business narrative
A massive
blocker
Arrow Voting
A clear business narrative
A massive
blocker
Arrow Voting
A clear business narrative
A massive
blocker
Arrow Voting
A clear business narrative
A massive
blocker
Arrow Voting
A clear business narrative
A massive
blocker
Arrow Voting
A clear business narrative
A massive
blocker
Arrow Voting
A clear business narrative
A massive
blocker
Arrow Voting
You already achieved consensus…
A clear business narrative
A massive
blocker
Working around the bottleneck
• Highest priority -> #No Backlog
• Hard to solve -> #NoEstimates
• Requires Experiments -> ...
Big Picture In a Startup
Invitations are a piece of cake
Great attitude
No past to compare with :-)
Big picture in a mature company
Big picture in a mature company
Hard invitation process -> already telling us
something
Underlying conflicts
Corporate Dys...
Special Tricks?
Pattern: Incremental Notation
After every round the team agrees on the next
perspective to investigate
Structure, Boundari...
Pattern: Fuzzy by Design
Imprecise definitions…
allow everyone to be included in the conversation.
Allow Everything to be ...
Process Modelling
Making sure we’re doing the right thing
Scope: Epic or set of features
Command
Domain
Event
Domain
Event
Read Model
Domain
Event
Read Model
Preconditions Outcomes...
What about User stories?
A placeholder for future conversation…
This is a good
conversation!
Colour-puzzle Thinking
Policy
User
User
Command
Read Model
External System Domain
Event
Command
Commands / Decisions
Command is not yet a software artefact
It’s a decision taken by a user (or a piece of software)
Outsi...
Investigate Policies
How is our system supposed to react to given events?
Whenever [Event] then [Command]
“We need a lilac...
This is where everybody lies
Ambiguity does not compile
Policies spectrum
IMPLICIT POLICIES: without an explicit agreement
EXPLICIT POLICIES: assuming everyone is following
them
...
Challenging value
Challenging value
Every step can create or destroy value for given
users
Discovering multiple currencies
Discovering new o...
Enables cross-perspective
conversation
Software design, User Experience, Business Modelling, Lean etc.
I never said it’s
easy
A different job
Big picture is for discovery -> Disagreements
are OK
Here we are reaching an agreement ->
Consensus is HARD
Software design
Another little
problem…
The moment someone
pronounces the word
“aggregate” suddenly
everybody from the
business have something
urgent to do
Colour-puzzle thinking
User
Command
Read Model
External System
Domain
Event
CommandPolicy
Aggregate
Scope: Epic or set of features
Command
Domain
Event
Domain
Event
Read Model
Domain
Event
Read Model
Preconditions Outcomes...
Investigating Aggregates
State Machine Logic
Focus on BEHAVIOUR, not DATA
Postpone NAMING
Don’t fall in love with your int...
Ubiquitous Language(s)
Ubiquitous Language(s)
SLOWLY introduce consistency
Ubiquitous Language(s)
SLOWLY introduce consistency
…I said SLOWLY
Ubiquitous Language(s)
SLOWLY introduce consistency
…I said SLOWLY
SYMMETRIES are telling you something
Ubiquitous Language(s)
SLOWLY introduce consistency
…I said SLOWLY
SYMMETRIES are telling you something
…but also the lack...
Ubiquitous Language(s)
SLOWLY introduce consistency
…I said SLOWLY
SYMMETRIES are telling you something
…but also the lack...
Ubiquitous Language(s)
SLOWLY introduce consistency
…I said SLOWLY
SYMMETRIES are telling you something
…but also the lack...
Rewriting Events Domain
Event
Rewriting Events
Pedantic Semantic Precision
Domain
Event
Rewriting Events
Pedantic Semantic Precision
… we started from chaos, remember?
Domain
Event
Rewriting Events
Pedantic Semantic Precision
… we started from chaos, remember?
Multi-layered -> Emerging Bounded Contexts...
Rewriting Events
Pedantic Semantic Precision
… we started from chaos, remember?
Multi-layered -> Emerging Bounded Contexts...
Rewriting Events
Pedantic Semantic Precision
… we started from chaos, remember?
Multi-layered -> Emerging Bounded Contexts...
Hard Problems don’t have
an Obvious solution
Discovering Read Models
They’re not “Just Data”
They’re Decision Making tools
Don’t let “reuse” get in the way
Read Model
Discovering Read Models Read Model
Discovering Read Models
1. Understand the decision
Read Model
Discovering Read Models
1. Understand the decision
• Not so easy #DirtyLittleSecrets
Read Model
Discovering Read Models
1. Understand the decision
• Not so easy #DirtyLittleSecrets
• Rational & Emotional
Read Model
Discovering Read Models
1. Understand the decision
• Not so easy #DirtyLittleSecrets
• Rational & Emotional
2. Define the ...
Discovering Read Models
1. Understand the decision
• Not so easy #DirtyLittleSecrets
• Rational & Emotional
2. Define the ...
Discovering Read Models
1. Understand the decision
• Not so easy #DirtyLittleSecrets
• Rational & Emotional
2. Define the ...
Discovering Read Models
1. Understand the decision
• Not so easy #DirtyLittleSecrets
• Rational & Emotional
2. Define the ...
Discovering Read Models
1. Understand the decision
• Not so easy #DirtyLittleSecrets
• Rational & Emotional
2. Define the ...
Need Product Owner Badly
Exploration is needed in order to challenge the model
Product Owner is needed in order to bring r...
Design Style
Our fuzzy definitions will get progressively rewritten
There is no over-design: WE’RE ON THE CORE!
Expect a l...
Takeaways
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
Domain Events as lingua franca
Domain Events are a better choice for…
…describing the business
…implementing the supportin...
Events are way better to prevent it
Events as Published language
LOGISTICS
Sales
OpenedLocal Events are
consistent with
internal Language
TRANSLATION HAPPENS
...
They allow ZOOMING!
From vision to detail (and back)
Big Picture Events
Hot Spots,
Systems,
People
Conflicts, Goals,
Blockers,
Boundaries
Proc...
From vision to detail (and back)
Big Picture Events
Hot Spots,
Systems,
People
Conflicts, Goals,
Blockers,
Boundaries
Proc...
From vision to detail (and back)
Big Picture Events
Hot Spots,
Systems,
People
Conflicts, Goals,
Blockers,
Boundaries
Proc...
A tool for a purpose-driven
organization
Who are we making happy?
A tool for a purpose-driven
organization
Questions?
Every question is
welcome, except
“When will you finish
the book?”
Questions?
Thank you!
References
References
• www.eventstorming.com
• EventStormers on Google+
• https://plus.google.com/u/0/communities/113258571348605620...
50.000 orange stickies later
50.000 orange stickies later
50.000 orange stickies later
50.000 orange stickies later
50.000 orange stickies later
50.000 orange stickies later
Upcoming SlideShare
Loading in …5
×

50.000 orange stickies later

3,565 views

Published on

I've spent the last years modelling complex businesses and Software Architectures with EventStorming. The original recipe evolved a lot from the initial one. This is EventStorming state of the art.

Published in: Software
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Nice !! Download 100 % Free Ebooks, PPts, Study Notes, Novels, etc @ https://www.ThesisScientist.com
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

50.000 orange stickies later

  1. 1. Transactions Redefined Special KanDDDinsky version
  2. 2. Transactions Redefined A dive into the wormhole with Special KanDDDinsky version
  3. 3. About me Very hard to explain my job to my mother running www.avanscoperta.it Modelling (almost) everything with sticky notes, markers and a paper roll. Calling this stuff
  4. 4. Show me your aggregates!!!
  5. 5. 2013 • First Blog Post About EventStorming • One single path from business to aggregate discovery • The beginning of a long journey
  6. 6. 2017 • Growing Momentum • Many practitioners -> Many Ideas • Many different formats: • Big Picture / Process Modelling / Software Design • Retrospective / Induction / More…
  7. 7. Big Picture EventStorming Making sense of a huge mess
  8. 8. Big Picture Workshop Invite the right people -> Business, IT, UX Provide unlimited modelling space Surface, Markers, stickies Model a whole business line with Domain Events
  9. 9. Establish a timeline Some facilitator tricks will kickstart the discussion quickly
  10. 10. Explore with domain Events
  11. 11. The shape of the organization
  12. 12. The knowledge distribution
  13. 13. Enforcing the timeline Experts will usually post a locally ordered sequence of events But enforcing a shared timeline then triggers long awaited conversations
  14. 14. Following steps Structure will emerge People and Systems will be displayed … Every layer sparkles a new type of conversation
  15. 15. Outcome (big Picture): The whole process is visible Massive learning (crossing silo boundaries) consensus around the core problem
  16. 16. Outcome (big Picture):
  17. 17. Outcome (big Picture):
  18. 18. Outcome (big Picture):
  19. 19. Outcome (big Picture):
  20. 20. Outcome (big Picture): Multiple storytellings Incremental Notation #NoUML #NoBPMN A language for different tribes #Lean #UX #Agile #SW
  21. 21. More specifically… No scope limitation (paper roll) Exploration of boundaries (External Systems & People) -> The BOTTLENECK is in the picture. -> The CORE DOMAIN is in the picture
  22. 22. CLARITY
  23. 23. The outcome:
  24. 24. The outcome: A clear business narrative
  25. 25. The outcome: A clear business narrative A massive blocker
  26. 26. The outcome: There are recurring patterns in blockers A clear business narrative A massive blocker
  27. 27. Arrow Voting A clear business narrative A massive blocker
  28. 28. Arrow Voting A clear business narrative A massive blocker
  29. 29. Arrow Voting A clear business narrative A massive blocker
  30. 30. Arrow Voting A clear business narrative A massive blocker
  31. 31. Arrow Voting A clear business narrative A massive blocker
  32. 32. Arrow Voting A clear business narrative A massive blocker
  33. 33. Arrow Voting A clear business narrative A massive blocker
  34. 34. Arrow Voting A clear business narrative A massive blocker
  35. 35. Arrow Voting A clear business narrative A massive blocker
  36. 36. Arrow Voting A clear business narrative A massive blocker
  37. 37. Arrow Voting A clear business narrative A massive blocker
  38. 38. Arrow Voting A clear business narrative A massive blocker
  39. 39. Arrow Voting A clear business narrative A massive blocker
  40. 40. Arrow Voting You already achieved consensus… A clear business narrative A massive blocker
  41. 41. Working around the bottleneck • Highest priority -> #No Backlog • Hard to solve -> #NoEstimates • Requires Experiments -> #DDDesign #LeanStartup
  42. 42. Big Picture In a Startup Invitations are a piece of cake Great attitude No past to compare with :-)
  43. 43. Big picture in a mature company
  44. 44. Big picture in a mature company Hard invitation process -> already telling us something Underlying conflicts Corporate Dysfunctions Legacy implementation Dungeon Masters
  45. 45. Special Tricks?
  46. 46. Pattern: Incremental Notation After every round the team agrees on the next perspective to investigate Structure, Boundaries, Responsibilities, Systems, Goals, Pitfalls, etc… Every round refines the previous one providing fresher insights
  47. 47. Pattern: Fuzzy by Design Imprecise definitions… allow everyone to be included in the conversation. Allow Everything to be included in the model Trigger interesting conversation on the spot.
  48. 48. Process Modelling Making sure we’re doing the right thing
  49. 49. Scope: Epic or set of features Command Domain Event Domain Event Read Model Domain Event Read Model Preconditions OutcomesThe flow to discover
  50. 50. What about User stories? A placeholder for future conversation…
  51. 51. This is a good conversation!
  52. 52. Colour-puzzle Thinking Policy User User Command Read Model External System Domain Event Command
  53. 53. Commands / Decisions Command is not yet a software artefact It’s a decision taken by a user (or a piece of software) Outside-in vs Inside-Out thinking Command
  54. 54. Investigate Policies How is our system supposed to react to given events? Whenever [Event] then [Command] “We need a lilac between the orange and the blue” Policy
  55. 55. This is where everybody lies
  56. 56. Ambiguity does not compile
  57. 57. Policies spectrum IMPLICIT POLICIES: without an explicit agreement EXPLICIT POLICIES: assuming everyone is following them AUTOMATION: Listeners, Sagas, Process managers Policy User Policy
  58. 58. Challenging value
  59. 59. Challenging value Every step can create or destroy value for given users Discovering multiple currencies Discovering new opportunities Discovering inconsistencies
  60. 60. Enables cross-perspective conversation Software design, User Experience, Business Modelling, Lean etc.
  61. 61. I never said it’s easy
  62. 62. A different job Big picture is for discovery -> Disagreements are OK Here we are reaching an agreement -> Consensus is HARD
  63. 63. Software design
  64. 64. Another little problem…
  65. 65. The moment someone pronounces the word “aggregate” suddenly everybody from the business have something urgent to do
  66. 66. Colour-puzzle thinking User Command Read Model External System Domain Event CommandPolicy Aggregate
  67. 67. Scope: Epic or set of features Command Domain Event Domain Event Read Model Domain Event Read Model Preconditions OutcomesThe flow to discover
  68. 68. Investigating Aggregates State Machine Logic Focus on BEHAVIOUR, not DATA Postpone NAMING Don’t fall in love with your intuition Aggregate
  69. 69. Ubiquitous Language(s)
  70. 70. Ubiquitous Language(s) SLOWLY introduce consistency
  71. 71. Ubiquitous Language(s) SLOWLY introduce consistency …I said SLOWLY
  72. 72. Ubiquitous Language(s) SLOWLY introduce consistency …I said SLOWLY SYMMETRIES are telling you something
  73. 73. Ubiquitous Language(s) SLOWLY introduce consistency …I said SLOWLY SYMMETRIES are telling you something …but also the lack of them.
  74. 74. Ubiquitous Language(s) SLOWLY introduce consistency …I said SLOWLY SYMMETRIES are telling you something …but also the lack of them. BRUTE FORCE does not work!
  75. 75. Ubiquitous Language(s) SLOWLY introduce consistency …I said SLOWLY SYMMETRIES are telling you something …but also the lack of them. BRUTE FORCE does not work!
  76. 76. Rewriting Events Domain Event
  77. 77. Rewriting Events Pedantic Semantic Precision Domain Event
  78. 78. Rewriting Events Pedantic Semantic Precision … we started from chaos, remember? Domain Event
  79. 79. Rewriting Events Pedantic Semantic Precision … we started from chaos, remember? Multi-layered -> Emerging Bounded Contexts Domain Event
  80. 80. Rewriting Events Pedantic Semantic Precision … we started from chaos, remember? Multi-layered -> Emerging Bounded Contexts Key information becomes visible Domain Event
  81. 81. Rewriting Events Pedantic Semantic Precision … we started from chaos, remember? Multi-layered -> Emerging Bounded Contexts Key information becomes visible Domain Event
  82. 82. Hard Problems don’t have an Obvious solution
  83. 83. Discovering Read Models They’re not “Just Data” They’re Decision Making tools Don’t let “reuse” get in the way Read Model
  84. 84. Discovering Read Models Read Model
  85. 85. Discovering Read Models 1. Understand the decision Read Model
  86. 86. Discovering Read Models 1. Understand the decision • Not so easy #DirtyLittleSecrets Read Model
  87. 87. Discovering Read Models 1. Understand the decision • Not so easy #DirtyLittleSecrets • Rational & Emotional Read Model
  88. 88. Discovering Read Models 1. Understand the decision • Not so easy #DirtyLittleSecrets • Rational & Emotional 2. Define the necessary data Read Model
  89. 89. Discovering Read Models 1. Understand the decision • Not so easy #DirtyLittleSecrets • Rational & Emotional 2. Define the necessary data • Data Set Read Model
  90. 90. Discovering Read Models 1. Understand the decision • Not so easy #DirtyLittleSecrets • Rational & Emotional 2. Define the necessary data • Data Set • Page Layout Read Model
  91. 91. Discovering Read Models 1. Understand the decision • Not so easy #DirtyLittleSecrets • Rational & Emotional 2. Define the necessary data • Data Set • Page Layout 3. Make it happen Read Model
  92. 92. Discovering Read Models 1. Understand the decision • Not so easy #DirtyLittleSecrets • Rational & Emotional 2. Define the necessary data • Data Set • Page Layout 3. Make it happen • Projections, Composite UI, Mashups, Good Old Queries, Views and stored procedures. #WhateverItTakes Read Model
  93. 93. Need Product Owner Badly Exploration is needed in order to challenge the model Product Owner is needed in order to bring reality in KNOWING WITHOUT IMPLEMENTING IS FINE …as long as it’s cheap.
  94. 94. Design Style Our fuzzy definitions will get progressively rewritten There is no over-design: WE’RE ON THE CORE! Expect a lot of healthy thrashing Bruce Lee state.
  95. 95. Takeaways
  96. 96. is my pizza: You can add your toppings
  97. 97. is my pizza: You can add your toppings With the notable exception of database tables and pineapple
  98. 98. Domain Events as lingua franca Domain Events are a better choice for… …describing the business …implementing the supporting software
  99. 99. Events are way better to prevent it
  100. 100. Events as Published language LOGISTICS Sales OpenedLocal Events are consistent with internal Language TRANSLATION HAPPENS AT THE BORDER, INCLUDING BUSINESS MEANING General purpose events are more independent from local implementation Training Page published PUBLISHING MARKETING Listening Bounded Contexts may subscribe and react accordingly
  101. 101. They allow ZOOMING!
  102. 102. From vision to detail (and back) Big Picture Events Hot Spots, Systems, People Conflicts, Goals, Blockers, Boundaries Process Modelling Events + Policies, Commands, Read Models Value Proposition, Policies, Personas, Individual Goals Software Design Events + Aggregates Aggregates, Policies, Read Models, IDs
  103. 103. From vision to detail (and back) Big Picture Events Hot Spots, Systems, People Conflicts, Goals, Blockers, Boundaries Process Modelling Events + Policies, Commands, Read Models Value Proposition, Policies, Personas, Individual Goals Software Design Events + Aggregates Aggregates, Policies, Read Models, IDs
  104. 104. From vision to detail (and back) Big Picture Events Hot Spots, Systems, People Conflicts, Goals, Blockers, Boundaries Process Modelling Events + Policies, Commands, Read Models Value Proposition, Policies, Personas, Individual Goals Software Design Events + Aggregates Aggregates, Policies, Read Models, IDs
  105. 105. A tool for a purpose-driven organization
  106. 106. Who are we making happy? A tool for a purpose-driven organization
  107. 107. Questions? Every question is welcome, except “When will you finish the book?”
  108. 108. Questions? Thank you!
  109. 109. References
  110. 110. 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

×