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

Collaborative Software Design: How to facilitat...

Collaborative Software Design: How to facilitate domain modelling decisions

This talk delves into the challenges of collaborative software design, where developers and stakeholders work together to make sustainable design decisions that bridge the gap, align business needs with IT solutions, and create adaptable software systems.
While software's role in our lives grows daily, crafting high-quality systems remains challenging. Many teams prioritize finding solutions without fully understanding the stakeholder's needs and cutting across various organizational settings and contexts. It is not so weird because communication with the business side can be fraught with potential pitfalls: misunderstandings can occur, individuals may feel intimidated to speak up, tensions might escalate, and conflicts can emerge. Those social dynamics can lead to communication breakdowns, misunderstandings, and software that fails to meet the user and organizational needs.
To address this, we advocate for collaborative modeling, a visualization technique that brings developers, domain experts, and decision-makers together to foster a shared understanding. We'll explore the social dynamics inherent in this process, drawing on our experiences to highlight potential pitfalls and offer practical heuristics for facilitating productive collaborative sessions. By cultivating essential skills like active listening, empathy, and neutrality, software teams can effectively engage with stakeholders, gather crucial insights, and make sustainable design decisions that lead to better software and more substantial organizational alignment.

Kenny Baas-Schwegler

February 04, 2025
Tweet

More Decks by Kenny Baas-Schwegler

Other Decks in Design

