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

A glimpse in leading productive, collaborative software design sessions

A glimpse in leading productive, collaborative software design sessions

Making sustainable design decisions for our architecture that are embraced by everyone is the ultimate goal. Yet in reality, this process is far from straightforward due to the complexities of group dynamics. Cultural differences, conflicts of opinions, cognitive biases, and polarities within the group can cause resistance behavior, ranging from sarcastic jokes to stopped communication or leaving the session. With these challenges, it is no wonder many organizations resort to a more autocratic form of decision-making, where one person, typically the architect, analyses and makes the decision.

In order to combat these challenges and promote collaborative decision-making, it is essential to understand the context in which a software system lives, which necessitates effective communication between developers and the business. However, communication too is fraught with its own set of challenges: misunderstandings, fear of speaking up, growing tensions, and potential conflict.

Join us with Kenny Baas-Schwegler in this hands-on session, where we explore how to bridge this gap through the use of collaborative modelling, different models of decision-making, and facilitation techniques that aim to foster collaboration between developer teams and domain experts. This hands-on will give you a glimpse and a starting point of skills and methods needed to navigate complex group dynamics and lead productive, collaborative software design sessions.

In this meetup, I will present you with a small design challenge for you to collaboratively model. Through that excercise I will introduce you to some facilitation techniques from our book "Collaborative Software design". Such as working with climate reports to trigger hidden group conflicts, visualising trade-offs of different models with the pro-con-fix list, and taking group decisions with full buy-in using Deep Democracy.

Kenny Baas-Schwegler

September 12, 2023
Tweet

More Decks by Kenny Baas-Schwegler

Other Decks in Technology

