Are you maintaining your documentation correctly



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!"

"Not really."

"Then what...?"

"I don't love writing per se. I love the applications.

I love the results. In writing, you can create, let's

say, the first level of reality. By writing, you can

begin to give intangible ideas form in the physical

universe.

"Can you imagine how many people discovered the secret

of fire and didn't write it down? The news had to

spread by 'tribal knowledge!'

"How many times did the 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 the 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 the secret of fire and how to
control it.)

"Mike, what have you learned over the 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 the 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 the

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 the 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 the 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 the 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.

For example,

You may need to clarify the Change Request.

You may require more analysis of the Design Reviews.

You may need to rewrite your Standards Audit.

Your users may fail to accept the results, etc.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Someone, the "Maintainer(s)" must do the work.

This Maintainer must make changes within the context of the
existing documentation. Maintenance people often find this
the most challenging problem.

The older the documentation, the more challenging and

time-consuming the maintenance effort. But normally,

maintenance takes you less time than development.

Your development effort may span several months. You may
schedule PERFECTIVE maintenance in cycles of one to six
months. But, you may require CORRECTIVE maintenance
within hours.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Functionally, you can divide documentation maintenance
activities into three categories:

PERFECTIVE,

ADAPTIVE, and

CORRECTIVE.

Let me explain...

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PERFECTIVE MAINTENANCE

"Perfective maintenance" is when you make changes,

insertions, deletions, modifications, extensions, and

enhancements to improve understandability or

maintainability.

You generally do Perfective maintenance because you

have new or changing requirements, or you may need to

fine-tune the documentation.

Fine-tuning is an excellent way to introduce a new

writer to your documentation. This will reduce your

chance of serious errors later.

Both failures and successes of your documentation

require Perfective maintenance. If your documentation

works well, users want more features; if your

documentation works poorly, you must fix it.

When you perform Perfective maintenance on poorly

written documentation, you can dramatically reduce

resource requirements by making your documentation

more maintainable.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ADAPTIVE MAINTENANCE

"Adaptive Maintenance" is when you adapt the

documentation to changes in the user environment.

Environmental changes are normally beyond control of

the writer and consist mainly of changes to:

Rules, laws, and regulations that affect the

documentation. Typically you must quickly make

these changes to meet dates established by the

rules and regulations.

Equipment configurations, such as, new computers,

new terminals, local printers, etc. Usually, you

want to take advantage of improved features

and/or pricing. You normally perform this

maintenance on a scheduled basis.

Data formats, file structures, etc. You may

require extensive maintenance if these items

were not properly designed and implemented. If

you can isolate changes to specific modules, the

maintenance may have less impact. If not, the

effort can be both lengthy and costly.

System software, operating systems, compilers,

utilities, etc. In these cases, you usually

perform maintenance on a schedule.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CORRECTIVE MAINTENANCE

"Corrective Maintenance" is when you must fix errors

- sometimes immediately.

Generally, you'll find three types of errors:

Design errors.

These errors include incomplete or faulty design

because of incorrect, incomplete, or unclear

descriptions, or when the writer does not fully

understand the user's needs.

Logic errors.

Often, logic errors occur when user instructions

and/or unusual data combinations are not tested

during development or maintenance. These errors,

usually attributable to the designer or previous

maintainer, include invalid assumptions, tests,

instructions, or conclusions, or faulty logic

flow, and incorrect implementation.

Writing Errors.

The writer causes these errors. These errors

include incorrect implementation or design logic,

or incorrect use of special terms. While these

errors may be the result of negligence or

carelessness, they are usually the easiest to fix.

NOTE: Many managers consider maintenance to include changing
specifications or adding new capabilities.

Fascinating stuff, eh?


5. Call to Action


As I've said before, I'm a fanatic about documenting
business processes.

Find out for yourself! You have nothing to lose.

Together, let's document what you want, how you want

it, and when you want it. We will discuss various

creative approaches before the project begins.

Mike Hayden
Principal/Consultant
Your partner in streamlining business.

About the Author

Mike Hayden is Founder/CEO of Senior Management Services and the Documentation Express in Silicon Valley, California. Mr Hayden is the author of "7 Easy Steps to your Raise and Promotion in 30-60 Days! The book that smart bosses want their employees to read."
ISBN 0-9723725-1-2. More articles at http://www.SeniorManagementServices.com/pvt-information.html