Model the wrong boundaries in your systems and disaster is just around the corner waiting to tease your sanity. An excess of dependencies between modules will result in changes rippling across a fragile codebase, or small runtime errors in one service bringing the entire system crashing down. Modelling the wrong boundaries will test the patience of your teams, too. Every major piece of work will require expensive coordination with many other teams who all have different priorities and political agendas.
In this talk, you’ll learn practical techniques for identifying effective modularity in your software systems and enabling autonomous teams in your organisation, and you’ll see sociotechnical patterns based on real world examples from a variety of domains including government, digital media, and IoT systems. Along the way, you’ll learn about the theoretical concepts underpinning the techniques, touching on DDD, Systems Thinking, Promise Theory, Theory of Constraints, and more.