What if we used our software modeling skills to build an explicit model for communication itself, using familiar software constructs as a metaphor?
in it's essence, Domain-Driven Design (DDD) is a philosophy and set of techniques for constructing a shared mental model of a system, and translating it into software. Ideally, we want conversations with other humans, and conversations with our code, to have the highest possible bandwidth. Every major problem in software development boils down to communication.
What if we enabled a dialog around the challenges, by first deconstructing the Anatomy of Communication itself using our same DDD techniques?
First, we'll start with a familiar system metaphor to give us the structure: a Network.
Imagine everyone on your team, and the software itself, are all connected by wires in a Network. Along each of these wires is a Flow of Ideas. Ideas can flow between humans, or between humans and the software. In the context of an Idea Flow Network, software is a medium for ideas.
From here, we can start to describe the dynamics of an Idea Flow Network in terms of Friction and Flow. We can invent new words, extend the models, and have dialogs about the nature of communication pain -- all with our newly invented Ubiquitous Language!
Let's combine our DDD skills with cognitive science research, to bring clarity and insight to this wordless space.