Below are my notes and highlights from this session at Write The Docs Europe 2016 in Prague. This is part of a series I wrote during the conference. This is not meant to be transcriptions and may have missed points made during they talk. They solely reflect my interpretations of the talk.
Checklist the Docs
by Daniel Beck
Flying is safe. Flying is also crazy complex. How is it both of these at once?
The aviation industry has turned a huge complex procedure into a series of checklists and created the safest way to travel. Using the history of aviation as backdrop, Daniel explored the idea of how to deal with documenting things that are too complex to work with.
The checklist solution was found by Boeing. They used a system approach which says that accidents are caused by many small mistakes. This resulted in Boeing realizing they need to help pilots manage the aircraft. This led to the first series of checklists. Today every commercial jet departure uses a checklist.
Checklists have been show to counter failure even with late added complexities. How do we use checklists to make documentation? Unfortunately, there is no checklist for this because the problem is very contextual.
A checklist is a not a to-do list.
A checklist is a completable repeatable unit of work. This talk focused on normal checklists used in routine situations. The other format is non-normal checklists for odd or troubleshooting events.
To make a checklist find a good context, such as:
- a physical threshold
- a routine pause
- a process boundary
Daniel used an example of a well-used checklist for merging private branches in his version control system. This has prevented a lot of clean-up commits.
Choose A Pattern
- Read-Do: Read an Item and Do it
- Do-Confirm: Do the work then use the checklist to verify the work is completed appropriately
Read-Do Version
- run tests
- run spellcheck
- schedule review
- run merge command
Do-Confirm Version
Note: Context is pre-merge command execution.
- Test passed
- Spellcheck passed
- Review schedule
Task Selection Is Critical
There are two approaches. The first, a standard procedure, lists all tasks required to produce the same output every time. The second, an essential items approach, lists only the essential “killer items.” These are the ones that are absolutely required.
Standard Operating Procedure Approach
- Build completed
- Index entries created
- Tests passed
- Spellcheck passed
- Review scheduled
Essential Items Approach
- Tests passed
- Spellcheck passed
- Review scheduled
The hardest things is to actually use and finish the checklist. Use rewards, rituals and monkey-brain training.
Troubleshooting
-
Are you skipping tasks?
Re-evaluate the context.
-
Are you starting but not finishing the checklist?
Make it shorter or split it up. Research says 5-9 items is the optimal length
-
Does the checklist feel pointless?
Make sure it is checking things that matter and that the process hasn’t changed
-
Is it not catching errors?
Try adding new task items and new things.
Checklists and Automation
Checklists can verify that systems work, assist with integration, and are useful for prototyping.