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

Collaborative Software Design: How to facilita...

Collaborative Software Design: How to facilitate domain modeling decisions @ ama2025

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

April 04, 2025
Tweet

More Decks by Kenny Baas-Schwegler

Other Decks in Technology

Transcript

  1. © Collaborative-​ software-​ design.com Collaborative Software Design: How to facilitate

    domain modelling decisions Photo by Agnieszka Ziomek on Unsplash @evelynvankelle.com | @kenny.weave-​ it.org
  2. © Collaborative-​ software-​ design.com Photo by Felix Mooneeram on Unsplash

    What is happening at BigScreen? @evelynvankelle.com | @kenny.weave-​ it.org
  3. 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. © Collaborative-​ software-​ design.com @evelynvankelle.com | @kenny.weave-​ it.org
  4. Frustrations and polarisation Photo by Felix Mooneeram on Unsplash ©

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

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

    in Software architecture, technical leadership, and sociotechnical systems design @evelynvankelle.com Behavioral Change Consultant & Trainer @evelynvankelle.com | @kenny.weave-​ it.org
  7. © 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! @evelynvankelle.com | @kenny.weave-​ it.org
  8. © Collaborative-​ software-​ design.com Game of Telephone - 3 guys

    draw on each others back - Try to … YouTube @evelynvankelle.com | @kenny.weave-​ it.org
  9. © 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 @evelynvankelle.com | @kenny.weave-​ it.org
  10. 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." © Collaborative-​ software-​ design.com @evelynvankelle.com | @kenny.weave-​ it.org
  11. "a visualization technique to analyze complex and conflict-​ laden decision-​

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

    @kenny.weave-​ it.org 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 Screening selected Screening No available suggestions found
  13. © Collaborative-​ software-​ design.com Example mapping Core domain chats Context

    mapping and many more... Bounded context canvas There are many tools out there! @evelynvankelle.com | @kenny.weave-​ it.org
  14. © 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 @evelynvankelle.com | @kenny.weave-​ it.org
  15. © 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 @evelynvankelle.com | @kenny.weave-​ it.org
  16. © 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.... @evelynvankelle.com | @kenny.weave-​ it.org
  17. © Collaborative-​ software-​ design.com 💡There is a lot more design

    activities usually needed between decompose and getting to this design! @evelynvankelle.com | @kenny.weave-​ it.org
  18. © Collaborative-​ software-​ design.com 💡Everyone can facilitate if allowed, it

    does not have to be 1 person. 3. Analyze complex and conflict-​ laden ... @evelynvankelle.com | @kenny.weave-​ it.org
  19. Humans and their interaction Humans and their interpersonal relationships Humans

    and their sense of hierarchy and ranking Humans and their assumptions Humans and their personal feelings and opinions Humans and their personal interest …. Humans. © Collaborative-​ software-​ design.com @evelynvankelle.com | @kenny.weave-​ it.org
  20. Ranking theory Conflict & Resistance Cognitive bias Polarities ... Behavior!

    © Collaborative-​ software-​ design.com @evelynvankelle.com | @kenny.weave-​ it.org
  21. Observing behavior © Collaborative-​ software-​ design.com Focused? Disengaged? Plotting an

    attack? Judging his human? © Collaborative-​ software-​ design.com @evelynvankelle.com | @kenny.weave-​ it.org
  22. What is behavior? “Behavior is what an organism does, or

    better: what another organism observes it is doing” ​ (B.F. Skinner, 1938)​ © Collaborative-​ software-​ design.com @evelynvankelle.com | @kenny.weave-​ it.org It has nothing to do with your interpretations.​
  23. Who's taking the lead? Who talks first? Who talks a

    lot? Who isn't talking? Which subgroups emerge during the sessions? Are there a lot of discussions going on? Are people asking questions? Who is moving stickies around? How much detail is required in this session? How is the group handling decision making? Humans & collaborative modeling © Collaborative-​ software-​ design.com @evelynvankelle.com | @kenny.weave-​ it.org
  24. © Collaborative-​ software-​ design.com @evelynvankelle.com | @kenny.weave-​ it.org Ranking Photo

    by Cederic Vandenberghe on Unsplash Once upon a time, there were a tall white guy and a woman in IT...
  25. © 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 @evelynvankelle.com | @kenny.weave-​ it.org
  26. © 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 @evelynvankelle.com | @kenny.weave-​ it.org
  27. © 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 @evelynvankelle.com | @kenny.weave-​ it.org
  28. © Collaborative-​ software-​ design.com "Observe with care, before you fill

    the air." @evelynvankelle.com | @kenny.weave-​ it.org - Roger
  29. © 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 @evelynvankelle.com | @kenny.weave-​ it.org
  30. © 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 @evelynvankelle.com | @kenny.weave-​ it.org
  31. © 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 @evelynvankelle.com | @kenny.weave-​ it.org
  32. © Collaborative-​ software-​ design.com For teams to function as product

    teams in an optimal way, you need to have a sociotechnical perspective. Photo by Omar Flores on Unsplash @evelynvankelle.com | @kenny.weave-​ it.org AND the behavior to match that perspective.
  33. © 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.xebia.com @evelynvankelle.com /in/evelynvankelle/