Slide 1

Slide 1 text

Sociotechnical design - experiencing questions as humans before solving problems with software Xin Yao, OOP 2025, Munich Image credit: Jacqui Read

Slide 2

Slide 2 text

Credit: Dave Snowden (Cynefin) How do we talk about different shades of complexity?

Slide 3

Slide 3 text

Complex is not the same as Complicated A B C A B C D System properties are causal, predictable Complexity in Relations Complication in Parts System properties are emergent, unpredictable A B C D E x not part of system before disappeared relation emergent relation Cause -> Effect A B C Complicated Complex Emergence unintended change in relation Credit: Dave Snowden (Cynefin) new element new relation unintended change in element

Slide 4

Slide 4 text

A B C A B C D System properties are causal, predictable Complexity in Relations Complication in Parts System properties are emergent, unpredictable A B C D E x disappeared relation emergent relation Cause -> Effect A B C Complicated Complex Emergence unintended change in relation Credit: Dave Snowden, Cynefin new element new relation unintended change in element Ferrari vs. Brazilian rain forest not part of system before

Slide 5

Slide 5 text

Is a software system more of a complex or complicated system?

Slide 6

Slide 6 text

Work is a social system with technical subsystems as parts Social systems (Complex) Technical systems (Complicated/Liminal*) [software] [organization] Business environment (Complex) *liminal: in between complex and complicated (credit: Dave Snowden) [Open Sociotechnical System]

Slide 7

Slide 7 text

Decouple and Connect the paradox in large-​ scale software development

Slide 8

Slide 8 text

Software Order Kitchen Delivery Org Sociotechnical complexity in software work Order Kitchen Delivery Business Order Kitchen Delivery Social complexity Technical complication Decouple AND Connect

Slide 9

Slide 9 text

Business Order Kitchen Delivery Software Order Kitchen Delivery DDD's design goal is the quality of technical systems DDD problem space DDD solution space Org Order Kitchen Delivery In DDD, organizational complexity is addressed by Context Mapping patterns and Collaborative Modeling (CoMo) practices, as a support for producing software. Domain-​ driven complexity tackling - align software models with business language, rigorously (UL*, BC*) m eans to an end (Quality = Useful & Maintainable) UL: Ubiquitous Language BC: Bounded Context Social complexity Technical complication Sociotechnical complexity

Slide 10

Slide 10 text

Are organizations working with software more like complex or complicated systems?

Slide 11

Slide 11 text

Are organizations working with software often managed as complex or complicated systems?

Slide 12

Slide 12 text

Most of us acknowledge that social systems are more complex, uncertain and unpredictable ... Complex is not the same as Complicated

Slide 13

Slide 13 text

(Example: governance process in a corporate change initiative) Our default social intervention mode is analytical divide-​ and-​ conquer

Slide 14

Slide 14 text

The traits of complexity are anxiety inducing. Our human brain is hard-​ wired to fear the uncertain, unpredictable, uncontrollable, ambiguous. It hurts to think of our work as a Brazilian rain forest a randomly evolving mess of emergent relations that keep changing

Slide 15

Slide 15 text

We would rather treat organizations as complicated systems - many moving parts and relations, but manageable, plannable, controllable. We are drawn to solutions that promise to divide-​ and-​ conquer human communication as decomposable software APIs. We wish our organizations were complicated Ferraris

Slide 16

Slide 16 text

Planning and process - a collective defense against our existential anxiety about uncertainty No one loves big, hairy plans. But, reality gets more complex & uncertain - inducing stress We need plans to break down big problems into manageable parts We cannot step into the future without a plan ... and processes to align the many moving parts, people and tasks Plans & processes make us feel safer, in control, on the same page Credit: Steve Hearsum

Slide 17

Slide 17 text

We identify with our "role" and feel alienated playing our "part" at the same time The planning roles The executing roles (Example: governance process in a corporate change initiative)

Slide 18

Slide 18 text

Downgrade social complexity to technical complication? Large-​ scale Agile practice Sociotechnical mirroring Agile frameworks Inverse Conway Spotify model Learned helplessness Skepticism Unknowability A big divide Pessimism Dehumanizing Lack of agency Reorg Transformation initiative

Slide 19

Slide 19 text

See the forest and the trees Complexity discovery with collaborative modeling (CoMo)

Slide 20

Slide 20 text

Everybody wants this Bounded Context Bounded Context Bounded Context Bounded Context Bounded Context Bounded Context

Slide 21

Slide 21 text

In reality, you often get this

Slide 22

Slide 22 text

Premature convergence Bounded Context Bounded Context Bounded Context Bounded Context Bounded Context Bounded Context Bounded Context Bounded Context Bounded Context Bounded Context Bounded Context

