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
Tweet

More Decks by Kenny Baas-Schwegler

Other Decks in Technology

Transcript

  1. Collaborative Software Design:
    How to facilitate domain modeling decisions
    @selketjah - @EvelynvanKelle - @kenny_baas

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  6. @selketjah - @EvelynvanKelle - @kenny_baas
    Introduce yourself to your neighbour, and ask each other the questions:
    How would your organization currently apporach this modernisation journey?

    View Slide

  7. Join Slido: Enter #code to vote and ask questions
    Sli
    @selketjah - @EvelynvanKelle - @kenny_baas

    View Slide

  8. Game of Telephone - 3 guys draw on each others b…
    YouTube
    @selketjah - @EvelynvanKelle - @kenny_baas

    View Slide

  9. Agenda:
    What is collaborative model(l)ing?
    A live example with Eventstorming
    Challenges of collaborative model(l)ing
    Q&A

    View Slide

  10. @kenny_baas
    @EvelynvanKelle
    @selketjah

    View Slide

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

    View Slide

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

    View Slide

  13. @selketjah - @EvelynvanKelle - @kenny_baas
    Find another neighbour
    discuss who would you invite to a collaborative modeling session?

    View Slide

  14. Join Slido: Enter #code to vote and ask questions
    Sli
    @selketjah - @EvelynvanKelle - @kenny_baas

    View Slide

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

    View Slide

  16. @selketjah - @EvelynvanKelle - @kenny_baas
    There are a lot of tools

    View Slide

  17. @selketjah - @EvelynvanKelle - @kenny_baas

    View Slide

  18. @selketjah - @EvelynvanKelle - @kenny_baas
    Try and find another neighbour
    discuss what would be the challenges you would face doing collaborative modeling.

    View Slide

  19. Join Slido: Enter #code to vote and ask questions
    Sli
    @selketjah - @EvelynvanKelle - @kenny_baas

    View Slide

  20. @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.

    View Slide

  21. @selketjah - @EvelynvanKelle - @kenny_baas
    Ranking, cognitive bias,
    Conflicts, polarities

    View Slide

  22. @selketjah - @EvelynvanKelle - @kenny_baas
    leadership is not just about a single individual but
    a collective responsibility that emerges from the
    collaboration process

    View Slide

  23. @selketjah - @EvelynvanKelle - @kenny_baas

    View Slide

  24. @selketjah - @EvelynvanKelle - @kenny_baas

    View Slide

  25. @selketjah - @EvelynvanKelle - @kenny_baas
    Should we always use collaborative modeling?

    View Slide

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

    View Slide

  27. @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.

    View Slide

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

    View Slide

  29. @selketjah - @EvelynvanKelle - @kenny_baas

    View Slide

  30. Join Slido: Enter #code to vote and ask questions
    Sli
    @selketjah - @EvelynvanKelle - @kenny_baas

    View Slide

  31. GO to the website to get the book!

    View Slide