Slide 1

Slide 1 text

Collaborative Software Design: How to facilitate domain modelling decisions @kenny_baas @[email protected] Photo by Agnieszka Ziomek on Unsplash

Slide 2

Slide 2 text

@kenny_baas @[email protected] What is happening at BigScreen? Photo by Felix Mooneeram on Unsplash

Slide 3

Slide 3 text

@kenny_baas @[email protected] business logic (back-​ end) Ticketing Back-​ office Big ball of mud Used internally by BigScreen to schedule movies, create events, etc. Used by BigScreen's customers to purchase tickets. reservation code A wild Big ball of mud appeared!

Slide 4

Slide 4 text

@kenny_baas @[email protected] Photo by Felix Mooneeram on Unsplash Sorry, we can't do that right now. We would like to extend movies Features take longer and longer, or to expensive to implement, or not possible at all!

Slide 5

Slide 5 text

@kenny_baas @[email protected] Photo by Felix Mooneeram on Unsplash They said it wasn't possible... AGAIN When will we get the new feature? Frustrations and polarisation

Slide 6

Slide 6 text

@kenny_baas @[email protected] Photo by Felix Mooneeram on Unsplash I had to say "we can't do that right now", AGAIN How was the meeting? For everyone....

Slide 7

Slide 7 text

@kenny_baas @[email protected] @kenny_baas @EvelynvanKelle @selketjah

Slide 8

Slide 8 text

@kenny_baas @[email protected] collaborative modelling "a visualization technique to analyze complex and conflict-​ laden decision-​ making processes with all relevant stakeholders and decision-​ makers to create a shared understanding."

Slide 9

Slide 9 text

@kenny_baas @[email protected] THE 6 STAGES OF Collaborative modeling Collaborative modeling session PREP Check-​in Check-​out retrospective COMMUNICATING AND DOCUMENTATION CONVERGING DIVERGING modeling with TOOLS 1 2 3 4 5 6 The 6 stages of collaborative modelling

Slide 10

Slide 10 text

@kenny_baas @[email protected] What problems do you face when doing Collaborative modelling? Photo by Van Tay Media on Unsplash

Slide 11

Slide 11 text

@kenny_baas @[email protected] What happens during modelling? Consciousness of the group "Shadowland" Unconsciousness of the group I feel uncomfortable speaking up How is my cat doing? Why is nobody LISTENING! I feel sooo stupid in this room My Idea is better Shouldn't we start coding now? We have been over this 4 times now... Those are not the right boundaries at all... I think we should dive deeper into the domain When that happens, we can get DDOS'd What do we need to do? This is not a Domain Event!

Slide 12

Slide 12 text

@kenny_baas @[email protected] The influence of ranking The impact and opportunities of cognitive bias Resistance and conflict resolution Managing unsolvable problems Making sustainable design decisions 1. 2. 3. 4. 5. Agenda

Slide 13

Slide 13 text

@kenny_baas @[email protected] The influence of ranking Once upon a Big Picture Eventstorming at BigScreen....

Slide 14

Slide 14 text

@kenny_baas @[email protected] Ranking theory "Shadowland" Unconsciousness of the group Why are people quiet, I give them all the space to speak up I feel sooo stupid in this room I will just put my idea out, so other people can shoot on it In my previous job, we did it different Those are not the right boundaries at all... I think we should dive deeper into the domain When that happens, we can get DDOS'd She is quiet because she probably doesn't understand This is not a Domain Event! I just let them talk first, before I make the decision for them I am new here, let me just first listen

Slide 15

Slide 15 text

@kenny_baas @[email protected] Symbolic violence is the invisible forms of power that manifest in everyday practices, language, and cultural norms (Shadowlands), leading individuals to accept and internalize their social status and the dominance of more powerful groups. Photo by Tomas Martinez on Unsplash

Slide 16

Slide 16 text

@kenny_baas @[email protected] Own your rank: Recognize and take responsibility for your personal power, privileges, and biases. Play your rank: Actively navigating and utilizing one's position or status, understanding its fluidity, and influencing interpersonal dynamics through subtle non-​ verbal behaviors and interactions. Share your rank Using your position, power, or privilege to amplify marginalized voices and ensure that all perspectives are considered. Photo by Spencer Davis on Unsplash

Slide 17

Slide 17 text