Slide 23

Slide 23 text

In the context of architecture modernization (aka. splitting the monolith)

Slide 24

Slide 24 text

Component A Component B DoThis (a, b, c, d) Process 1 Service A Process 1 Process 2 Service B DoThis (a, b, c, d) Monolith (Micro)Services Properly decoupled?

Slide 25

Slide 25 text

We cannot find optimal software boundaries with in a complex domain with ever-​ changing business logic just Confession of a DDD consultant

Slide 26

Slide 26 text

What led us to prematurely converge on superficial boundaries? What kept us from the deep conversations about logical coupling ... and about the underlying social boundaries and power distribution? How did discovery workshops become legitimate containers for fixed outcomes?

Slide 27

Slide 27 text

We need to be more complexity fit In sociotechnical design It's hard to survive in the jungle if you are trained in a zoo. - Sonja Blignaut

Slide 28

Slide 28 text

Predictive planning & forecast Process-​first (scaling frameworks, certifications...) Adaptive planning People-​first interaction & collaboration Agile values Agile reality Credit: Martin Fowler Social systems: overcomplicated and undercomplexified Humane Freedom Agency Dehumanizing Limiting Disempowering Over-​ complicated Under-​ complexified

Slide 29

Slide 29 text

What is the goal of social design? (Organizational design & development - OD&D) Social system design is a means to an end Social system's well-​ being is a design goal in itself to be adapted to  the optimization of the technical system and business needs to be jointly optimized with technical systems and business needs Option 1 Option 2

Slide 30

Slide 30 text

Our culture has generally tended to solve its problems without experiencing its questions. ~Jacob Needleman Complexify: Experiencing questions

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

Component A Component B DoThis (a, b, c, d) Process 1 Component A Process 1 Process 2 Component B DoThis (a, b, c, d) Monolith (Micro)Services What questions can set us free Have we discussed the social and technical implications of passing data around? ... and set our software free from logical coupling & social coupling?

Slide 33

Slide 33 text

Experiencing questions before solving problems What matters to me? What's my place in the story? What doubts do I have? What's the price I am willing to pay? Meaningful Belonging Inviting dissent Challenging If you can't say no, your yes has no meaning. - Peter Block Good questions are personal, emotional, relational and open-​ ended Credit: Jacob Needleman, Peter Block, the Socratic Questioning in Psychology

Slide 34

Slide 34 text

Architecture Enabling Team - Daily Stand-​ up Prompts Credit: Milestone Systems, Systems Architecture Team Reflective Conversations

Slide 35

Slide 35 text

Conversation is a dance of languaging and emotioning. What I say in an open conversation, is an invitation to participate with the other(s) in a domain of experiential coherence. Conversations complexify through languaging and emotioning

Slide 36

Slide 36 text

The system changes itself in open, reflective conversations * I am contextually informed * I feel seen, heard and understood * I feel connected with others in co-​ creation * I feel powerful making my contributions to the whole Experiential Coherence (Social experience of coherence) (Mental positions become changeable in the moment) Credit: Humberto Maturana, Peter Senge, Alicia Juarrero

Slide 37

Slide 37 text

1. Enabling constraint 2. Constitutive constraint 3. Governing constraint multiply realized system-​ wide social architecture (preferential relations) (experiential coherence) (A generative, bottom-​ up experiment) Social design through constraints framework Credit: Alicia Juarrero sociotechnical patterns Example: Catalyst (like participatory discovery, visualizing, languaging, modeling, reflective conversation, scaffolding), Feedback loops.

Slide 38

Slide 38 text

[Enabling Constraint] Inquiry-​ driven architecture Enabling constraints are like and unlike interfaces (Model probability, not causality) Local realization multiply realizable Local realization The lines denote conditional probabilities, not causality. (Experiments with variability) (Experiments with variability) Credit: Alicia Juarrero (languaging, modeling, emotioning, skillful questions & discussions) Invitation, not persuasion

Slide 39

Slide 39 text

constraints framework stability variability coherence predictability unpredictability Social system: the leverage is in the paradoxes (predictably unpredictable or unpredictably predictable) Credit: Alicia Juarrero, Ralph Stacey

Slide 40

Slide 40 text

DDD & architecture consultancy DDD Output + Reflective conversations + Collective change capacity + [A little about me] Change Smuggler, through DDD and architecture Xin Yao [email protected] @[email protected] /in/xinxin/ delay + delay Independent consultant delay Software quality & changeability + delay + Technical improvement Social improvement DDD + @settling-​ mud.bsky.social

Slide 41

Slide 41 text

