Slide 1

Slide 1 text

Making Impact With Your Craft With Sociotechnical Design Xin Yao, Code/Crafts 2024, Vienna

Slide 2

Slide 2 text

Craft Impact

Slide 3

Slide 3 text

DDD & Architecture Consultancy DDD Output + + Sociotechnical design + Organizational learning capacity + Who is Xin? Undercover change agent through DDD and architecture Xin Yao @settling_mud [email protected] @[email protected] /in/xinxin/ delay + delay Independent consultant

Slide 4

Slide 4 text

I imagined a neat and tidy software career

Slide 5

Slide 5 text

Variables Algorithms

Slide 6

Slide 6 text

Software is logical, and "compiles" Right or wrong answer a mathematically provable range of optimized solutions or at least Deterministic solution

Slide 7

Slide 7 text

The universe is a giant clock. The laws of nature act like gears and springs, causing everything to move in a predictable and orderly way. -- Issac Newton (Not exactly, but kinda the exact words)

Slide 8

Slide 8 text

My first real-​ life software project Fixed price software delivery in a consultant team Thorough requirement spec from client Client analysts answering our queries, mostly by email Software architecture blueprint upfront Waterfall - Project lead had regular checkin with client Great team - we delivered on time! Domain: insurance workflow

Slide 9

Slide 9 text

We applied design patterns

Slide 10

Slide 10 text

Single Responsibility Principle Open/Closed Principle Liskov Substitution Principle Interface Segregation Principle Dependency Inversion Principle Image Credit: Robert Ecker We applied SOLID principles

Slide 11

Slide 11 text

But, our software never made it to the users

Slide 12

Slide 12 text

The client's analysts misunderstood (and oversimplified) core user needs. We made the wrong interpretation of the client analysts' email response to our questions. The client's business sponsor didn't align with the parent company about starting the project. No one told us a mandatory frontend framework had to be used. Rewrite considered too costly. Project X dropped, shelved, and forgotten. We (the consultant team) got paid well. We got praised for on-​ time delivery. Lots of tech learning and experiences, so why are we not feeling happy? So what was the rub

Slide 13

Slide 13 text

Design cannot happen in a closed system My existential conundrum Long way from neat and tidy to useful software <> "giant clock"

Slide 14

Slide 14 text

Impactful software systems Req., code, test, deploy, run Scientific modeling Technical Complexity First cross over the bridge Software-​ Centric Craft

Slide 15

Slide 15 text

How do I increase my odds of understanding, and impacting the "larger" decisions around software? Architect Developer Career crossroad - context & systems awareness Software swims in a system of systems

Slide 16

Slide 16 text

Social Subsystem Concerned with social relations (teams, knowledge networks), reward systems, authority structures, behavioral patterns, culture. Whole Work (System of Systems) Technical Subsystem Concerned with physical systems (hardware, software, technology) as well as mechanisms (e.g. tasks and processes) to transform inputs to outputs. Joint Optimization External Subsystem Concerned with the outside environment (users, customers, partners, stakeholders, society) with which an organization interacts and seeks value exchange with through its product and services. Sociotechnical System Context & Systems awareness Illustration credit: Militello et. al.

Slide 17

Slide 17 text

One biggest challenge in software development is communication issues between IT people and business people, and between IT people and managers. Software craft is a relational activity individual craft Collective craft -- Vladik Knononov

Slide 18

Slide 18 text

Human communication is constrained by language "No Borg hive mind"

Slide 19

Slide 19 text

Credit: Henrik Kniberg (Adapted) Developer User Info hand-​ offs/ Decision relays Time (Delay in feedback) Many hops before knowledge or decision reaches its final destination

Slide 20

Slide 20 text

Product language Design language First team's code language Product manager UX / Architect Engineering "Telephone game" Confused language enters software and hurts its maintainability Another team's code language Engineering Management language Management

Slide 21

Slide 21 text

Ubiquitous Attention to Language (UL) [Sociotechnical pattern from DDD] Test Software for a complex domain requires all involved to have a deep, shared understanding of the domain.

Slide 22

