Slide 1

Slide 1 text

@kenny_baas @[email protected] Collaborative software design for team cognitive load Check-​ in Introduction Hands-​ on Software design challenge Introduction to Team Topologies Mapping out the designs Team Topologies interaction 1. 2. 3. 4. 5.

Slide 2

Slide 2 text

@kenny_baas @[email protected] Check-​in We'll do a check-​ in with an activity called 'Impromptu Networking.' This exercise is structured into three dynamic rounds, each lasting five minutes. In each session, you'll need to randomly pair yourself with 2-3 other participants. The goal is to interview each other with the questions below. At the end of the rounds we will ask the group to share what you heard from others. Questions: Who are you and what do you do? (Quickly introduce yourself) Why did you choose this workshops? What do you know about collaborative modelling and team cognitive load?

Slide 3

Slide 3 text

@kenny_baas @[email protected] Photo by Grab on Unsplash

Slide 4

Slide 4 text

@kenny_baas @[email protected] * NOTE: A C4 model only contains 1 software system. For the convenience and purpose of this hands-​ on we combined 3 software systems in 1

Slide 5

Slide 5 text

@kenny_baas @[email protected] * NOTE: A C4 model only contains 1 software system. For the convenience and purpose of this hands-​ on we combined 3 software systems in 1

Slide 6

Slide 6 text

restaurant system Takeout app @kenny_baas @[email protected] 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 This is a fixed time configured in the restaurant 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 The home delivery service can query the restaurant service for the statis of the order which changes based on the activities Based on order status change in the restaurant service the home delivery service makes a simple ETA. Go fix: Create a software design that will give an accurate ETA before completing the order. And if you can improve the delivery ETA at the same time that is even better! learnwardleymapping.com Landscape A map of physical terrain is visual, specific to the battle at hand, and includes the position of troops and obstacles relative to an anchor (magnetic North).

Slide 7

Slide 7 text

Home delivery Restaurant POS Payments Restaurant POS Home delivery restaurant system Takeout app @kenny_baas @[email protected] 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?

Slide 8

Slide 8 text

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: You design + build + run (STEWARDSHIP) solving business needs/problems with software-​ enriched services in a small, ~stable team of around ~5-9 people Stream-​aligned teams @kenny_baas @[email protected] 💡Stop managing dependencies start unblocking flow 💡You DESIGN it, you build it and you run it! @EvelynvanKelle 💡Teams are long lived, people in the teams do not necessarily

Slide 9

Slide 9 text

Sustainable design decisions are decisions that consider the sociotechnical impact of the alternatives. After designing and analysing the alternatives, you pick the one that gives you the best sociotechnical trade-​ off with the information that is available. You create a feedback loop into your design process to improve it along the way. Over time, you will find yourself making decisions in a similar way. This is when your decisions become sustainable. Complex Environment Sociotechnical System Structure (Organization) 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/ People (Cognitive & Social) Physical System (Hardware, Software, Facilities) Task (Work) @kenny_baas @[email protected] sociotechnical

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

Home delivery Takeout app Home delivery service Foundation Payments Restaurant POS Flow of change Cloud services Continuous delivery Payment provider Containerization Continuous delivery pipeline Xaas Xaas We do not consume google pay yet Google pay is consumed by the home delivery team @kenny_baas @[email protected] Legend / Key User Stream-​ aligned team Platform team Complicated Subsystem team Enabling team Collaboration Facilitating Xaas We want to pay with google pay in the restaurant 4 team types Restaurant service Delivery broker Restaurant Backoffice SPA Restaurant app Xaas Xaas Case 1: There is already google pay used by another team Xaas

Slide 12

Slide 12 text

Foundation Payments Restaurant POS Flow of change Cloud services Continuous delivery Payment service Restaurant service Delivery broker Containerization Continuous delivery pipeline Home delivery Takeout app Xaas @kenny_baas @[email protected] Legend / Key User Stream-​ aligned team Platform team Complicated Subsystem team Enabling team Collaboration Facilitating Xaas We want to pay with google pay in the restaurant Restaurant Backoffice SPA Restaurant app Home delivery service Case 2: There is no google pay yet! Xaas Xaas team interaction We want to go to x-​ as-​ a-​ service

Slide 13

Slide 13 text

Foundation New wish Payments Home delivery Restaurant POS Flow of change Cloud services Continuous delivery Xaas Xaas Containerization Continuous delivery pipeline @kenny_baas @[email protected] Legend / Key User Platform team Complicated Subsystem team Enabling team Collaboration Facilitating Xaas Teams have cognitive load! Restaurant service Delivery broker Restaurant Backoffice SPA Restaurant app Payment service Takeout app Home delivery service 💡This is the general way the teams are now collaborating Now map your design on the TT interactions of the teams and see what effect it has on your design! Xaas Xaas Xaas Note: We do not want stream-​ aligned team to preferably be in an x-​ as-​ a-​ service state, see: https://teamtopologies.com/key-​ concepts-​ content/team-​ interaction-​ modeling-​ with-​ team-​ topologies

Slide 14

Slide 14 text

Restaurant POS Architecture enabling Architecture enabling @kenny_baas @[email protected] Flow of change Home delivery app team Restaurant POS team Facilitating Facilitating Evolves to Evolves to Home delivery app team Restaurant POS team Facilitating Facilitating Stream-​ aligned team Enabling team Legend Data analytics team Complicated Subsystem team Collaboration Flow of change Home delivery app team Restaurant POS team Data analytics team Flow of change Home delivery app team Delivery Flow of change Facilitating Xaas @EvelynvanKelle Ordering Xaas

Slide 15

Slide 15 text

Check-​out @kenny_baas @[email protected] How useful did you find this hands-​on? Can apply it the next day Learned nothing Had no fun Really enjoyed

Slide 16

Slide 16 text

Check-​out @kenny_baas @[email protected] On a scale of disney, with what feeling are you going home?