The Appropriate Level of Analysis
The idea of emergence states that any system can have properties at some scope of analysis that are not predictable from properties that exist at a different scope. These properties are said to be emergent.
One example might be the properties of water. To start, you could investigate a single water molecule. At this scope you can understand what a water molecule is made of. You can find it consists of two hydrogen atoms bonded with an oxygen atom. You may even deduce that due to the distribution of electrons, the molecule is polar. However, from these facts alone you would be unable to foresee that at a broader scope, when many of these molecules are placed next to each other, they form a liquid at room temperature. These properties are consistent with the idea of the water molecule as H2O, but you could not deduce them from your knowledge of the water molecules alone.
If this kind of analysis was possible, then we could take all of the facts about a single hydrogen atom and from it predict all of the complexity of the world that we see around us.
When we take emergence like this seriously it can offer us new possibilities for research and understanding the world. For example: historically the study of vision has focussed on light reflecting off atoms, the machinery of the eye that interfaces with these reflections, and the "processing" of the brain that generates perceptions from this data. At the particular scope that each of these disparate enquiries takes place, this seems appropriate. However, as a whole these facts have been unable to satisfyingly predict how human perception actually occurs. How do you actually *see* motion? The best attempt usually involves some handwaving to say that the eye recreates an image like a camera and the brain "processes" that image like a very complicated computer neural network that identifies cat photos. Our computers and cameras actually do work this way, but there is no real reason, apart from some basic mechanical resemblances, to assume that this relates to human vision.
Rather than scoping down to these sub-units, it may make more sense to scope out to include all of them at once. One approach suggested by James J. Gibson would be to understand the basic components of the actionable world, what these components mean to us, and how that meaning becomes available as information. In other words, we can try to understand the environment that vision evolved to see, rather than the physics that that environment is composed of and the mechanics of the structures that interact with that physics.
With this approach Gibson lays out a new theory of visual perception. This theory has many facets but to give one example: during the day the world around us is illuminated. There is light coming from all directions in varying intensities. As soon as we start to move, even the slightest amount, certain parts of our field of vision will have the light intensity change while others will stay the same. This tell us that those invariant elements are just that - stable. As a result we obtain real information which we could not have deduced from the properties of photons and retinas alone: that there are objects in our way.
Ultimately, the concept of emergence implies that for every endeavour there is an appropriate scope of analysis that will yield theories with the most descriptive power for understanding the world. Understanding this has important implications for all aspects of our search for knowledge. On a personal level however it also has implications for how our own day-to-day experience. Once we accept the proposition that there are things that have an epistemic and ontological reality only at certain scopes we can be open to accepting aspects of our personal experience without resorting to an inappropriate language of reductionism. This can be a powerful medicine against the harms of doubt and confusion.
Software Architecture as a Shared Mental Model
Anyone who has worked as part of a team building software has had the experience of sitting in a room looking at a whiteboard drawing lines between boxes and arguing over the best way to represent what is going on in the system.
Software Architecture as a Shared Mental Model argues that this process is not only a byproduct of the system being constructed but that these kind of diagrams are the system being constructed.
You could think of this as a corollary of Conwayโs Law: โThe structure of a system reflects the structure of the team that created itโ. The structure follows from the teamโs shared representation of it.
Anything that challenges this shared mental model is of utmost importance to the team. When you reframe the development enterprise in this light, it also makes sense of all the heuristics that the team uses on a daily basis to work: โDonโt learn more about the system then is needed for the job to be doneโ, โdonโt change the basic layout of the system unless absolutely necessaryโ. This is the emergent layer of what exactly software is.
Thank you to Casey Li for reading a draft of this newsletter.