Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
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
Nächste SlideShare
Wird geladen in …5
×

von

Software design as a cooperative game with EventStorming Slide 1 Software design as a cooperative game with EventStorming Slide 2 Software design as a cooperative game with EventStorming Slide 3 Software design as a cooperative game with EventStorming Slide 4 Software design as a cooperative game with EventStorming Slide 5 Software design as a cooperative game with EventStorming Slide 6 Software design as a cooperative game with EventStorming Slide 7 Software design as a cooperative game with EventStorming Slide 8 Software design as a cooperative game with EventStorming Slide 9 Software design as a cooperative game with EventStorming Slide 10 Software design as a cooperative game with EventStorming Slide 11 Software design as a cooperative game with EventStorming Slide 12 Software design as a cooperative game with EventStorming Slide 13 Software design as a cooperative game with EventStorming Slide 14 Software design as a cooperative game with EventStorming Slide 15 Software design as a cooperative game with EventStorming Slide 16 Software design as a cooperative game with EventStorming Slide 17 Software design as a cooperative game with EventStorming Slide 18 Software design as a cooperative game with EventStorming Slide 19 Software design as a cooperative game with EventStorming Slide 20 Software design as a cooperative game with EventStorming Slide 21 Software design as a cooperative game with EventStorming Slide 22 Software design as a cooperative game with EventStorming Slide 23 Software design as a cooperative game with EventStorming Slide 24 Software design as a cooperative game with EventStorming Slide 25 Software design as a cooperative game with EventStorming Slide 26 Software design as a cooperative game with EventStorming Slide 27 Software design as a cooperative game with EventStorming Slide 28 Software design as a cooperative game with EventStorming Slide 29 Software design as a cooperative game with EventStorming Slide 30 Software design as a cooperative game with EventStorming Slide 31 Software design as a cooperative game with EventStorming Slide 32 Software design as a cooperative game with EventStorming Slide 33 Software design as a cooperative game with EventStorming Slide 34 Software design as a cooperative game with EventStorming Slide 35 Software design as a cooperative game with EventStorming Slide 36 Software design as a cooperative game with EventStorming Slide 37 Software design as a cooperative game with EventStorming Slide 38 Software design as a cooperative game with EventStorming Slide 39 Software design as a cooperative game with EventStorming Slide 40 Software design as a cooperative game with EventStorming Slide 41 Software design as a cooperative game with EventStorming Slide 42 Software design as a cooperative game with EventStorming Slide 43 Software design as a cooperative game with EventStorming Slide 44 Software design as a cooperative game with EventStorming Slide 45 Software design as a cooperative game with EventStorming Slide 46 Software design as a cooperative game with EventStorming Slide 47 Software design as a cooperative game with EventStorming Slide 48 Software design as a cooperative game with EventStorming Slide 49 Software design as a cooperative game with EventStorming Slide 50 Software design as a cooperative game with EventStorming Slide 51 Software design as a cooperative game with EventStorming Slide 52 Software design as a cooperative game with EventStorming Slide 53 Software design as a cooperative game with EventStorming Slide 54 Software design as a cooperative game with EventStorming Slide 55 Software design as a cooperative game with EventStorming Slide 56 Software design as a cooperative game with EventStorming Slide 57 Software design as a cooperative game with EventStorming Slide 58 Software design as a cooperative game with EventStorming Slide 59 Software design as a cooperative game with EventStorming Slide 60 Software design as a cooperative game with EventStorming Slide 61 Software design as a cooperative game with EventStorming Slide 62 Software design as a cooperative game with EventStorming Slide 63 Software design as a cooperative game with EventStorming Slide 64 Software design as a cooperative game with EventStorming Slide 65 Software design as a cooperative game with EventStorming Slide 66 Software design as a cooperative game with EventStorming Slide 67 Software design as a cooperative game with EventStorming Slide 68 Software design as a cooperative game with EventStorming Slide 69 Software design as a cooperative game with EventStorming Slide 70 Software design as a cooperative game with EventStorming Slide 71 Software design as a cooperative game with EventStorming Slide 72 Software design as a cooperative game with EventStorming Slide 73 Software design as a cooperative game with EventStorming Slide 74 Software design as a cooperative game with EventStorming Slide 75 Software design as a cooperative game with EventStorming Slide 76 Software design as a cooperative game with EventStorming Slide 77 Software design as a cooperative game with EventStorming Slide 78 Software design as a cooperative game with EventStorming Slide 79 Software design as a cooperative game with EventStorming Slide 80 Software design as a cooperative game with EventStorming Slide 81 Software design as a cooperative game with EventStorming Slide 82 Software design as a cooperative game with EventStorming Slide 83 Software design as a cooperative game with EventStorming Slide 84 Software design as a cooperative game with EventStorming Slide 85 Software design as a cooperative game with EventStorming Slide 86 Software design as a cooperative game with EventStorming Slide 87
Nächste SlideShare
What to Upload to SlideShare
Weiter
Herunterladen, um offline zu lesen und im Vollbildmodus anzuzeigen.

12 Gefällt mir

Teilen

Herunterladen, um offline zu lesen

Software design as a cooperative game with EventStorming

Herunterladen, um offline zu lesen

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.

Ähnliche Bücher

Kostenlos mit einer 30-tägigen Testversion von Scribd

Alle anzeigen

Ähnliche Hörbücher

Kostenlos mit einer 30-tägigen Testversion von Scribd

Alle anzeigen

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.

Aufrufe

Aufrufe insgesamt

1.806

Auf Slideshare

0

Aus Einbettungen

0

Anzahl der Einbettungen

76

Befehle

Downloads

68

Geteilt

0

Kommentare

0

Likes

12

×