Slide 22 text

Visual Collaborative Modeling [Sociotechnical pattern from DDD] See the forest and the trees

Slide 23

Slide 23 text

Language Languaging Knowledge transfer Knowledge processing Change the itinerary of knowledge from language to languaging [Sociotechnical pattern from complexity theory] Credit: Humberto Maturana

Slide 24

Slide 24 text

Who work and create value together? Who else do we need to align understanding with? DDD DDD is a sociotechnical craft Credit: Paul Rayner, Eric Evans What software are we building? Why are we building it? How do we build and connect software - for long-​ term changeability? Strategic Design Tactical design Visual Collaborative Modeling (models) (models) Ubiquitous (attention to) Language

Slide 25

Slide 25 text

DDD Process DDD is used as methods and/or process Methods Principles, Patterns, Practices Facilitate change & communication (design discipline) Domain-​ driven discovery is sometimes employed as a process model in change initiatives www.infoq.com Start Your Architecture Modernization with Domain-Driven Discovery Successful projects start with robust discovery. What if your project is modernizing your tangled old legacy system or migrating all your workloads to the cloud? This article presents a guided approach to starting your next architecture modernization pr…

Slide 26

Slide 26 text

A DDD workshop series Strategic Design (models) Tactical design (models) Visual Collaborative Modeling Problem space Solution space

Slide 27

Slide 27 text

Impactful software Req., code, test, deploy, run Scientific modeling Second cross over the bridge "The 1st sociotechnical chasm" Collaborative languaging & modeling Context & Systems awareness Software-​ Centric Craft Technical Complexity Social Complexity

Slide 28

Slide 28 text

How do we survive thrive with complex organizations & calcified legacy systems Software industry matures Every business is a software business Aging companies with aging software Compounding sociotechnical complexity

Slide 29

Slide 29 text

How do we "move a couch" within a complex organization? Credit: Gene Kim & John Cutler Gene Steve

Slide 30

Slide 30 text

A true "moving the couch" story involving 26 teams, deeply nested API call chains & event choreography [Anno 2022]

Slide 31

Slide 31 text

A leadership framework for wiring the social system circuitry

Slide 32

Slide 32 text

Social Subsystem Concerned with social relations (teams, knowledge networks), reward systems, authority structures, behavioral patterns, culture. Whole Work (System of Systems) Technical Subsystem Concerned with physical systems (hardware, software, technology) as well as mechanisms (e.g. tasks and processes) to transform inputs to outputs. Joint Optimization External Subsystem Concerned with the outside environment (users, customers, partners, stakeholders, society) with which an organization interacts and seeks value exchange with through its product and services. Sociotechnical System An area engineers don't want to be bothered with

Slide 33

Slide 33 text

How is all this social buzz relevant for me as an engineer? Aren't all big companies in similar waters? I enjoy ranting about it at water coolers.

Slide 34

Slide 34 text

Disengagement persists among employees world-​ wide www.gallup.com Indicator: Employee Engagement Employee engagement is the involvement and enthusiasm of employees in both their work and workplace. www.gallup.com Announcing the 2024 Gallup Exceptional Workplace Award Winners Gallup celebrates 60 winning organizations that maintained highly engaged workplace cultures while adapting to the challenges of 2023.

Slide 35

Slide 35 text

1994 intrinsic motivation

Slide 36

Slide 36 text

Human beings are motivated not by survival, but also by the aspirations to reach our full potential. Surrounded by complexity, we have directed our motivation toward "making things less bad" rather than "creating great things" we care deeply about.

Slide 37

Slide 37 text

YOU CAN'T FIX WHAT YOU CAN'T SEE

Slide 38

Slide 38 text

Org chart A social system's runtime behavior Jesper There have been 10+ reorgs in my tenure here. But it's always the same people you need to know to pool knowledge together and get stuff done. That's my knowledge network. "Mainframe specialist in a big bank" (+roadmap, plans, backlogs)

Slide 39

Slide 39 text