Transcript

  1. @gienverschatse.com | @kenny.weave-​ it.org © Collaborative-​ software-​ design.com Collaborative Software

    Design: How to facilitate domain modelling decisions Photo by Agnieszka Ziomek on Unsplash
  2. Features take longer and longer, or to expensive to implement,

    or not possible at all! We would like to extend movies Photo by Felix Mooneeram on Unsplash Sorry, we can't do that right now. @gienverschatse.com | @kenny.weave-​ it.org © Collaborative-​ software-​ design.com
  3. Frustrations and polarisation Photo by Felix Mooneeram on Unsplash @gienverschatse.com

    | @kenny.weave-​ it.org © Collaborative-​ software-​ design.com When will we get the new feature? They said it wasn't possible... AGAIN
  4. For everyone.... Photo by Felix Mooneeram on Unsplash @gienverschatse.com |

    @kenny.weave-​ it.org © Collaborative-​ software-​ design.com How was the meeting? I had to say "we can't do that right now", AGAIN
  5. @gienverschatse.com | @kenny.weave-​ it.org © Collaborative-​ software-​ design.com @kenny.weave-​ it.org

    Independent consultant and trainer in Software architecture, technical leadership, and sociotechnical systems design @gienverschatse.com Consultant @ Aardling
  6. © Collaborative-​ software-​ design.com Purpose, needs & Problems Value stream:

    All activities a team performs from understanding the purpose & problem to building that solution without being blocked Stream-​aligned team: Long-​term design + build + run for software-​enriched services in a small, stable team of around ~5-9 people Solution Feedback 💡You DESIGN it, you build it and you run it! @gienverschatse.com | @kenny.weave-​ it.org
  7. @gienverschatse.com | @kenny.weave-​ it.org © Collaborative-​ software-​ design.com Game of

    Telephone - 3 guys draw on each others back - Try to … YouTube
  8. @gienverschatse.com | @kenny.weave-​ it.org © Collaborative-​ software-​ design.com It is

    not the domain experts knowledge that goes to production, it is the assumption of the developers that goes to production — Alberto Brandolini, Creator of Eventstorming
  9. 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." @gienverschatse.com | @kenny.weave-​ it.org © Collaborative-​ software-​ design.com
  10. "a visualization technique to analyze complex and conflict-​ laden decision-​

    making processes with all relevant stakeholders and decision-​ makers to create a shared understanding." @gienverschatse.com | @kenny.weave-​ it.org © Collaborative-​ software-​ design.com A visualisation technique Shared understanding with all relevant stakeholders... Decision-​ making processes Analyze complex and conflict-​ laden ... 1. 2. 3. 4. collaborative modelling
  11. @gienverschatse.com | @kenny.weave-​ it.org © Collaborative-​ software-​ design.com 1. A

    visualisation technique Time and date where selected theather selected number of ticket selected seats choosen seats got allocated no seats got seleceted 1 tickets for seats
  12. @gienverschatse.com | @kenny.weave-​ it.org © Collaborative-​ software-​ design.com Example mapping

    Core domain chats Context mapping and many more... Bounded context canvas There are many tools out there!
  13. @gienverschatse.com | @kenny.weave-​ it.org © Collaborative-​ software-​ design.com In collaborative

    modelling, the right tool should eliminate the friction that blocks knowledge sharing. Simplicity is key, as it allows for the unhindered exchange of wisdom and promotes the development of a shared understanding, built upon the foundation of diverse perspectives Photo by Katarzyna Pypla on Unsplash
  14. @gienverschatse.com | @kenny.weave-​ it.org © Collaborative-​ software-​ design.com 2. Shared

    understanding with all relevant stakeholders... Domain is a sphere of knowledge, influence, or activity. The subject area to which the user applies a program is the domain of the software. An area of interest or an area over which a person has control It is all about grouping concepts. Within Domain-​Driven Design we call the entire problem space we are modelling the Domain. We decompose that space into several subdomains. If the space is big enough those subdomains can be potentially split into several subdomains again. AKA Domain Modelling
  15. @gienverschatse.com | @kenny.weave-​ it.org © Collaborative-​ software-​ design.com Seats Reserved

    Tickets Received Payment Completed Ticket sold Movie selected 4 normal pricing selected Total price calculated Seat reservation suggested View time selected Payment details provided Seats moved Seats confirmed 4 friends want to watch the new Marvel movie Website opened Country selected Language selected Theater picked Date picked Domain event Legend Use Collaborative Modelling for design activities....
  16. @gienverschatse.com | @kenny.weave-​ it.org © Collaborative-​ software-​ design.com 💡There is

    a lot more design activities usually needed between decompose and getting to this design!
  17. @gienverschatse.com | @kenny.weave-​ it.org © Collaborative-​ software-​ design.com 💡Everyone can

    facilitate if allowed, it does not have to be 1 person. 4. Analyze complex and conflict-​ laden ...
  18. @gienverschatse.com | @kenny.weave-​ it.org © Collaborative-​ software-​ design.com Symbolic violence

    is the invisible forms of power that manifest in everyday practices, language, and cultural norms (The shadows), leading individuals to accept and internalize their social status and the dominance of more powerful groups. Photo by Raghuvansh Luthra on Unsplash
  19. @gienverschatse.com | @kenny.weave-​ it.org © Collaborative-​ software-​ design.com Higher-​ ranking

    individuals may suffer from dominance blindness, where they fail to recognize or acknowledge the privileges and advantages they have and fail to understand the daily effect it has on someone with lower ranking. Photo by Tomas Martinez on Unsplash
  20. @gienverschatse.com | @kenny.weave-​ it.org © Collaborative-​ software-​ design.com Photo by

    Spencer Davis on Unsplash 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. Dear CoMo
  21. @gienverschatse.com | @kenny.weave-​ it.org © Collaborative-​ software-​ design.com When you

    notice somebody is resisting a new technology, dig deeper into why this person is objecting to adapting it. Have a coffee with this person, show that you are actively listening to them Photo by Jon Tyson on Unsplash Dear CoMo
  22. @gienverschatse.com | @kenny.weave-​ it.org © Collaborative-​ software-​ design.com Track discussions

    during collaborative modelling: You know when a conflict turns dysfunctional when dialogues or discussions move towards the notion of right or wrong. Photo by Kenny Eliason on Unsplash Dear CoMo
  23. @gienverschatse.com | @kenny.weave-​ it.org © Collaborative-​ software-​ design.com The decision-​

    maker is the person that has the authority and the permission to allocate the resources when an alternative has been chosen. They can place the decision with the group that has to live with the consequences of the decision. Understanding Influence for Better Decisions
  24. @gienverschatse.com | @kenny.weave-​ it.org © Collaborative-​ software-​ design.com 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 Go Fishing - the argument (Say what needs to be said) 1. 2. 3. 4. 5. Vote for majority Vote for inclusion 💡A majority vote is only when more than half voted on 1 alternative. 💡When you did not reach a decision for 3 rounds of step 1-4, then you go to 5 Facilitate Deeper Democratic Decisions
  25. @gienverschatse.com | @kenny.weave-​ it.org © Collaborative-​ software-​ design.com Regardless of

    how or who made the decision is ... ask: What do you need to go along with this decision? Dear CoMo
  26. © Collaborative-​ software-​ design.com Get the BOOK! 45% off csdoop45

    https://collaborative-​ software-​ design.com/faq/ Dear CoMo LEAVE THE JUDGING TO THE CATS!! https://weave-​ it.org @kenny.weave-​ it.org /in/kenny-​ baas/ https://www.aardling.eu @gienverschatse.com /in/gien-​ verschatse/