Strategic Autonomous Design Applied

Nick Tune & Zsófia Herendi 1-Day Workshop
Wed, Sept 12

Learn how to model a complex system and break it down into cohesive bounded contexts through hands-on group activities. This session will teach you skills you can immediately begin applying in your organisation to improve the autonomy of your software services and the teams that build and run them.

This session will involve modelling a complex domain with Event Storming and then applying strategic modelling heuristics to various scenarios involving a variety of challenging business, organisational, and technical goals and constraints.

It was an excellent session. The practical session was very useful as it forced us to think about the expressing different levels of the system in ways everyone could understand. I will be using this in the future to see if it helps our team.

-- Siso

Lots of curve balls will be thrown at you, and you’ll learn how to apply strategic modelling heuristics and find the best bounded contexts whatever the business goals, organisational realities and technical constraints may be. Along the way you will also learn about theoretical concepts, drawing on ideas from DDD, Systems Thinking, Promise Theory, Theory of Constraints, and more.

Learning Outcomes

With a blend of hands-on team activities, whole-classroom exercises, and just enough theoretical discussion, you will learn:

  • How to find architectural boundaries in software systems aligned with the domain and business strategy
  • How to design team boundaries to optimise evolution of the software system
  • How to co-design and co-evolve team and software boundaries aligned to changing business priorities and market expectations
  • How to apply different economical, political, and technical modelling heuristics to find the best boundaries, including:
    • Optimising for existing core domains
    • Balancing discovery of future core domains
    • Optimising end-to-flow in systems
    • Organising around social characteristics
    • Data cohesion and consistency
    • Linguistic boundaries
    • Isolating modules with heightened performance, security, scalability concerns
  • How to identify and apply structural sociotechnical architecture patterns including:
    • The Dog Food Context
    • The Octopus context
    • The Entity Lifecycle Pipeline
    • Enterprise Discovery Context
  • How to identify and apply evolutionary sociotechnical architecture patterns including:
    • Slice and Scale
    • Slice and Scatter
    • Slice and Merge
    • Business Model Unbundling
  • How to use event storming, context maps, and domain storytelling to model the boundaries in sociotechnical systems

I have only been able to be part of Nick’s and Zsofia’s workshop as an observer simply because of its popularity. Despite this, I have clearly seen the overwhelming level of energy and engagement. Being sparkled by facilitators, people went completely overboard and opened their mind to anything they could imagine, feeling free to find unexplored parts of humanity and challenge existing business models hardly. The level of satisfaction was very high, and I have clearly seen it by looking at people faces around me as the workshop closed with awesome demos.

-- Alexey Zimarev