Laws of Software Engineering · Pattern
Pattern
Conway's Law
The shape of your software ends up matching the shape of how your teams talk to each other.
How to use it. If you want loosely connected services, build loosely connected teams first. Design the organisation for the architecture you want.
How it gets misused. Used as fate. You can act on Conway, but only by changing the organisation before the architecture.
Related
-
Pattern Team Topologies Four kinds of team (working on a stream of value, building a platform, helping others, or owning something complicated). Three ways teams can interact (working together, providing a service, or helping someone learn).
- Principle Sociotechnical Systems Work systems have a technical subsystem and a social subsystem. Both must be designed together. Optimising one without the other produces worse outcomes than balancing both.
-
Principle Cognitive Load The mental effort needed to understand or change a system. There is a fixed budget per person and per team.
Clusters
- The Team Design cluster - How to organise people for software work.