DDD Europe 2023 - Program

Systems thinking in large scale modeling

Main Conference - Talk



Xin Yao

Xin Yao

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, kickoff greenfield initiatives, deploy brownfield modernization, and 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 system 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. I also share experience reports of how thinking in systems helped me make sense of the anomalies and sustain influence. 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 some systems thinking building blocks and modeling techniques.

The second part of this talk will introduce a larger, societal scale example to illustrate the complexity in designing systemic interventions (aka. leverage points). We’ll take a step back and look at the financial system from its enclosing economic and sociopolitical context. We compare various patterns of systemic interventions and zoom in on the role of deeply embedded mental models (aka. culture) in wide-ranging change efforts.

To act in large scale systems, we need to not only think in terms of system structure, but also system behavior. As a community, we’ve come a long way modeling structural elements in software and human systems by way of architectural patterns and team topologies. Where I see a gap is when it comes to modeling the runtime behavioral algorithms and patterns of large scale sociotechnical systems. I hope this talk will spark interest in system dynamics modeling to tackle our era’s sociotechnical challenges.

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?

About Xin Yao

Xin is a sociotechnical architect, DDD evangelist and independent consultant. She believes that a product, domain and team-oriented architecture is the super glue to bind multiple agile teams navigating toward a common horizon.

She’s spearheaded large-scale change initiatives in boundary-spanning architect roles, weaving together strategy, products, teams, systems, domains into coherent models to guide progress and reduce stress. She architects collective experiences in scale-ups and enterprises to unravel complexity and discovery leverage points in software centric strategy deployment.

In sociotechnical environments where a team’s cognitive capacity is under constant stress, she practices domain-driven design and facilitates collaborative modeling to help teams and organizations make sense, make decisions and make intuitive business software.