So what? What can we do to achieve this blissful informed state? What are you going to go about it?
People have many opportunities to document. We make the choice to document, or not, all the time…
- Making a decision, evaluating options
- Discussing requirements with a user
- Today’s task list
- While programming
- Asking how to use an application’s feature
…when do we choose to document? Usually when we are forced to, or the ‘doing’ of a task is assisted by a document…
- Recording pros and cons for various options
- Draw a user interface layout on a whiteboard
- Write your task list on a post-it note
- Pseudo code to explore design options
- Email a question to application support
…when do we want to keep a document? There is no easy answer, something will be useful if it is ever used. Beyond the base documentation requirements of our workplace, we are empowered to capture information based on our judgement of importance balancing cost and value.
What does it take to move documentation, that was functional during a task, to something suitable for keeping? Effort.
- Recording options in a Word document.
- Having a whiteboard that will email its user interface drawing to you (so you can attach it to a change request).
- Change from post-it note to task management software.
- Write pseudo code in your development tool as code comments.
- Post a question to an application forum.
Ideally we want to reduce the effort overhead to zero so that we have a ‘documentation reflex’ – documentation that happens through work habits. Ask yourself if what you are doing is worth documenting. If it is, are you capturing it in a way that minimises your effort to document it?
The effort to change documents should also be minimal. Tools can help or hinder:
- If I have the document open for edit, does it lock out other potertial updaters?
- Is a history of changes recorded – can you revert to a version without all those mistakes you just made?
In most cases authorship should be shared so that everyone feels able to make a change. There is a cost to update ease when adding ceremony to a document (eg prescribing a certain format, or requiring a set of signatures). It is often the case that these things are added to stop a document from being updated – what is your change control policy? Only secure things from change with a reason, because change is not inherently bad.
In addition to simple opportunities, we may have requirements for specific documentation. These requirements are usually more formal, and are made evident through business or process requirements…
- Production Change Request
- Application training
These become project deliverables in their own right – you just have to sit down and put effort into creating them.
Created vs evolving documents
When capturing documents, it is important to note that some are created, and others evolve. Some documentation will record a moment in time (like a diary), for example: options analysis, a decision, or meeting minutes. Whereas others will need constant change, for example: application training, comments within the source code, or a process checklist.
There is a grey area for what is a ‘created’ or ‘evolving’ document. For example the user interface design captured via a whiteboard. If the user requests a change, should the already documented user interface be revisited, or just the change request be captured? The choice in this case comes back to what you have identified as important to capture. Do you accept the initial design and change requests as diary-like documents, with the built system reflecting the current user interface? Or do you need to have an up-to-date model of the user interface?
Making the choice to have an evolving document is more expensive. A guideline can be to make a ‘created’ document the default output, then only evolve that document as a considered decision.
- Capture key information through your work practices.
- Minimise the effort and ceremony to capture information.
- Create documents by default, evolve them by choice.