============================================================ Are you maintaining your documentation correctly? ============================================================
As I've said in many eZines, you must write stuff down.
The other day, an interviewer asked,
"How many pages you written?"
"Somewhere around 30,000 pages delivered, not including thousands of draft pages."
"You must love writing!"
"I don't love writing per se. I love applications. I love results. In writing, you can create, let's say, first level of reality. By writing, you can begin to give intangible ideas form in physical universe.
"Can you imagine how many people discovered secret of fire and didn't write it down? The news had to spread by 'tribal knowledge!'
"How many times did secret vanish because some fire-novice asphyxiated himself and family? How many times do think some do-gooder banned fire due to its dangers?
"It probably took eons to discover that secret - over and over!
"Eventually, I suppose, someone wrote secret on a cave wall or cocktail napkin..."
"Planning to write is not writing. Outlining... researching... talking to people about what you're doing, none of that is writing. Writing is writing." -- E.L. Doctorow
Anyway, when you write stuff down, you'll eventually need to update it. (I'll talk here about large, important documents - Operations Manuals, Technical Manuals, User Manuals, or maybe secret of fire and how to control it.)
"Mike, what have you learned over years about maintaining documentation?"
Well, large documentation projects have their own "life cycle." This cycle extends from conception to obsolescence.
When you develop large-scale documents, you'll typically iterate through following:
1. Requirements. Includes definition, statement of goals, preliminary analysis, functional specifications, and design constraints.
2. Design. Includes outline definition, format definition, etc.
3. Implementation. Requires writing, editing, integration of various components, and proofing.
4. Testing. Includes verification and evaluation against requirements.
But wait! There's another phase I call Documentation Maintenance! It begins after you deliver your documentation to your user.
You can divide Documentation Maintenance into following steps: ___ Determine need for change ___ Submit Change Request ___ Review Proposed Changes ___ Analyze requirements ___ Approve/Reject Change Request ___ Schedule task(s) ___ Review and Analyze Design ___ Write and Edit ___ Test ___ Verify against Standards ___ User Acceptance
In these steps, I outline maintenance process, which begins when someone needs a change and ends when your user accepts your changes.
As you can imagine, changing documentation is frequently complex and may involve many people.
For example, imagine task of updating documentation for applications in complex electronics, aerospace, law, medical, insurance, etc. Or, how about updating flight-prep manual for a commercial airliner?
The maintenance process above appears linear. But again, you'll undergo many steps and iterative loops.
You may need to clarify Change Request. You may require more analysis of Design Reviews. You may need to rewrite your Standards Audit. Your users may fail to accept results, etc.
Someone, "Maintainer(s)" must do work.
This Maintainer must make changes within context of existing documentation. Maintenance people often find this most challenging problem.
The older documentation, more challenging and time-consuming maintenance effort. But normally, maintenance takes you less time than development.