@kenny_baas @[email protected] The impact and opportunities of cognitive bias Once upon an Example Mapping at BigScreen Reserving seats A B C A B C Only 1 ticket per seat Only adjacent seating per row Max 8 seats per customer Given red are allocated 1 2 3 4 5 6 7 8 9 10 When we allocated Seats of 2 Then Green seats will be allocated Given red are allocated 1 2 3 4 5 6 7 8 9 10 When we allocated Seats of 1 Then No Allocations Found The one were 9 Tickets are Requested Then Too Many Tickets Requested The one were 8 Tickets are Requested Then we allocate seats Given red are allocated A B C 1 2 3 4 5 6 7 8 9 10 When we allocated Seats of 4 Then Green seats will be allocated Given Red are ReservedSeats A B C 1 2 3 4 5 6 7 8 9 10 When we allocated Seats of 4 Then No adjacent Allocations Found No Orphan Seats Given red are allocated 2 3 4 5 6 7 8 9 10 When we allocated Seats of 3 Then Green seats will be allocated Orphan seats when no other possibility Given red are allocated 2 3 4 5 6 7 8 9 10 When we allocated Seats of 3 Then Green seats will be allocated Given red are allocated 2 3 4 5 6 7 8 9 10 When we allocated Seats of 2 Then either one of the Green seats can allocated Given red are allocated 2 3 4 5 6 7 8 9 10 When we allocated Seats of 3 Then either one of the Green seats can allocated No adjacent seats over corridor A B C 1 A B C 1 A B C 1 A B C 1 Given red are allocated 2 3 4 5 6 7 8 When we allocated Seats of 2 Then Green seats will be allocated A B C 1 Given red are allocated 2 3 4 5 6 7 8 When we allocated Seats of 2 Then No adjacent Allocations Found A B C 1

Slide 18

Slide 18 text

@kenny_baas @[email protected] a systematic pattern of deviation from norm or rationality in judgment Cognitive bias

Slide 19

Slide 19 text

@kenny_baas @[email protected] Being aware of a cognitive bias has little to no effect You cannot overcome a bias, just reduce it's impact 1. 2. www.schwab.com Choiceology Wharton professor Katy Milkman shares true stories involving high-stakes moments, and explores the latest research to help you make better judgments and avoid costly mistakes. A lot of....

Slide 20

Slide 20 text

@kenny_baas @[email protected] A nudge is a subtle intervention or design choice that influences people's decisions and behaviors in a predictable way, without forbidding any options or significantly changing their economic incentives. Have you been nudged? - https://www.bbc.com/news/business-41549533

Slide 21

Slide 21 text

@kenny_baas @[email protected] Functional Fixedness impacts creativity. It’s about getting stuck in what we know, and it hinders us from taking on new perspectives to solve problems. Nudge: Model it wrong! Bandwagon effect describes the tendency of people to adopt certain behaviour or decisions just because others are doing it. Nudge: Run through the session beforehand with a few people or the whole team. Photo by Luis Villasmil on Unsplash

Slide 22

Slide 22 text

@kenny_baas @[email protected] Resistance and conflict resolution Once upon a Domain Storytelling at BigScreen....

Slide 23

Slide 23 text

@kenny_baas @[email protected] https://www.eventstore.com/blog/when-​ to-​ go-​ from-​ collaborative-​ modelling-​ to-​ coding-​ part-2 a conflict is a difference of opinion between two or more people. What is a conflict

Slide 24

Slide 24 text

@kenny_baas @[email protected] Influenced by Deep Democracy lvl 5 by Human Dimension - Frank Weijers Constructive conflict is a healthy, positive disagreement between two or more individuals or groups that leads to better decision-​ making Destructive conflict is a negative form of disagreement that hinders decision-​ making. There are two forms: Conflict avoidance Polarised conflicts 1. 2. Constructive vs destructive conflict

Slide 25

Slide 25 text

@kenny_baas @[email protected] What happens with conflict avoidance Consciousness of the group "Shadowland" Unconsciousness of the group I feel uncomfortable speaking up How is my cat doing? Why is nobody LISTENING! I feel sooo stupid in this room My Idea is better Shouldn't we start coding now? We have been over this 4 times now... Those are not the right boundaries at all... I think we should dive deeper into the domain When that happens, we can get DDOS'd What do we need to do? Edge Behaviour

Slide 26

Slide 26 text

@kenny_baas @[email protected] More time Inefficiency Identification Observing resistance

Slide 27

Slide 27 text

@kenny_baas @[email protected] Photo by NASA on Unsplash Climate Report: The climate report can be seen as a way to "take the temperature" of the group. Do an intervention to the group (never the individual) by sharing the patterns you observed in the group, in a factual way!

Slide 28

Slide 28 text

@kenny_baas @[email protected] Role Theory In the context of Deep Democracy and Arnold Mindell's process-​ oriented psychology, a "role" refers to a particular pattern of behaviour, feeling, or perspective that emerges within a group or system. Confused Annoyed Curious Optimistic Excited Tired Stressed Alone Distracted Engaged Engaged Confused Optimistic Silent Role is bigger than a Person If someone is confused, mostly likely others are as well A person is more than the Role Someone is not only silent, but more..!

Slide 29

Slide 29 text

@kenny_baas @[email protected] We need to feel safe enough to be uncomfortable; knowing that we can make it to the other side of the discussion or conflict. -- Gitte Klitgaard Unsafe Uncomfortable nerve-​ wracking tense Comfortable Influenced by Deep Democracy lvl 5 by Human Dimension - Frank Weijers Psychological safety

Slide 30

Slide 30 text

