Successfully reported this slideshow.
Your SlideShare is downloading. ×

50.000 orange stickies later

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
The alignment
The alignment
Loading in …3
×

Check these out next

1 of 116 Ad

50.000 orange stickies later

Download to read offline

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.

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.

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Similar to 50.000 orange stickies later (20)

Advertisement

Recently uploaded (20)

Advertisement

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

×