Credit: Jim Benson See the whole system Tactical info Strategic Info Cultural Info what is going on? what needs attention now? Where are we going? Where is my place in the story? How is my team a team? What does good look like? What is meaningful for me? (Agency) Example: 7 Elements of Visual Management Purposeful models Software-​ centric design Discoveries Decisions Shared understanding State Triggers Visualized work Direction Narrative Culture Professionalism Identity Emergencies Action Improvement Opportunity Discovery need Shared work Complex work Current WIP Who is working Who is collaborating What is ready for release What is stuck How is our psychological flow Strategy Plans & Backlogs Upcoming work options Onboarding Upskilling Team identity Interaction & meetings Human repair Social contracts Improvement Correction Learning Quality Who am I and what are my values? How is work meaningful? How is work developmental? Agency Spheres of influence Affordance Visualizing work as a social architecture (UI layer) (Business layer) (Infrastructure layer)

Slide 40

Slide 40 text

Share the whole system Credit: Milestone Systems, Systems Architecture Team Team daily stand-​ up prompts what is going on? what needs attention now? Where are we going? Where is my place in the story? How is my team a team? What does good look like? What is meaningful for me? (Agency) Example: 7 Elements of Visual Management Purposeful models Software-​ centric design Discoveries Decisions Shared understanding Tactical Cultural Strategic

Slide 41

Slide 41 text

Pervasive but non-​ invasive visual prompts See & discuss essential elements of work A visual feedback loop provide space to (+) Calm, profession, non-​ stressful way of working enables (+) Reveal gaps for improvement & learning increases psychological safety to (+) motivates the use of (+) "You can't fix what you can't see"

Slide 42

Slide 42 text

Prompts for dialog Roadmaps Backlogs Plans Dailys Meetings Workshops Design artifacts, events, processes as

Slide 43

Slide 43 text

... is a systemic and participatory co-​ design approach to jointly optimize the technical systems (including but not limited to software) and human systems (including but not limited to users & teams) to improve the thriving of both. Sociotechnical design & architecture

Slide 44

Slide 44 text

... is taking a languaging & modeling approach to visualize and share our “whole work” as a system of systems, to build software and build ourselves as purposeful and improvable sociotechnical systems. Sociotechnical design & architecture

Slide 45

Slide 45 text

In-​ the-​ moment leadership How do you change the world? One room at a time. Which room? The one you're in. ~ Peter Block

Slide 46

Slide 46 text

Autonomy Mastery Purpose Intrinsic motivation Impact with our craft Credit: Daniel Pink Make impact with our craft

Slide 47

Slide 47 text

Autonomy Mastery Purpose Intrinsic motivation Systemic changes Credit: Daniel Pink, Jabe Bloom Agency Do I feel the freedom and joy to take actions that contribute to the well-​ being of the whole system Make systemic impact with our craft ... even when that action means giving up some local autonomy?

Slide 48

Slide 48 text

Joy in work comes from understanding why your work is important. -- W. Edwards Deming

Slide 49

Slide 49 text

Lead with the WHY, not the WAY Architect for value coherence Credit: John Cutler

Slide 50

Slide 50 text

Credit: John Cutler A shared and deeper understanding of the "WHY"

Slide 51

Slide 51 text

Impactful software systems Req., code, test, deploy, run Scientific modeling Another cross over the bridge "The 2nd sociotechnical chasm" Collaborative languaging & modelilng Context & systems awareness Software-​ Centric Craft Software-​ Centric Craft Model work as purposeful systems Social Relational Craft Listening and reflective conversation skills Impactful human systems "The 1st sociotechnical chasm" Impactful whole work

Slide 52

Slide 52 text

"Software development is a learning process, working code is a side effect". -Alberto Brandolini A learning and developmental journey

Slide 53

Slide 53 text

What is needed in sociotechnical systems changes technological sophistication human sophistication modeling analysis simulation visualization synthesis categorization advocacy agency listening inquiry sociotechnical design emotional intelligence systems thinking system dynamics modeling technological advancements architecture institutional learning systems leadership productivity mental models constraints modeling affordance

Slide 54

Slide 54 text

Thank you [email protected] @[email protected] /in/xinxin/ @settling_mud