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

[OOP 2025] Sociotechnical design - Experiencing...

xinyao
February 06, 2025
10

[OOP 2025] Sociotechnical design - Experiencing questions as humans before solving problems with software

Our work with software is a system of systems, comprising technical systems (software, hardware...) and social systems (users, business, teams...). For decades, our primary focus has been on the quality of technical systems. Social capacity (agile, kanban ...) is often perceived as a support for producing software, a means to an end.

When complicated software systems take on more complex traits in a sociotechnical entanglement, software design need to be evolved from a craft of mechanistic engineering to an art of facing a complex reality together, collaboratively and conversationally. Software systems and human systems can both thrive better by cultivating more complexity awareness.

Xin will share experiences and reflections from her personal journey as a developer, a sociotechnical architect and in post-Covid years as an independent consultant, often in the role of leading large-scale architecture modernization efforts.

You will peak into a kaleidoscope of multi-dimensional sociotechnical practices including agile, domain-driven design(DDD), collaborative modeling (CoMo), sociotechnical systems, systems thinking, complexity theory, constraints framework and existential philosophy.

You might even take away a few tricks about how to smuggle complexity awareness and social change practices as Trojan Mice, into linear thinking organizations. And get curious to try them in your own context!

xinyao

February 06, 2025
Tweet

Transcript

  1. Sociotechnical design - experiencing questions as humans before solving problems

    with software Xin Yao, OOP 2025, Munich Image credit: Jacqui Read
  2. 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
  3. 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
  4. 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]
  5. Software Order Kitchen Delivery Org Sociotechnical complexity in software work

    Order Kitchen Delivery Business Order Kitchen Delivery Social complexity Technical complication Decouple AND Connect
  6. 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
  7. Most of us acknowledge that social systems are more complex,

    uncertain and unpredictable ... Complex is not the same as Complicated
  8. (Example: governance process in a corporate change initiative) Our default

    social intervention mode is analytical divide-​ and-​ conquer
  9. 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
  10. 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
  11. 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
  12. 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)
  13. 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
  14. Premature convergence Bounded Context Bounded Context Bounded Context Bounded Context

    Bounded Context Bounded Context Bounded Context Bounded Context Bounded Context Bounded Context Bounded Context
  15. 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?
  16. We cannot find optimal software boundaries with in a complex

    domain with ever-​ changing business logic just Confession of a DDD consultant
  17. 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?
  18. 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
  19. 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
  20. 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
  21. Our culture has generally tended to solve its problems without

    experiencing its questions. ~Jacob Needleman Complexify: Experiencing questions
  22. 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?
  23. 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
  24. Architecture Enabling Team - Daily Stand-​ up Prompts Credit: Milestone

    Systems, Systems Architecture Team Reflective Conversations
  25. 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
  26. 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
  27. 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.
  28. [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
  29. 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
  30. 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
  31. 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
  32. Why smuggle? It makes me feel less vulnerable in a

    Ferrari environment DDD "process consultant" "process architect"
  33. 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
  34. 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
  35. 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?
  36. 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]
  37. 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
  38. ½ [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
  39. 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
  40. [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
  41. Life is not a problem to be solved, but a

    reality to be experienced. ~ Søren Kierkegaard
  42. 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
  43. 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?"
  44. 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
  45. 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]