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

March 01, 2023

More Decks by Kenny Baas-Schwegler

Other Decks in Technology


  1. Welcome to BigScreen A fictitious company that is struggling with

    redesigning their software system. Although Bigscreen itself does not exist, its problems are real in organizations that we have consulted for. Companies have asked us to help them overcome the problems that BigScreen is facing right now and we will explain how we helped them overcome those problems by introducing collaborative modeling. @selketjah - @EvelynvanKelle - @kenny_baas
  2. We helped with the modernization journey of the software system.

    BigScreen wanted to create a campaign called “Anytime, Anywhere”, which would allow their customers to purchase tickets wherever they are. @selketjah - @EvelynvanKelle - @kenny_baas
  3. 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 @selketjah - @EvelynvanKelle - @kenny_baas Bounded context Deployable unit Legend
  4. Development team Ralph PO Jack Rose Rick Architect Caledon Developer

    Rodney Kala Tester Amir Marketing Susan Marketing Campaign manager Bruce MT CTO Meera COO CFO CEO Tiago ??? ??? Operations Kathleen BA Back-​ office - scheduler Ari Nala User researcher Wei ?? Finance ?? ??? ??? @selketjah - @EvelynvanKelle - @kenny_baas
  5. @selketjah - @EvelynvanKelle - @kenny_baas Introduce yourself to your neighbour,

    and ask each other the questions: How would your organization currently apporach this modernisation journey?
  6. Join Slido: Enter #code to vote and ask questions Sli

    @selketjah - @EvelynvanKelle - @kenny_baas
  7. Game of Telephone - 3 guys draw on each others

    b… YouTube @selketjah - @EvelynvanKelle - @kenny_baas
  8. Collaborative modeling is a visualization technique to analyze complex and

    conflict-​ laden decision-​ making processes with all relevant stakeholders and decision-​ makers to create a shared understanding. @selketjah - @EvelynvanKelle - @kenny_baas
  9. @selketjah - @EvelynvanKelle - @kenny_baas There are a few common

    misconception about these categories: The domain experts are always users. Customer is a synonym for user. The development team are not customers, users or domain experts. 1. 2. 3. The 4 most important categories of a stakeholder. A stakeholder can have multiple categories. They can be a domain expert AND a customer at the same time.
  10. @selketjah - @EvelynvanKelle - @kenny_baas Find another neighbour discuss who

    would you invite to a collaborative modeling session?
  11. Join Slido: Enter #code to vote and ask questions Sli

    @selketjah - @EvelynvanKelle - @kenny_baas
  12. @selketjah - @EvelynvanKelle - @kenny_baas # of tickets are requested

    Seats are Allocated No Seat allocation found payment of reservation is started Seats allocation cancelled No Adjacent seats allocation found Seat allocation is confirmed Change Seats is Requested Current selection and availability is shown Seat allocations is changed Previous Seat allocation is freed Reservation is payed seat allocation is confirmed Tickets are generated Email with reservation is send Email address is provided movie is selected Data is selected screening is selected Add clicked Tickets is distributies 1 reservation per seat if after 15 minutes they did not pay, cancel the allocation Payment system
  13. @selketjah - @EvelynvanKelle - @kenny_baas Try and find another neighbour

    discuss what would be the challenges you would face doing collaborative modeling.
  14. Join Slido: Enter #code to vote and ask questions Sli

    @selketjah - @EvelynvanKelle - @kenny_baas
  15. @selketjah - @EvelynvanKelle - @kenny_baas The facilitator takes on different

    stances. The observer stance takes a central place, which provides a facilitator with important information to take on other stances.
  16. @selketjah - @EvelynvanKelle - @kenny_baas leadership is not just about

    a single individual but a collective responsibility that emerges from the collaboration process
  17. @selketjah - @EvelynvanKelle - @kenny_baas Unorder vs ordered problems The

    Cynefin® framework was developed to help leaders understand their challenges and to make decisions in context. www.cognitive-e… THE CYNEFIN® FRAMEWORK - Cognitive Edge
  18. @selketjah - @EvelynvanKelle - @kenny_baas Whether you spend a lot

    of time and energy on modeling or not - or no conscious time at all - a model is inevitable.
  19. @selketjah - @EvelynvanKelle - @kenny_baas Ticketing PaS Movie schedule Ticketing

    Price calculation Seat allocation Payments User interface Used internally by BigScreen to schedule movies, create events, etc. Used by BigScreen's customers to purchase tickets. Used by ticketing and back office to schedule movies Bounded context Deployable unit Legend
  20. Join Slido: Enter #code to vote and ask questions Sli

    @selketjah - @EvelynvanKelle - @kenny_baas