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

Bridging the Design Gap: How Collaborative Mode...

Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf

Software is increasingly crucial in our lives, but developing effective software systems is still a major challenge. This issue often comes from teams focusing on solutions rather than deeply understanding the business problems they are trying to solve. A crucial shift towards Collaborative Software Design is needed; it brings together technical expertise with a solid grasp of both user and business needs. As an important part of Domain-Driven Design (DDD), this approach jointly optimises user journeys with business processes. It enhances team communication, facilitates in making well-informed decisions, minimises errors, and removes blockers to flow between stakeholders, user designers and the team thus maximising the software's value and impact. Most importantly, it establishes a shared understanding among all stakeholders and the team. Adopting this strategy is vital for the creation of high-quality, resilient, and user-centric software.
The challenge is in requiring all stakeholders to actively collaborate in the same physical environment, managing complex social dynamics. The key to success in Collaborative Software Design is managing these interactions within a sociotechnical framework.
Join Evelyn and Kenny as they show how Collaborative Software Design enables teams to develop a shared understanding with stakeholders. This understanding becomes a living record of the current business needs and the software landscape, guiding the design for future developments.

Kenny Baas-Schwegler

September 10, 2024
Tweet

More Decks by Kenny Baas-Schwegler

Other Decks in Design

Transcript

  1. @kenny_baas @[email protected] In the meantime at a grocery shop around

    the corner from Evelyn Context changes everything
  2. @kenny_baas @[email protected] Home deliveries Flow of change Restaurant POS Photo

    by Ana Vieira on Unsplash The Takeout Customer wants to know an accurate ETA before completing the order Some Stakeholder Payment team Who will they ask? *note: this is a made up example!
  3. Restaurant POS Home deliveries @kenny_baas @[email protected] Home deliveries Restaurant POS

    Payments Restaurant POS Home deliveries restaurant system Takeout app Home delivery ordering Takeout Customer Select products for home delivery Know delivery time Legend / Key User Need capability External capability User Depends on Process Software System Make an order for home delivery Pay For home delivery order Home delivery Fulfilment Restaurant employee Accept order Request food deliverer for a specific time Prepare order for home delivery Hand over order to deliverer Product page Home delivery order page Payment module Home delivery service restaurant service Payment service Payment provided Restaurant service Delivery broker Takeout app Takeout Customer When does my delivery arrive? What orders do I need to prepare Home delivery service Food delivery services Restaurant backoffice SPA Food Deliverer Deliver food Home delivery service Restaurant service teamtopologies.… Exploring team and service boundaries with User Needs Mapping - Team Topologies User Needs Mapping refers to the first four steps of the Wardley Mapping process that can provide significant value when helping understand users/customers, their needs and the dependencies required to deliver those needs within an organization. By mapp… Stream-​ aligned team Platform team Complicated Subsystem team Enabling team This is quirky! Quirky, why is delivery broker not with the other team? The landscape is never "aligned" *note: this is a made up example!
  4. @kenny_baas @[email protected] Photo by Simon Kadula on Unsplash Everyone who

    communicates within an organisation that is building software is a software designer!
  5. @kenny_baas @[email protected] indiyoung.com X Explanations Problem Space The problem space

    is a person's domain. It's where they are addressing something they want to make progress on, or put off, or just think about. The problem space is separate from your solutions, although the person may reach out for your tool along the… https://indiyoung.com/explanations-​ problem-​ space/ 💡Software design starts HERE However stream-​ aligned teams are usually involved somewhere here
  6. Purpose, needs & Problems Value stream: All activities a team

    performs from understanding the purpose & problem to building that solution without being blocked Solution Feedback Stream-​aligned team: Long-​ term design + build + run for software-​ enriched services in a small, stable team of around ~5-9 people Team first! @kenny_baas @[email protected] 💡You DESIGN it, you build it and you run it! Stream aligned teams, should aim to become product teams!
  7. @kenny_baas @[email protected] Software team Stakeholders design, build, run solution(s) Express

    purpose, needs and problems Feedback The delayed feedback loop creates a knowledge gap between the implemented solution and the stakeholders' understanding. At times, there is a product owner, architect, UX designer, or other role acting as an intermediary. Individuals or groups, either within or outside the organization, who are invested in the outcome of solving these business problems 💡Stop managing dependencies start unblocking flow Code Tests Diagrams Documentation Observability
  8. Projected in @kenny_baas @[email protected] Software team Stakeholders design, build, run

    solution Pool of shared meaning the sum total of knowledge, perspectives, opinions, meaning and feelings that participants in a conversation have regarding the topic at hand 💡The pool can vary in size. The delayed feedback loop creates a knowledge gap between the implemented solution and the stakeholders' understanding. Not all knowledge is returned, like technical knowledge Code Tests Diagrams Documentation Observability
  9. @kenny_baas @[email protected] Unblocking team flow requires continuously cultivating the shared

    pool of meaning. And that cultivations happens in interactions Photo by Dragan Miljkovic on Unsplash
  10. @kenny_baas @[email protected] Software team Code Tests Stakeholders design, build, run

    solution The delayed feedback loop creates a knowledge gap between the implemented solution and the stakeholders' understanding. Pool of shared meaning Projected in Market User research Strategy Projected in The delayed feedback loop creates a knowledge gap between the implemented solution and the stakeholders' understanding. Not all knowledge is put into the pool 💡User experience design of the product should be part of the team! Diagrams Documentation Observability
  11. @kenny_baas @[email protected] The pool can quickly become a whirlpool when

    navigating the problem space Photo by heraldscotland
  12. @kenny_baas @[email protected] 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.
  13. 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. @kenny_baas @[email protected] Using it for Domain Modelling
  14. @kenny_baas @[email protected] Users and stakeholders Code Stream-​Aligned Team Tests Domain

    Model Other people possibly involved in designing and building software Managers Architects User researcher .....
  15. DDD is a discipline rooted in the belief that creating

    good software systems for problems in the complex domain cannot be done without a deep understanding of the business problems you are trying to solve in the domain. @kenny_baas @[email protected] Domain-​ Driven Design
  16. @kenny_baas @[email protected] We share context, meaning and categorise business needs,

    purpose and problems. Through that we DESIGN a language and model to solve complex business problems Photo by Travel by Kilts
  17. @kenny_baas @[email protected] Home deliveries Restaurant POS Payment team Flow of

    change Bring User Experience and User interface design (UX/UI) in Teams Enable or off-​load User research Home deliveries Restaurant POS Payment team Flow of change User research Enablers User researchers Facilitating Facilitating Facilitating 💡When user research are initiatives 💡When user research is done continuously. Alternate between these two User researchers Xaas Collaboration
  18. @kenny_baas @[email protected] 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.
  19. @kenny_baas @[email protected] Photo by ESIGNECOLOGIST A lot of problems exist

    because people are ignoring the “socio” in sociotechnical systems
  20. @kenny_baas @[email protected] Adapted from "Assessing the impact of new technology

    on complex sociotechnical systems", South African Journal of Industrial Engineering August 2016 Vol 27(2), pp 15-29, R. Oosthuizen & L. Pretorius https://www.researchgate.net/publication/306242078_Assessing_the_impact_of_new_technology_on_complex_sociotechnical_systems Licensed under https://creativecommons.org/licenses/by-​ sa/4.0/
  21. @kenny_baas @[email protected] Choosing a certain technology might increase a skill

    gap that needs to be managed Defining boundaries of bounded contexts might imply team changes Decisions will (most likely...) lead to resistance and conflict ... Technical choices have social consequences and vice versa
  22. @kenny_baas @[email protected] 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 understanding each other? Who is moving stickies around? How much detail is required in this session? How is the group handling decision making? Lots of people in a room...