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

DDDEU2023 Keynote - Systems thinking in large-scale modeling

June 11, 2023

DDDEU2023 Keynote - Systems thinking in large-scale modeling

To understand and impact a large-scale environment (a team, an enterprise, a society), we need effective modeling. Over the years DDD has gained a visible foothold in software-centric corporate change agendas.

In my work as a DDD evangelist and sociotechnical architect in large organizations, I’ve lived and breathed DDD to decouple domains and systems, to kickoff greenfield initiatives, to deploy brownfield modernization, and to design reteaming using the Inverse Conway Maneuvre and Team Topologies.

All that hard work has brought me many a pat on the shoulder. But time after time I’ve been surprised by how I/we could make things worse by attempting to make things better. I’ve been frustrated to witness bubbly energy and DDD enthusiasm from event storming workshops and alike evaporate like a deflated balloon. Improvements remained temporary and local. New practices failed to gain widespread adoption. I have to admit with absolute candor that it is so very hard to make lasting impact with DDD, or whatever else technology or tooling du jour.

In this talk, I will share my observations through the systems thinking lens, of what happened in a large change initiative in a big bank, where DDD played a central role. You will hear examples of sociotechnical systems dynamics and episodes about shifting dominance of competing feedback loops. You will be invited to partake in a postmortem forensic of what could have happened, what unfortunately didn’t happen, and the many what-if’s of alternate realities, or pasts. For people new to systems thinking, a positive side benefit can be a sneak peak into systems modeling building blocks and systems archetypes.

As a community, we’ve come a long way modeling software-centric systems, thanks to practice like DDD, architecture and Team Topologies. But what about the runtime dynamics of large human systems in our working environment, especially when such systems are full of fixes that don’t work? As software professionals, can we just tell jokes about SAFe, about policy makers in our company who can copy the Spotify Model, but not paste it? Or should we give the usual shrug – “it’s the system’s fault”?

From a systems standpoint, we are part of the same mess. If we can become better at seeing and naming the elephants in the room, not as random events, but as systemic patterns described through a consistent systems language, then the current messy reality is no longer our enemy but our ally. It can become a generative force for us to identify leverage and sustain influence in large organizational spaces.

I hope this talk will spark interest in system dynamics modeling. It is a call to action for boundary spanners and design-oriented change agents to explore abstractions, heuristics, modeling and visualization techniques to articulate and reason about dynamic system behavior.

How can we architect shared experiences to surface mental models so they can be challenged, improved and no longer stand in the way of change? With the rising initiative fatigue in large enterprises, how do we collectively discover leverage points, design and deploy systemic interventions with long lasting impacts?


June 11, 2023

More Decks by xinyao

Other Decks in Design


  1. 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/
  2. A tale of transformation at a large bank Systems thinking

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

    basics System dynamics modeling System leverage
  4. 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
  5. 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
  6. The eventual consistency time span in a social system is

    much larger than that in an engineered system. Temporal and spatial systems modeling
  7. A tale of transformation at a large bank Systems thinking

    basics System dynamics modeling System leverage
  8. 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
  9. 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
  10. 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
  11. 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 + + + + + + - - - + + + + +
  12. 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
  13. 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
  14. 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
  15. 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 +
  16. 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
  17. 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
  18. A tale of transformation at a large bank Systems thinking

    basics System dynamics modeling System leverage
  19. 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
  20. 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
  21. 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
  22. 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
  23. React High leverage point: mental models events Trends Structures Mental

    models Anticipate Design Transform Credit: Systems Innovation Network
  24. 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
  25. Workshop retrospective You are too in love with your model

    :-). We don't see forest, only trees You=Me model=event storming
  26. 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
  27. 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?
  28. 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.
  29. To enable is to lead "Will you follow me?" Task-​

    oriented Skill-​ oriented Relationally oriented
  30. Undercover systems change with DDD DDD consultancy/ facilitation DDD output

    + + Reflective converations + Generative, adaptive capacity + + The ideal Present (or future?) "DDD change agent"
  31. Life is not a problem to be solved, but a

    reality to be experienced. ~ Søren Kierkegaard
  32. A tale of transformation in a large bank Systems basics

    Systems dynamics modeling Systems leverage What we've covered today