@kenny_baas @[email protected] If someone expresses a need (not a position/solution) make that need fluid in the group. - Ask who else can roughly relate to being confused? - Ask who sees it different?

Slide 31

Slide 31 text

@kenny_baas @[email protected] Photo by Nong on Unsplash Start collaborative modelling with a check-​ in Make sure you ask questions to probe needs, find perspectives and put the focus on the topic of the session. You can use Impromptu networking liberating structure to do so, in the end ask: "what did you here from the people you talked to?"

Slide 32

Slide 32 text

@kenny_baas @[email protected] Planning and scheduling Movie visitor Publish weekly schedule Search for movies Pick a movie screening Select number of tickets Choosing seats Paying for tickets Receive tickets back-​ office Ticketing Back-​ end Database weekly schedule planning page weekly schedule weekly schedule page Movie screening page movies pages movies seat picker payment Tickets page Cinema rooms Ticket reservation Payment Payment provider reservation Ticket pricing plannable movie planned movie reservations Tight coupling Tight coupling Tight coupling Seat allocation is somewhere here Managing unsolvable problems Once upon an User needs mapping at BigScreen....

Slide 33

Slide 33 text

@kenny_baas @[email protected] an ongoing issue or challenge that has no clear solution in terms of picking one of two sides. polarity

Slide 34

Slide 34 text

@kenny_baas @[email protected] Positive effect from 100% side L Positive effect from 100% side R Negative effect from 100% side R Negative effect from 100% side L Polarity map - Barry Johnson Solution oriented modeling Concealed modeling WIDE Actions/heuristics Signals/observations Signals/observations Actions/heuristics DEEP Verifying assumptions Understanding the details See connections within a system Designing towards solutions A lot of assumptions Unknown details Stuck in problem space Don't see connections within a system Good starting point for adding knowledge See connections between systems Everyone can contribute breaking down knowledge silos No bigger picture present to add knowledge to No good overview of connections between systems Active participation is limited to the people with the deeper knowledge no cross-​ silo knowledge asking clarifying questions no movement of stickies and/or people ... Zooming out because it is too difficult Participants say they already know how it works Asking "but how is that different from ...?" ... Asking "but how would that work in code?" Solve a hotspot Pick a domain concept and model it from different perspectives ... Add failure paths to the Big Picture Add another scenario to model Pick a different actor to model ... Brainstorm what is missing Narrow understanding Danger of creating wrong models/abstra cting Understanding the whole system Visualizing ambiguity www.eventstore.com When to go from collaborative modelling to coding? Part 1 Kenny Baas-Schwegler, Evelyn van Kelle and Gien Verschatse talk about Event Modelling and when to make the leap from collaboration to coding in Part one. Polarity mapping

Slide 35

Slide 35 text

@kenny_baas @[email protected] Making sustainable design decisions Back-​ office Ticket purchase Back-​ office Ticketing User interface Ticket purchase Back-​ office Payments Ticketing User interface Movie schedule Movie schedule Pricing and Payments Seat allocation visitor reservations Once upon a distilling bounded context at BigScreen.... Domain boundary Bounded context Legend

Slide 36

Slide 36 text

@kenny_baas @[email protected] Photo by Markus Spiske on Unsplash If a decision is made ask to the people that weren't in favour of that option what it takes for them to go along Decide to add it to the decision

Slide 37

Slide 37 text

@kenny_baas @[email protected] Autocratic decision making Democratic decision making Idea Suggestion Proposal Command Lower buy-​in Higher buy-​in Decision made Mainly about informing Only serious objections Intentions are clear Insights are welcome Fully open question Group of people who helps generate and analyse options Levels of buy-​ in

Slide 38

Slide 38 text

@kenny_baas @[email protected] Sustainable design decisions Sociotechnical System - from https://www.researchgate.net/figure/Sociotechnical-​ system-​ STS-​ 4_fig2_306242078 Sustainable design decisions are decisions that consider the sociotechnical impact of the alternatives. After designing and analysing the alternatives, you pick the one that gives you the best sociotechnical trade-​ off with the information that is available. You create a feedback loop into your design process to improve it along the way. Over time, you will find yourself making decisions in a similar way. This is when your decisions become sustainable.

Slide 39

Slide 39 text

@kenny_baas @[email protected] Consciousness of the group "Shadowlands" Unconsciousness of the group Own, play and share your rank Use nudges to reduce the impact of bias Create role fluidity by focussing on perceptions and needs Explicitly manage polarities the group is dealing with Ask people what it takes to come along with a decision 1. 2. 3. 4. 5. Summary

Slide 40

Slide 40 text

@kenny_baas @[email protected] Photo by kazuend on Unsplash The outcome of our collaborative modelling is shaped by each participant. Remember, facilitation is a role, not a title. Everyone has the potential to guide and influence.

Slide 41

Slide 41 text

@kenny_baas @[email protected] kenny@weave-​ it.org - weave-​ it.org Get the book here Leave the judging to the cats!