To document or not to document
These days there is a lot of talk about "documentation" around me. In the world of software development, documentation is often perceived as an annoyance, a necessary evil at best. This post is a follow-up on my previous post The right amount of documentation.
Documents are not equal, and many people fail to understand that some factors greatly influence how they should be written.
Consider the following types of documents, inspired from software development tasks:
- Notes taken for myself to be used in the following days
- Annotated sketches to be used to brainstorm with two of my colleagues in the following days
- Diagrams to be used to communicate with users in the following weeks
- Technical specifications for a subsystem to be presented to software designers and kept as reference
- The description of a software application to be used as reference in the organization by anyone who needs to understand what the application does
- A conformance document demonstrating that we comply with some ISO standard
Obviously, these documents will be subject to wildly different writing styles.
There are three factors that considerably affect how a document should be written:
- Readers' knowledge about the topic: We have to understand to what extent the intended readers know the topic and the context. We can omit what readers already know. If you look at documents around you, you will probably notice most are either underdocumented or overdocumented. Assessing the appropriate level of detail is a critical part of efficiency, both for an organization and for an individual. We tend to err toward overdocumenting because it feels safer but actually it's just as damaging as underdocumenting, since maintaining heavy documents generates inefficiencies long after the document is produced.
- Document lifecycle, or criticality: Most documents are not kept as references; they will be used for a limited period of time, for a specific purpose, then left to "die" (i.e. become obsolete). On the other hand, some documents will live as long as the object they document, and will have to remain up to date, possibly for several years. Long-lived documents are expected to influence the area they address much more than short-lived documents.
- Adherence to existing standards: Why would someone reinvent how a project status or how meeting minutes look like? In many instances a quick search on internet (or on the company network) will yield decent Word templates for common documents. I have nothing against creativity, unless it's just for the sake of doing things differently.
I believe that standardizing the documentation process can significantly help. More on the tricky issue of standardization in further posts.
