Slide 1

Slide 1 text

Systems Thinking in Large-​Scale Modeling #Midjourney DDD Europe, June 2023

Slide 2

Slide 2 text

Contextualizing DDD & architecture in large change efforts Conversation facilitator Boundary spanner, connector Idea spreader, change maker About me 01 02 03 Xin Yao Independent consultant Lives in Copenhagen, Denmark Loves gardening, yoga, sci-​ fi, theater, good food, hanging out with friends and family @settling_mud [email protected] @[email protected] /in/xinxin/

Slide 3

Slide 3 text

A tale of transformation at a large bank Systems thinking basics System dynamics modeling System leverage What we will cover today

Slide 4

Slide 4 text

A tale of transformation at a large bank Systems thinking basics System dynamics modeling System leverage

Slide 5

Slide 5 text

Context: A large Nordic bank 3,5 m+ customers (B2C + B2B) 22,000+ employees 4,000+ in engineering (10 countries) +150 years old 2000+ IT systems

Slide 6

Slide 6 text

Organizations as sociotechnical systems Social systems (Complex) Engineered systems (Complicated) [software] [organization] The environment

Slide 7

Slide 7 text

The next great frontier is to understand human systems. ~Jay Forrester

Slide 8

Slide 8 text

Systems building blocks: feedbacks & delays Reinforcing loop Balancing loop Births Population + delay + Deaths + delay -

Slide 9

Slide 9 text

Nonlinearity: Cause and effect can be far apart in time and space linear cause & effect Non-​ linear feedback loop There’s a fundamental mismatch between the nature of reality in complex systems and our predominant ways of thinking about that reality. The first step is correcting that mismatch is to let go of the notion that cause and effect are close in time and space. ~Peter Senge now in one year

Slide 10

Slide 10 text

The eventual consistency time span in a social system is much larger than that in an engineered system. Temporal and spatial systems modeling

Slide 11

Slide 11 text

Graphic: Juliet Young Higher leverage at a different time, and place

Slide 12

Slide 12 text

A tale of transformation at a large bank Systems thinking basics System dynamics modeling System leverage

Slide 13

Slide 13 text

2020: Reorg & change initiative DDD & API evangelism Cloud & DevOps evangelism Agile coaching Decoupled & reusable APIs Software delivery speed Agility, autonomy + + + + Engineering maturity + + + + Enabling tribe Enabling tribe Enabling tribe Journey/Platform tribes Source: Henrik Kniberg & Anders Ivarsson delay delay delay

Slide 14

Slide 14 text

DDD reinforcing feedback loop Facilitated DDD workshops Eagerness to practice DDD Perceived value of DDD API delivery speed Domain modeling quality Domain understanding + + + + + + delay delay

Slide 15

Slide 15 text

Facilitated DDD workshops Eagerness to practice DDD Perceived value of DDD API delivery speed Domain modeling quality Domain understanding + + + + + + Availability of DDD enabling capacity Utilization of DDD enabling team Demand on DDD workshop facilitators + + + - DDD enabling capacity limits DDD "growth" Reinforcing loop Balancing loop

Slide 16

Slide 16 text

Pressure to increase WIP for DDD enabling team Pressure on DDD evangelists to rush domain discovery Premature convergence DDD enabling team attrition Stress & burn-​ out in DDD enabling team Idle API engineers in enabling team API specification velocity per domain Intervention makes matters worse Facilitated DDD workshops Eagerness to practice DDD Perceived value of DDD API delivery speed Domain modeling quality Domain understanding + + + + + + - - - + + + + +

Slide 17

Slide 17 text

System archetype: Limit to growth/success Source: William Braun - "The System Archetypes" Structure Trend

Slide 18

Slide 18 text

Systems vocabulary System variables Causal links Delays Feedback loops now in one year problem symptom Symptomatic solution Fundamental solution + - + - side effect + - nouns, verbs sentences, scenes Recurring plot lines System archetypes example

Slide 19

Slide 19 text

Why do we keep seeing the same problems recur over time? What leverage do we have in impacting the system's underlying structure? diagnostic use prospective use How do system archetypes help us • Limits to Growth (aka Limits to Success) • Shifting the Burden • Eroding Goals • Escalation • Success to the Successful • Tragedy of the Commons • Fixes that Fail • Growth and Underinvestment • Accidental Adversaries • Attractiveness Principle ... System archetypes

Slide 20

Slide 20 text

Domain-​ driven APIs Challenge to deliver DDD-​ enabled domain APIs Reliance on DDD enabling team + Perceived need to act on DDD skill gaps + Invested time to improve team's own DDD capacity + - + delay Alleviated resource shortage - - root cause Dependency High workload

Slide 21

Slide 21 text

System archetype: Shifting the burden Source: William Braun - "The System Archetypes" Structure Trend