The question that got me into the smuggling business How do I work with a client who has a different orientation? client's perception consultant's perception

Slide 42

Slide 42 text

Why smuggle? It makes me feel less vulnerable in a Ferrari environment DDD "process consultant" "process architect"

Slide 43

Slide 43 text

DDD Process DDD as a process to start & anchor conversations Methods Principles, Patterns, Practices Facilitate change & communication (design discipline) Domain-​ driven discovery is sometimes employed as a process model in change initiatives

Slide 44

Slide 44 text

No content

Slide 45

Slide 45 text

Why smuggle? I am classically trained in the zoo, I think like a zooster It's hard to survive in the jungle if you are trained in a zoo. - Sonja Blignaut

Slide 46

Slide 46 text

I lack jungle skills myself It's hard to survive in the jungle if you are trained in a zoo. - Sonja Blignaut Any gym here to do reps for jungle fitness?

Slide 47

Slide 47 text

Safe-​ to-​ fail change probes as Trojan Mice in tech-​ fueled social systems "Trojan Mice" https://whatsthepont.blog/2020/02/09/trojan-​mice-​in-900-​seconds/ [Sociotechnical change pattern]

Slide 48

Slide 48 text

Smuggle small Trojan Mice inside a big Trojan Horse Large change program Small social change experiments [Sociotechnical change pattern] The original model The new model

Slide 49

Slide 49 text

½ [Sociotechnical Enabling Constraint] Anchor sense making in technical problem solving Cold Disagree Retrospective - Discovery Sprint ABC BED NAS Always Be Communicating Be Equally Different Not Always So WORKING AGREEMENT MOVE Build on each others moves How good have we been at our working agreements? Please place one dot on each scale. Cold Disagree Cold Disagree Cold Disagree Cold Disagree Cold Disagree ABC BED BED NAS NAS MOVE Agree Hot Agree Hot Agree Hot Agree Hot Agree Hot Agree Hot "I feel we have lived up to the value of ABC (Always Be Communicating)" "I feel we've been good at giving voices to our differences, no one was left behind." "I am satisfied with how and what I contributed during the past 2 weeks." "I feel I have been good at detaching myself from my favourite models." "I had to kill a few of my darlings during this workshop - I went with the flow." "I believe we as a group we are good at building on each other's moves." Practice a complexity fit language

Slide 50

Slide 50 text

Experience design is a core sociotechnical skill ... and it is learnable www.whenandhowstudios.com When & How Studios - Where your 'what' finds its way When & How Studios partners with organizations, teams, and individuals to help them further engagement and make an impact on what matters most. We do that by supporting the design and delivery of intentional, impactful meeting, group work, and event exp… Credit: Dan Young and Mike Rozinsky

Slide 51

Slide 51 text

[An architecture modernization initiative] Split the software Merge the people Connect the business Delight the User Workshop design = conversational architecture Decouple AND Connect Credit: Alberto Brandolini

Slide 52

Slide 52 text

Life is not a problem to be solved, but a reality to be experienced. ~ Søren Kierkegaard

Slide 53

Slide 53 text

Thinking together (problem solving) Being together (reality experiencing) Staying with complexity Models, methods, practices, intellectual, analytical, rational The complexity of our time requires our full humanity Messiness, multiple truths, delays, absurdities uncertainty, anxiety, fear, doubt The rational man is not the highest being on the evolutionary ladder

Slide 54

Slide 54 text

Uncertainty is a super power, incoherence an opportunity The Bear, Season 3, 2022 Carmy at Chef Terry's "retirement" party: "What would you tell yourself, you know, when you were where I am?"

Slide 55

Slide 55 text

In this talk, we muddled through these sociotechnical topics Sociotechnical complexity complex vs. complicated embedded sociotechnical model complexity fitness problem space of social design existential paradoxes sociotechnical design goal Sociotechnical patterns decouple & connect collaborative modeling logical coupling social coupling experiencing questions undiscussables constraints framework languaging & emotioning Sociotechnical change practice safe-​ to-​ fail social experiments change smuggling Trojan Mice thinking together & being together experience design celebrate uncertainty complexity awareness complexity fitness complexity fitness

Slide 56

Slide 56 text

Crafting software can be developmental and reparative Maybe software design and modeling is just an excuse to experience important questions, no one has time for otherwise. Maybe software development (in all its complexity and yearning for agility) is just an excuse for humans to find our way back to each other. Working together with complex software in complex organizations, gives us a valid context to rediscover our agility and humanity. [Final reflection]

Slide 57

Slide 57 text

Thank you [email protected] @[email protected] /in/xinxin/ @settling-​ mud.bsky.social