Domain Architecture Isomorphism and the Inverse Conway Manouevre
Most of us have heard of Conway’s Law: ‘Organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations’. Once you accept that systems end up reflecting the structure of the teams that create them, it’s clear why many software projects don’t go according to plan. Your architect says you’ll use an API instead of direct database access - but then you sit your developers next to your DBA and give them a deadline; what do you think happens to your API? Or you have a DBA in London working with an app developer in Prague and a web team in Kyiv, and then wonder why your system’s communication layers are causing performance problems…
In this talk, we’ll look at communication structures and how those structures affect the outcome of the systems you’re building. We’ll discuss how to apply design patterns to your teams as well as your code, and how to sell the idea to your boss before you start moving desks around.
Other talks by Dylan Beattie