Domain-Driven Architecture at Scale
At Danske Bank, we’re dealing with cross-team, cross-domain, cross-system change initiatives. It’s a complex sociotechnical environment, and we need large-scale structures to understand the big picture.
How can we scale these models to give direction and set boundaries, while leaving room for local design autonomy? How can we disseminate multiple models at multiple scales? How do we keep them supple enough to bend at places that need bending? And how can we help teams navigate the mess between the strategy floor and the engine room?
We made a lot of headway bringing strategy closer to the engine room. But not everyone of every team can be part of ideation, strategy, and design. Many developers who write customer-facing production code will not receive the “why” first hand.
We set up collaborative experiments to facilitate decision understanding, decision feedback, and decision re-making. We probed architectural models at scale with minimal conceptual contours, capable of being fleshed out by decentralised design decisions. To deal with constant change, we looked for opportunities to refactor at the architectural level.
The talk will share field examples of practising domain-driven architecture. It illustrates how domain-driven architecture can be cross-pollinated by inspirations from product management, UX design, complexity, and organization theories.
It’s a call to action for architects and systems thinkers to become acute listeners of languages in contexts and deliberate feedback loop designers, to interact with complexity for sensing and understanding, to play with safe-to-fail experiments, and to embrace the learning and growth that only happens outside our comfort zone.
- About Xin Yao
Chief Software Architect @Danske Bank
Xin is a sociotechnical architect at Danske Bank. She believes that a product, domain and team-oriented architecture is the super glue to bind multiple agile teams navigating toward a common horizon. In her organization’s recently Spotified landscape where a team’s cognitive capacity is under constant stress, she practices domain-driven design and facilitates collaborative modeling to help teams make sense, make decisions and make intuitive business software.