Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Collaborative Software Design: How to facilitate domain modeling decisions

Collaborative Software Design: How to facilitate domain modeling decisions

Designing a software system is difficult. Understanding the context in which a software system lives is more difficult. In order to understand that context, developers need to communicate with the business. But there is a lot that can go wrong while communicating with the business. For example people can misunderstand what is being said, they are scared to speak up, tensions could grow, and conflict can arise. These social dynamics cause groups to stop sharing their knowledge, which can end up in resistance behaviour from sarcastic jokes, to stopped communication or even not showing up or leaving the session. No wonder a lot of organisations resort to a more autocratic form of decision-making, where one person, the architect, analyses and makes the decision. If we want to make sustainable design decisions for our architecture that is embraced by everyone, it is better to use visual techniques to make assumptions more explicit which will improve collaboration between developer teams and the domain experts.

In this talk we will introduce you to collaborative modelling and its social dynamic challenges. Collaborative modelling is a visualisation technique to analyse complex and conflict-laden decision-making processes with all relevant stakeholders and decision-makers to create a shared understanding. And some, maybe even most of these sessions need to be facilitated so that everyone can feel a part of the decision and can potentially give the input they have. I will explain why it requires us to have a different skills set like observing, listening, trying to stay neutral and show compassion. Because that improved collaboration will let software teams understand better the context and underlying problems the business has. That understanding enables the software teams to design and build sustainable quality software products.

Kenny Baas-Schwegler

October 04, 2023
Tweet

More Decks by Kenny Baas-Schwegler

Other Decks in Technology

Transcript

  1. @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!
  2. @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!
  3. @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
  4. @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....
  5. @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."
  6. @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
  7. @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!
  8. @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
  9. @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
  10. @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
  11. @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
  12. @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
  13. @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....
  14. @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
  15. @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
  16. @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
  17. @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
  18. @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!
  19. @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..!
  20. @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
  21. @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?
  22. @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?"
  23. @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....
  24. @kenny_baas @[email protected] an ongoing issue or challenge that has no

    clear solution in terms of picking one of two sides. polarity
  25. @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
  26. @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
  27. @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
  28. @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
  29. @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.
  30. @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
  31. @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.