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.
Software design
as a Cooperative
Game
WitH
@ziobrando
9 Years Ago in Chile…
https://www.ted.com/talks/amy_edmondson_how_to_turn_a_group_of_strangers_into_a_team
What about us?
The Problem Setting
Outcome (big Picture):
The whole process is visible
Massive learning (crossing silo boundaries)
consensus around the core ...
Big Picture EventStorming
Invited the right People!
Explored the whole business end-to-end
Visualized People and Systems
V...
Outcome (big Picture):
The whole process is visible
Massive learning (crossing silo boundaries)
consensus around the core ...
The Official Ending
“Let’s meet tomorrow to find a solution to this
problem!”
A validated business narrative
A massive
blo...
Our Homework
Let’s use the information gathered during the
workshop to sketch possible Bounded Contexts
The Morning After
Some Assumptions
We’re working on the most compelling problem
The problem has a solution in Software and/or
Process
Key Ex...
Scope: Epic or set of features
Command
Domain
Event
Domain
Event
Read Model
Domain
Event
Read Model
Preconditions Outcomes...
Hard Problems don’t have
an Obvious solution
Now what?
A different job
Big picture is for discovery -> Disagreements
are OK
Here we are Looking for an agreement ->
Consensus is ...
How to make Specialists
with different BackGround
cooperate towards a
common goal?
Idea n°1: “The Escape Room”
How to make Specialists
with different BackGround
cooperate towards a
common goal?
Without a Danger?
Idea N°2: Cooperative
Games
Massively
influential on me
Game Rules
Game Rules: EventStorming Design
1. Every Path Should be Completed
2. Colour Grammar Should be Respected
3. Every Stakehol...
Every Path Should Be
Completed
Colour Grammar is
respected
On a
surface…
On a
surface…
Colour-puzzle Thinking
Policy
User
User
Command
Read Model
External System Domain
Event
Command
Do we ALWAYS
need a Policy?
Yes, My game,
my rules
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
...
I am shaping the
conversation, more than
the code.
What about The
Aggregates?
Expansion Set!
For Experienced Players ;-)
Game Rules: EventStorming Design
1. Every Path Should be Completed
2. Colour Grammar Should be Respected
3. Every Stakehol...
Colour-puzzle thinking - again
User
Command
Read Model
External System
Domain
Event
CommandPolicy
Aggregate
Investigating Aggregates
State Machine Logic
Focus on BEHAVIOUR, not DATA
Postpone NAMING
Don’t fall in love with your int...
Symmetries on the timeline
Do
something
…possibly the
something
Policy Command Aggregate Domain
Event
Policy
User
External...
Feels Fuzzy…
Pattern: Fuzzy by Design
Imprecise definitions…
allow everyone to be included in the conversation.
Allow Everything to be ...
We need to give up
something as individuals in
order to succeed as a team
Happy Stakeholders
Well …reasonably happy!
Challenging value
Every step can create or destroy value for given
users
Discovering multiple currencies
Discovering new o...
The Thing with
Value…
Dealing with Value
Money is the Obvious one
But it’s a Zero Sum Currency :-/
More interesting currencies follow:
Time, Str...
HotSpots are addressed
But
Not
Now!
The Great Illusion
Possibly your worst enemy
Deliver Quickly
Provide Feedback
Rush To The Goal
Build a Baseline as quickly as possible
Mark Every Alternative with a Hotspot
Deliver Value to some Stake...
The Perfect Team
Does it even exist?
Competences
Business
From different Sides
Software Design
User Experience & Service Design
…
What about attitudes?
Need Diversity in order to
perform
Strategies & Complex
Moves
This is more up to you…
Openings
Start from The beginning…
Start from the end:
How can we get
there?
Storm with Events
Openings
Start from the beginning
More natural
Easy to get Swamped
Start from the end (Reverse Narrative)
Lean, but less d...
I use all of them!
Team Agreements
Team Strategies
Swarm: Everybody on the problem
Mob: One on the problem, everybody on feedback.
Split & Merge
Challenges
Challenges
Calendar Availability: we can talk the same language,
but not everybody at the same time.
Organization Boundari...
Local Optimizations
What the business sees Your Territory
Takeaways
From vision to detail (and back)
Big Picture Events
Hot Spots,
Systems,
People
Conflicts, Goals,
Blockers,
Boundaries
Proc...
Game Inventor
!=
Best Player
We need to give up
something as individuals in
order to succeed as a team
Thank You!
References
• www.eventstorming.com
• EventStormers on Google Groups
• https://groups.google.com/forum/#!forum/eventstormin...
Software design as a cooperative game with EventStorming
Software design as a cooperative game with EventStorming
Software design as a cooperative game with EventStorming
Software design as a cooperative game with EventStorming
Software design as a cooperative game with EventStorming
Software design as a cooperative game with EventStorming
Software design as a cooperative game with EventStorming
Software design as a cooperative game with EventStorming
Software design as a cooperative game with EventStorming
Software design as a cooperative game with EventStorming
Software design as a cooperative game with EventStorming
Software design as a cooperative game with EventStorming
Upcoming SlideShare
Loading in …5
×