Transcript

  1. Workshop Agenda Modelling a solution Resistance line and climate report

    PRO-​ CON-​ FIX list Making Deep Democratic decisions @kenny_baas @[email protected]
  2. We aim to create an inclusive environment, respecting all individuals

    regardless of background, experience, or identity, and refrain from any form of harassment or discrimination. Nobody holds the monopoly to the truth If we someone talks about sensitive topics, it stays in this room 1. 2. Working agreements @kenny_baas @[email protected]
  3. In two rounds 4 min each you will interview each

    other on the following questions: Give an example OF A group decision went well and why did it go well? Give an example OF a group decision did not go well, what went wrong and what was the outcome? Each round you will do this with someone else. 1. 2. Impromptu networking @kenny_baas @[email protected]
  4. You are a group of architects working for a cinema

    company and COVID-19 just hit the country you operate in, needing to close down all the cinemas. In a debriefing with management they told you that they are looking into opening the cinemas again within 2-3 months under some strict rules: * Customers need to sign a health check * Customers can only sit together with their household * There needs to be 1.5 meters between reservations * A room can hold a max of 30 people in total These current rules also need to apply: * A reservation can made be for up to a maximum of 8. * A reservation can made be for only adjacent seating in a single row. You are tasked by management to design a solution so that once the cinema opens up again, customers can start using the website and app to reserve seats like they are used to, but with the strict rules applied. At this moment the app and website communicate by Rest with the reservations system through the same API. The reservations system is 7 years old and we build that system, the app and website in-​ house. The reservations systems holds all the current reservations and the current business rules for reserving seats. Two things are important for the management: 1. At all costs, it must go live the moment it is announced that the cinemas can reopen again. That way customers can start straight away with reserving spots before the cinemas open again. 2. Once all COVID-19 rules are lifted, we should be able to quickly and with low costs move back to the rules that applied before COVID-19. Bounded Context Boundary Domain Boundary Application/deployment Boundary Legend Reservation system Cinema Website Cinema app Reservation Domain Allocations Ticketing Reservations Marketing The challenge @kenny_baas @[email protected]
  5. What happens during modelling? @kenny_baas @[email protected] Consciousness of the group

    "The Shadows" 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!
  6. a pattern is a set of ingrained, more or less

    fixed relationships between aspects or components of a culture, society, group, organization that can be observed, or can be deduced and interpreted from concrete events and processes. It concerns observable, repetitive aspects of reality. (3 times is a charm) patterns are repetitive patterns are visible on several layers patterns have a systematic coherence patterns form energy fields patterns are transferred Behavioural patterns @kenny_baas @[email protected]
  7. The person is disengaged That person is watching his phone

    for the 3th time The person does not care The person talks less than other people Work with factual patterns @kenny_baas @[email protected]
  8. Edge behaviour @kenny_baas @[email protected] Consciousness of the group "The Shadows"

    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
  9. Intervention to the group (never the individual) about the patterns

    you observed Neutral, factual observation use the words that the group uses Now stay quiet and let the group first try and decide what they need to do Climate reports @kenny_baas @[email protected]
  10. Indirectness -> talking in the 3th person Indirectness -> Somebody....

    Indirectness -> Guardian angel Absence Interrupt each other karaoke / radiostation sliding, not deciding Asking question that are no questions What do you want to say? What do you think? What do you mean? Who do you mean? Confusing communication What do you want? What are your needs? Weather report Asking questions or weather report Do you have an answer yourself? Do you already have ideas yourselve? Logical fallacies False Dichotomy Ad Hominem Are there any other options? What makes you say that? en.wikipedia.org List of fallacies - Wikipedia A fallacy is reasoning that is logically incorrect, undermines the logical validity of an argument, or is recognized as unsound. All forms of human communication can contain fallacies. Because of their variety, fallacies are challenging to classify. The… Strawman How did you reach that conclusion? Not everything is a climate report @kenny_baas @[email protected]
  11. In your group pick some patterns you observed During modelling,

    or previous modelling sessions Discuss and decide how you as a facilitator could have given a climate report to the group. Break-​ out @kenny_baas @[email protected]
  12. Pro-​ Con-​ Fix List @kenny_baas @[email protected] PRO CON & FIX

    Reasons against this alternative and possible fixes Reasons to take this alternative NEUTRAL Neutral consequences of this alternative https://www.gienverschatse.com/decision-​ theory/2020/05/16/pro-​ con-​ fix/
  13. BIKING TO WORK PRO CON & FIX Reasons this is

    a bad option and possible fixes Reasons this is a good option Guaranteed daily exercise of 60 minutes Good for environment Kilometer compensation of 8 EUR / km Increase in salary: 3.500 EUR Arriving sweaty and the office I get wet when it rains Only one car to share between me and my partner Commute is 60 minutes a day Shower at the office Listen to audiobooks or podcasts during commute KEEP COMPANY CAR PRO CON & FIX Reasons this is a bad option and possible fixes Reasons this is a good option Me and my partner both have their own car No fuel costs Arrive dry at the office Commute is 20 minutes a day Salary stays the same: 3.150 EUR Bad for the environment No daily exercise 120 EUR monthly taxation Donate my carbon footprint to charity Use the gym at the office before leaving CURRENT SITUATION New bike paid by company Fuel costs of 100 EUR / month Put office clothes at office and change on arrival Buy rain repelling clothes for biking Arrive fresh at the office No eco bonus from the office Good Comparison @kenny_baas @[email protected]
  14. BIKE PRO CON & FIX Reasons this is a bad

    option and possible fixes Reasons this is a good option More exercise Good for environment Get bonus More salary Arriving sweaty and the office I get wet when it rains Only one car to share between me and my partner Commute is 60 minutes a day Shower at the office Listen to audiobooks or podcasts during commute COMPANY CAR PRO CON & FIX Reasons this is a bad option and possible fixes Reasons this is a good option Me and my partner both have their own car No fuel costs Arrive dry at the office Commute is 20 minutes a day Less salary Bad for the environment No daily exercise Pay taxes Donate some money Use the gym at the office before leaving New bike paid by company Fuel costs of 100 EUR / month Put office clothes at office and change on arrival Buy rain repelling clothes for biking Arrive fresh at the office No eco bonus from the office Bad Comparison @kenny_baas @[email protected]
  15. no new pipelines need to be created extract bounded context

    from legacy changing legacy independent deployment relesing only new changes we cen introduce solutieon in different technology additional infrastructure 36,7% more complicated communication ;) introduce communication standards (REST or sth) allocation system Reservations system Cinema Website Cinema app Reservation Domain Allocations Ticketing Reservations Marketing Reservations system Cinema Website Cinema app Reservation Domain Allocations Ticketing Reservations Marketing Allocations Allocations Add functionality to a new bounded context and call that instead Add functionality to a new deployable component and call that from original allocations bounded context << option 1 >> PRO CON & FIX Reasons this is a bad option and possible fixes Reasons this is a good option << option 2 >> PRO CON & FIX Reasons this is a bad option and possible fixes Reasons this is a good option Analyse both alternatives. Find the trade-​ off for option 1 and option 2. Decide which option you would go for. Break-​ out! @kenny_baas @[email protected] NEUTRAL Neutral consequences of this alternative NEUTRAL Neutral consequences of this alternative
  16. If a product is 29.90 euro at a local shop

    around the corner, and that same product is 19.90 euro in another shop 20 min drive away, would you do that? Would you do the same if the price is 750 euro and 740 euro? What would you do? @kenny_baas @[email protected]
  17. The clearest instance in the book, which I set up

    as a sort of foundational myth, is the Pythagorean cult in the fifth century BC, which becomes so devoted to the perfect rationality of mathematics that it has trouble dealing with the discovery of the existence of irrational numbers. And so when one of its own, Hippasus of Metapontum, starts telling people outside the group that the world can’t be explained by mathematics alone, legend has it that the leader of the group had him drowned in a fit of anger. “The desire to impose rationality, to make people or society more rational, mutates ... into spectacular outbursts of irrationality.” - Justin E.H. Smith Irrationality @kenny_baas @[email protected]
  18. Working with the shadows @kenny_baas @[email protected] @kenny_baas @[email protected] Consciousness of

    the group "The Shadows" 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!
  19. Deep Democracy @kenny_baas @[email protected] @kenny_baas @[email protected] Deep Democracy is a

    method and principle that emphasizes the importance of listening to and integrating all voices, perspectives, and levels of a system, especially the minority or suppressed viewpoints, in order to achieve more holistic and sustainable decisions. Originating in the field of process work developed by Arnold Mindell, Deep Democracy goes beyond traditional democratic methods by fostering deeper levels of dialogue, and it is used in various settings including organizational development, conflict resolution, and community engagement.
  20. Lewis Deep Democracy @kenny_baas @[email protected] @kenny_baas @[email protected] Consciousness of the

    group "The Shadows" Unconsciousness of the group The 5 steps of sustainable decision making Gain all Views Find the alternative view and make it safe to say no Spread the alternative view What will it take to come along 1. 2. 3. 4. deep-democracy.net WELCOME - Lewis Deep Democracy services This is now a separate site from the Services Site. To get to the Learning Center do not log in here, click below and log in to the Learning Center using your registered email address. Note that this is a separate login account and needs to be managed f… 5 . Go Fishing - the argument (Say what needs to be said) Vote
  21. Where to start? Role theory 101 @kenny_baas @[email protected] @kenny_baas @[email protected]

    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. Role is bigger than a Person A person is more than the Role Heuristic: When someone expresses there need, make that role fluid and ask "who else can roughly relate to that need?"
  22. 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 @kenny_baas @[email protected] @kenny_baas @[email protected]
  23. Sustainable design decisions @kenny_baas @[email protected] @kenny_baas @[email protected] 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.