The DocOps principle of truth proximity states that documentationâs content should be as close as possible to its source in terms of time, content, and medium. In this sense, âtruthâ refers to the prime form and origin of a given piece of information, rather than the veracity of facts expressed in it.
The motivation for this principle can be understood through a childrenâs game called Chinese whispers in the UKâtelephone in the United States. In this game, children whisper a message from one to the other to see how much the message changes in the transmission. The more distorted the original message becomes, the more amusement it causes. Â
Most enterprise documentation suffers from the Chinese whispers problem because it often includes content that originates elsewhereâoutside the document itself. Many times, the origin of said content parts are in themselves based on other content parts. As such, the problem is not that âdocument Xâ is out of date or incorrect, but that the sources it was based on, say, documents Y and Z might be incorrect, or out of date as well.
The degradation of communication during transmission was studied by Shannon (1949), who is the father of Information Theory. In Shannonâs model, introduced in his seminal paper âA Mathematical Theory of Communicationâ, a signal is subjected to a noise source when transmitted. Even though Shannonâs model was conceived in the era of broadcasting and telegraphy, we add our own ânoiseâ when reproducing information across different digital files.
An enterprise in which teams, departments, and domains create diverging versions of information is what Davenport et al. (1992) defined as âinformation anarchyâ. In their study, they warned that âa firm cannot survive for longâ when such information discrepancies exist.
Distortion is caused not only whenever a given piece of text is reworded. It occurs also when the content part to which the document refers changes while the document that refers to it does not.Â
We will now delve into each constituent dimension of truth proximity: time proximity, content proximity, and medium proximity.
Time proximityâalso called timeliness or freshnessâdescribes the likelihood of a document view reflecting the current state of the enterprise. It also describes how fast such a document view will change if such a state were to be altered. If time proximity is zero, then the document view is always up-to-date and there is no chance whatsoever that any of its constituent content would have changed without the document view changing as a result.
It is also worth noting that not all sources of information lend themselves to the ability of grabbing and refreshing âthe latest versionâ in real time. The likes of stock prices, exchange rates, weather patterns, machine sensor telemetry and so on take time to propagate. In the case of information provided by regulatory agencies, there may also be a process involved in obtaining updates which may hinder real time updates. From a DocOps point of view, the aim is to shorten the time between content changes and documentation view updates to the extent that automation technology permits it.
In the context of time proximity, we assume that we have the right document part, except that it may not be the most recent. When it comes to content proximity, we are trying to ensure that we are pointing to the correct subset of content in the first place, and that we are faithful to the contentâs structure, when relevant.Â
Finally, we also violateâor considerably distance ourselves fromâtruth proximity when we irreversibly change the medium that supports a given piece of content and lose traceability to it. The archetypical example is that of manually converting a vectorial image, say, authored using LucidChart, and then exporting a bitmap version of it so that it can be pasted onto a document. Once this is done, there is no way to get back to the original LucidChart document to modify the image or obtain a higher-resolution version of it.
An irreversible change of medium is usually one of the greatest âoffendersâ in substandard documentation systems because timeliness is nearly always broken as a result; whenever the original version changes, someone has to update the converted version manually. On top of that, it hinders collaboration, because the converted version is nearly always non-editable.
Achieving medium proximity doesnât mean that we should simply âattachâ or âhyperlinkâ files so that the medium is preserved. Contemporary documentation systems require embedding and blending all media typesâvideo, audio, images, and textâto achieve a seamless user experience. The point is that we should still be able to trace the converted assets to the original medium so that the converted assets update themselves whenever the originals do, and that we enable co-creators to edit the source files by initiating the authoring workflow directly from the place where the embedded content appears.Â
In other words, medium proximity is about narrowing the gap between where the content part is created and where the content is projected or rendered.
Truth proximity is essentially the principle that sets the travel direction for the effective embedding of content in composite documents. It is not a relevant principle for one-off write ups which are never reused nor referenced.Â
The below figure helps illustrate the interplay of the truth proximity dimensionsâtime, content, and medium proximityâby presenting three different versions of a document, each highlighting the problems surrounding non-zero proximity in each dimension.
In the first document view, time proximity is greater than zero because there is a new version (3) of the underlying drawing in which the circle has now a hatch pattern while the old versions (1 and 2) do not.
In the second document, content proximity is greater than zero because the embedding directive grabs the shape found in the top left corner of the drawing, while in the new version, the authors have moved the circle to the top right corner. This means that the mechanism used to select this specific figure is too rigid.
In the last document, medium proximity is greater than zero because a converted version of the original figure has been used without any traceability to the original. The assumption here is that in the first two documents, the image is embedded by linking it directly to the original in SVG fileâit might be converted to a bitmap format on the fly if the web browser or application cannot display SVG files directlyâand that the edit link launches the relevant authoring application.
Based on this example, the below table illustrates the truth proximity for various scenarios:
Proximity | Time | Content | Medium |
---|---|---|---|
0 | Content is read directly from its source every time it appears in a document view. | Content subsets are selected using a reliable demarcation or tagging system rather than a rigid approach such as precise line numbers or pixel coordinates. | Content is converted on the fly by the documentation system (say, from SVG to PNG) and there is an edit function which launches the content typeâs native editor. |
⌠| |||
7 | Content is read from a file that is created by an automation pipeline as soon as a new file is committed to Git. | Content is matched based on its relative position (e.g., second level two heading) | Content is converted by an automation pipeline as soon as a new file is committed to Git and a link is generated to the repositoryâs path. |
⌠| |||
99 | Members of various teams need to be provided with new files via email so that they manually apply the changes in the relevant documents. | Content is selected by copy-pasting or retyping the passages of text that the interested party believes to be relevant. | Files need to be manually exported to the desired format for inclusion in documents. There is no traceability between converted content and its original media. |
In a contemporaryâor DocOps-empoweredâdocumentation system, truth proximity is a measure of the systemâs composition and embedding capabilities as well as of their effective use by users. Take the capabilities suggested for a truth proximity score of 7 above. This is an arbitrary number to suggest that there might be more effective approaches other than the use of a CI/CD pipeline.
For example, a cloud drive hook can convert a PSD image (Adobe Photoshopâs proprietary format) as soon as users save a new file without requiring a ceremonial Git commit. Maybe such an approach would get a truth proximity score of 3 rather than 7. In short, the choice of any non-zero, positive number range for truth proximity is a DocOps practitionerâs choice.
While automation is key, we donât want just a technocratic approach which ends up being hostile to humans. This takes us to our next and final principle.
© 2022-2024 Ernesto Garbarino | Contact me at ernesto@garba.org