The importance of “and”
One of my favorite books of all time is “Thinking in Systems: A Primer,” by Donella Meadows. I did a whole O’Reilly Software Architecture Conference talk on it. A memorable quote in the book is the following:
You think that because you understand “one” that you must therefore understand “two” because one and one make two. But you forget that you must also understand “and.”
Donella Meadows
This gets to the heart of the issue with many software diagrams when it comes to integration. Components in a system are often over-specified while the interactions between them are under-specified. Since “the greatest leverage in system architecting is at the interfaces” — another quote I beat to death — it is vital that we focus on the lines in our integration architecture diagrams, and not just the boxes. In my prior blog, I explore types and patterns of digital system interactions. Let’s revisit those interaction primitives, this time with a visual identifier for each. Here are the icons we can use to identify