12

Share

Download to read offline

Software design as a cooperative game with EventStorming

Download to read offline

You got the stickies and the paper roll, and possibly already run a large Big Picture workshop to highlight where the problem is. Now you're in a room with business, software and UX experts hungry for a solution.
How do you make the magic happen?

In this talk, we'll explore some strategies about how to deliver with collaborative modeling, and how to narrow the gap between stickies and working code.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Software design as a cooperative game with EventStorming

  1. 1. Software design as a Cooperative Game WitH @ziobrando
  2. 2. 9 Years Ago in Chile…
  3. 3. https://www.ted.com/talks/amy_edmondson_how_to_turn_a_group_of_strangers_into_a_team
  4. 4. What about us?
  5. 5. The Problem Setting
  6. 6. Outcome (big Picture): The whole process is visible Massive learning (crossing silo boundaries) consensus around the core problem
  7. 7. Big Picture EventStorming Invited the right People! Explored the whole business end-to-end Visualized People and Systems Validated the storytelling Explored Value Discovered frictions and opportunities Identified the most compelling problem DELIVERED
  8. 8. Outcome (big Picture): The whole process is visible Massive learning (crossing silo boundaries) consensus around the core problem
  9. 9. The Official Ending “Let’s meet tomorrow to find a solution to this problem!” A validated business narrative A massive blocker
  10. 10. Our Homework Let’s use the information gathered during the workshop to sketch possible Bounded Contexts
  11. 11. The Morning After
  12. 12. Some Assumptions We’re working on the most compelling problem The problem has a solution in Software and/or Process Key Experts are available Business people, from the departments involved Technical Experts: Software and Service/UX Designers
  13. 13. Scope: Epic or set of features Command Domain Event Domain Event Read Model Domain Event Read Model Preconditions OutcomesThe flow to discover
  14. 14. Hard Problems don’t have an Obvious solution
  15. 15. Now what?
  16. 16. A different job Big picture is for discovery -> Disagreements are OK Here we are Looking for an agreement -> Consensus is HARD
  17. 17. How to make Specialists with different BackGround cooperate towards a common goal?
  18. 18. Idea n°1: “The Escape Room”
  19. 19. How to make Specialists with different BackGround cooperate towards a common goal? Without a Danger?
  20. 20. Idea N°2: Cooperative Games Massively influential on me
  21. 21. Game Rules
  22. 22. Game Rules: EventStorming Design 1. Every Path Should be Completed 2. Colour Grammar Should be Respected 3. Every Stakeholder should be reasonably Happy 4. Every HotSpot should be addressed
  23. 23. Every Path Should Be Completed
  24. 24. Colour Grammar is respected
  25. 25. On a surface…
  26. 26. On a surface…
  27. 27. Colour-puzzle Thinking Policy User User Command Read Model External System Domain Event Command
  28. 28. Do we ALWAYS need a Policy? Yes, My game, my rules
  29. 29. 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
  30. 30. This is where everybody lies
  31. 31. Ambiguity does not compile
  32. 32. Policies spectrum IMPLICIT POLICIES: without an explicit agreement EXPLICIT POLICIES: assuming everyone is following them AUTOMATION: Listeners, Sagas, Process managers Policy User Policy
  33. 33. I am shaping the conversation, more than the code.
  34. 34. What about The Aggregates?
  35. 35. Expansion Set! For Experienced Players ;-)
  36. 36. Game Rules: EventStorming Design 1. Every Path Should be Completed 2. Colour Grammar Should be Respected 3. Every Stakeholder should be reasonably Happy 4. Every HotSpot should be addressed 5. Aggregates should be coherent
  37. 37. Colour-puzzle thinking - again User Command Read Model External System Domain Event CommandPolicy Aggregate
  38. 38. Investigating Aggregates State Machine Logic Focus on BEHAVIOUR, not DATA Postpone NAMING Don’t fall in love with your intuition Aggregate
  39. 39. Symmetries on the timeline Do something …possibly the something Policy Command Aggregate Domain Event Policy User External System Command Policy Command User Domain Event External System Domain Event Read Model Policy Command Aggregate Domain Event Policy Command Aggregate Domain Event Read Model Probably the same aggregate… Probably the same Policy…
  40. 40. Feels Fuzzy…
  41. 41. 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.
  42. 42. We need to give up something as individuals in order to succeed as a team
  43. 43. Happy Stakeholders Well …reasonably happy!
  44. 44. Challenging value Every step can create or destroy value for given users Discovering multiple currencies Discovering new opportunities Discovering inconsistencies
  45. 45. The Thing with Value…
  46. 46. Dealing with Value Money is the Obvious one But it’s a Zero Sum Currency :-/ More interesting currencies follow: Time, Stress, Anxiety Joy, Reputation, Satisfaction …
  47. 47. HotSpots are addressed But Not Now!
  48. 48. The Great Illusion
  49. 49. Possibly your worst enemy
  50. 50. Deliver Quickly
  51. 51. Provide Feedback
  52. 52. Rush To The Goal Build a Baseline as quickly as possible Mark Every Alternative with a Hotspot Deliver Value to some Stakeholder Add your feedback with Hotspots
  53. 53. The Perfect Team Does it even exist?
  54. 54. Competences Business From different Sides Software Design User Experience & Service Design …
  55. 55. What about attitudes?
  56. 56. Need Diversity in order to perform
  57. 57. Strategies & Complex Moves This is more up to you…
  58. 58. Openings
  59. 59. Start from The beginning…
  60. 60. Start from the end: How can we get there?
  61. 61. Storm with Events
  62. 62. Openings Start from the beginning More natural Easy to get Swamped Start from the end (Reverse Narrative) Lean, but less discoveries Not so natural for newbies Explore with Events -> Then Connect Needs Strict Timeboxing
  63. 63. I use all of them!
  64. 64. Team Agreements
  65. 65. Team Strategies Swarm: Everybody on the problem Mob: One on the problem, everybody on feedback. Split & Merge
  66. 66. Challenges
  67. 67. Challenges Calendar Availability: we can talk the same language, but not everybody at the same time. Organization Boundaries: External Software Supplier External UX design Agency Contract Boundaries & Professional Inertia: mandatory Deliverables
  68. 68. Local Optimizations
  69. 69. What the business sees Your Territory
  70. 70. Takeaways
  71. 71. 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
  72. 72. Game Inventor != Best Player
  73. 73. We need to give up something as individuals in order to succeed as a team
  74. 74. Thank You!
  75. 75. References • www.eventstorming.com • EventStormers on Google Groups • https://groups.google.com/forum/#!forum/eventstorming • LeanPub book in progress: • http://leanpub.com/introducing_eventstorming • Blog: • https://medium.com/@ziobrando • http://ziobrando.blogspot.com • Twitter: @ziobrando • Trainings & Workshop facilitation: info@avanscoperta.it • http://www.avanscoperta.it
  • jasperkosters1

    May. 24, 2021
  • NicolasFaret

    May. 10, 2021
  • BernarddeVeer

    Oct. 20, 2020
  • yamakenji

    Aug. 3, 2020
  • RyunosukeKuhara

    Jul. 29, 2020
  • BeatEspiaDiaz

    May. 31, 2020
  • DrTrucho

    May. 30, 2020
  • ssuser0de735

    May. 13, 2020
  • HaoChen13

    Apr. 21, 2020
  • whilpert

    Mar. 18, 2020
  • powerirs

    Dec. 21, 2019
  • SandroKeil

    Nov. 24, 2019

You got the stickies and the paper roll, and possibly already run a large Big Picture workshop to highlight where the problem is. Now you're in a room with business, software and UX experts hungry for a solution. How do you make the magic happen? In this talk, we'll explore some strategies about how to deliver with collaborative modeling, and how to narrow the gap between stickies and working code.

Views

Total views

1,749

On Slideshare

0

From embeds

0

Number of embeds

76

Actions

Downloads

68

Shares

0

Comments

0

Likes

12

×