The Importance of Context, Particularly When Documenting Software Architecture
Context has a powerful effect on understanding.
Join the DZone community and get the full member experience.Join For Free
In 1977, Charles Eames released a short documentary called Powers of Ten. It essentially zooms out to have a complete view of the Milky Way and then zooms back in, while keeping the ten based exponent of the zoom factor visible beside the images.
A stark realization is that a simple magnification of 10, up or down, completely changes any context. It changes the nature of what is being observed — arguably even the laws of physics operating at that scale. At each step, asking an observer "What is important about this picture?" would yield completely different answers, while conceptually, the centerpoint never changes.
Context in Technology Documentation
The dimension of scale along technology is different, but context is still important. Usually a system of interacting components will have complex relationships. If someone is seeking to document it via diagrams, it can be assumed that interactions are not obvious. Somehow, the designers — the creators of the diagram — are seeking to simplify this complexity so that all the parts and their interactions become visible and obvious to observers.
But the wrong context may lead to the wrong takeaways. A user focused on human skin, when shown the picture of the Milky Way, may start interpreting the shape as some type of rash. People interpret information in the context they find themselves in, and cannot just switch contexts because you have added a label.
A set of business stakeholders may want to see diagrams that illustrate how individual teams and the technology they deliver will interface. This will give them a clear understanding not of technology, but of human resource dependencies. It will enable them to ask managers about timelines and put those timelines into perspective. It will allow them to make decisions about hiring and budgeting. Business level stakeholders trust that technology leads will uncover technological limitations, and are potentially never thinking about those themselves.
However, if a diagram starts showing complex flows between systems A and B sequentially to illustrate the communication flow, it maybe be impossible for business stakeholders to identify team dependencies. On the other hand, a technology lead may find this information extremely helpful. They can ask pointed questions regarding caching, authentication, authorization, and so on.
What Does This Have to Do With Powers of Ten?
For me, Powers of Ten was an eye opener. I always knew that I needed to have audience-appropriate diagrams and literature. Powers of Ten showed me how drastic context change can drive interpretation and understanding. In each shot, the center of attention, or even the nature of the entire picture, is different. It is not that the initial center becomes less focused or pushed to the side. No, the entire picture starts telling a different story. All of a sudden, the human hand is not relevant — but rather, it is a man lying in green grass. Afterward, it is just a patch of grass in an industrial area.
Similarly, as I switch between different audiences, I have to understand that they are not just seeing a difficult-to-understand picture. They are actually understanding something entirely different. A business manager seeing a communication flow diagram does not see a communication flow diagram, but sees a lack of clear team definition. They start wondering, why are there two teams? They may feel the team is not appropriately distributed, or that some other, team-level change needs to happen.
This realization — that people are not actually seeing what I am showing — was an important moment.
Published at DZone with permission of Gratus Devanesan, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.