$30 off During Our Annual Pro Sale. View Details »

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]

    View Slide

  2. Meet the authors
    @EvelynvanKelle
    https://www.evelynvankelle.com
    @kenny_baas
    https://xebia.com/blog/author/kbaas/
    https://speakerdeck.com/baasie
    @selketjah
    https://www.gienverschatse.com
    https://www.eightpointsquared.com
    We love cats.
    @kenny_baas
    @[email protected]

    View Slide

  3. 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]

    View Slide

  4. 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]

    View Slide

  5. Into the problem
    @kenny_baas
    @[email protected]

    View Slide

  6. 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]

    View Slide

  7. 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!

    View Slide

  8. 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]

    View Slide

  9. What behavioural patterns did you observe in the group?
    What did you observe?
    @kenny_baas
    @[email protected]

    View Slide

  10. 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]

    View Slide

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

    View Slide

  12. 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

    View Slide

  13. 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]

    View Slide

  14. 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]

    View Slide

  15. 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]

    View Slide

  16. 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/

    View Slide

  17. 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]

    View Slide

  18. 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]

    View Slide

  19. 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

    View Slide

  20. Elements of a decision
    @kenny_baas
    @[email protected]

    View Slide

  21. 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]

    View Slide

  22. System 1 & 2
    @kenny_baas
    @[email protected]

    View Slide

  23. 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]

    View Slide

  24. 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!

    View Slide

  25. 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.

    View Slide

  26. 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

    View Slide

  27. 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?"

    View Slide

  28. 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]

    View Slide

  29. 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.

    View Slide

  30. GO to the website to get the book!
    Thank YOU!
    @kenny_baas
    @[email protected]

    View Slide