Slide 22

Slide 22 text

Fast flow of change Value delivery rate + Team independence (X-​ as-​ a-​ service) + Stable platform APIs + + Changes in environment (e.g. regulatory requirements) Need for platform rethink (different boundaries?) Need for coordination across teams Risk to miss fast flow KPI (embarrassment) + + Pressure to find a workaround (no interface change) + Accidental complexity (Business debt) + + - Is "flow" a non-​ negotiable goal DDD to discover platform boundaries + Local optimization = negative externality KPI delay constraint = accidental complexity +

Slide 23

Slide 23 text

Slowing down growth gives the balancing loop with limits and delays, time to function ... The optimal rate in a system is far less than the fastest possible growth. ~Donella Meadows Optimizing the whole

Slide 24

Slide 24 text

What is Systems Thinking Interdependencies Living systems Many parts Synthetic holism Analytical reductionism Synthetic holism Analytical reductionism Graphics: Systems Innovation Network Mechanistic thinking Systems thinking

Slide 25

Slide 25 text

A tale of transformation at a large bank Systems thinking basics System dynamics modeling System leverage

Slide 26

Slide 26 text

How do fish explain the water they are in?

Slide 27

Slide 27 text

Systems dynamics modeling: Moving to higher levels of abstraction problem symptom Symptomatic solution Fundamental solution + - + - side effect + - now in one year Structures of which we are unaware hold us prisoner. We can only grasp a complex system through abstract modeling. Reality Models

Slide 28

Slide 28 text

Hurray! Now we can use systems dynamics modeling to understand and impact systems.

Slide 29

Slide 29 text

You are only seeing my view of the world My experiences My data selections My perspectives My assumptions My conclusions My beliefs "The optimist sees the doughnut, the pessimist sees the hole." ~ Oscar Wilde

Slide 30

Slide 30 text

You are not even seeing my view of the world

Slide 31

Slide 31 text

Systems understanding: The Iceberg Model Graphics: Academies For Systems Change API delivery speed = business value APIs in prod pr. month Systems archetype Our team delivered no API this month. Observable Hidden

Slide 32

Slide 32 text

Low leverage point: event-​ driven systems A system input output Event handler Gain achieved Pain relieved events Trends Structures Mental models Credit: Systems Innovation Network Event issue, problem, goal

Slide 33

Slide 33 text

React High leverage point: mental models events Trends Structures Mental models Anticipate Design Transform Credit: Systems Innovation Network

Slide 34

Slide 34 text

A transformation isn't an event. It's a progressive accumulation of habits. -​Andrew Clay Shafer

Slide 35

Slide 35 text

Culture (collective habits) for an organization is like personality for a person. Your energy to try to change it will tend to make it stronger. ~Peter Senge

Slide 36

Slide 36 text

My worst event storming workshop

Slide 37

Slide 37 text

Workshop retrospective You are too in love with your model :-). We don't see forest, only trees You=Me model=event storming

Slide 38

Slide 38 text

We perceive the world through our individual filters Source: Jeff Patton

Slide 39

Slide 39 text

Externalize our thinking visually "Make the implicit explicit" Source: Jeff Patton

Slide 40

Slide 40 text

Combine & refine - integrate perspectives Source: Jeff Patton

Slide 41

Slide 41 text

discussion Reflective conversation Credit: David Bohm, Peter Senge, Chris Argyris advocacy advocacy inquiry Here is how I see it. Here are the facts that support how I see it I know I don't see the whole picture, how do you see it? Here is what I think this data/episode means... Do you see it differently? Oh, that's a perspective I haven't considered Do you see gaps in my reasoning? Here is my view and here is how I arrived at it. dialogue

Slide 42

Slide 42 text

What is it about this situation, and about me or others, that is making open exchange difficult? The questions that got us unstuck What are you most passionate about contributing to in this domain? What is the future we dream of for this domain?

Slide 43

Slide 43 text

What happened after event storming Collective reflection Inquiry & advocacy

Slide 44

Slide 44 text

To DDD or not to DDD Q: Why do you still want to finish the DDD Workshop series? A: You were trying to convince us before. Now we are testing ideas together.

Slide 45

Slide 45 text

To enable is to lead "Will you follow me?" Task-​ oriented Skill-​ oriented Relationally oriented

Slide 46

Slide 46 text

Undercover systems change with DDD DDD consultancy/ facilitation DDD output + + Reflective converations + Generative, adaptive capacity + + The ideal Present (or future?) "DDD change agent"

Slide 47

Slide 47 text

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

Slide 48

Slide 48 text

A tale of transformation in a large bank Systems basics Systems dynamics modeling Systems leverage What we've covered today

Slide 49

Slide 49 text

Thank you @settling_mud [email protected] @[email protected] /in/xinxin/ Contact me if you need an undercover change agent :-)