History for DocumentationProcess
??changed:
-
Documentation Process
This is the Digital Creations process for creating documentation.
1. Identify Audience.
Zope has three, top-level audiences:
o Users
Users use the Zope application through the management interface.
The primary sources of documentation for this audience are:
o Zope Book
o Tutorial
o Online Help System
o User oriented How-Tos
o Developers
Developers extend Zope with Products, or maintain or extend the
Zope core. This encompasses not only community members and users,
but also Digital Creations' employees. The primary sources of
documentation for this audience are:
o Developer's Guide
o Interfaces Wiki (or its successor)
o Debugging information (may be subsumed into DevGuide)
o Developer oriented How-Tos
o Administrators
Administrators install, maintain, or upgrade one or more Zope
systems. The primary sources of documentation for this audience
are:
o Administrator's Guide
o Administration oriented How-Tos
Write Zope documentation to approach one of these three audiences.
When extending or working on an existing documentation artifact, make
sure your effort does not cross over into another audience's domain.
For example, if writing a chapter on XML for the *Zope Book*, do not
discuss implementation details like how XML tag elements work with the
persistent database. This information is not oriented toward the User
audience, it is oriented toward the Developer audience and should go
into a corollary, advanced section in the *Developer's Guide*.
2. Determine topic and scope.
Documentation artifacts are sub-components of a larger outline.
Determine the topic and scope of the artifact and where it fits into an
existing document's outline before you write it.
Documentation artifacts cover one central theme which is the topic.
Topics of these artifacts are determined from the outline of an
existing documentation artifact, like the *Zope Book*, the *Developer's
Guide*, or the *Administrator's Guide*. For example, the *Developer's
Guide* may have a large, broad outline that covers all development
topics. The topic of a specific documentation artifact, like "Security
Assertisions" comes from a heading in this broader outline, and will
"explode" the topic into a more granular outline.
The scope of your documentation is the depth of detail given to your
topic. The scope of your topic should not be overly broad; an artifact
that documents one topic should not try to document another topic that
is elsewhere in the outline of the artifact you are expanding.
Be aware that the broader outline is not perfect, and that new topics
may be discovered in the course of documenting an existing topic.
These topics should be considered for inclusion in the broader outline
as a topic in their own right, and should go through their own
documentation process.
4. Create an Outline.
An outline is a hierarchical breakdown of a topic that describes the
structure of the artifact. Outlines are the most important
organizational tool for all actors involved in documentation. Authors
use an outline to guide the content as it is written. Editors use an
outline to evaluate the topic, scope, quality, and progress of an
artifact. Maintainers use an outline to fit revised material smoothly
into an existing artifact, and, ultimately, Readers use an outline to
navigate through documentation.
An outline consists of a sequence of top-level, key ideas that
encompass the scope of your topic. Each top-level key idea should be
broken down into a second level of more specific details of each key
idea. In necessary, an outline can descend through as many levels of
detail as are needed to describe the topic. Be advised, however,
excessive depth of an outline for most documentation artifacts is a
sign of a topic that may need to be refactored into multiple topics.
An outline is best developed with the contributions of all
documentation actors. Authors contribute topics they feel they can
describe well, Editors contribute revision and scope management to an
outline, and Readers drive the scope of an outline by their needs.
Although these patterns need not be followed exactly, the most
important stage of communication between all the actors is during the
development of the outline.
3. Authors and Editors.
After an outline is created, identify Authors and Editors. An Author's
role is to create raw content for each heading in an outline, and to
revise existing content. An editors role is to take an outside
perspective on that content and to verify its scope, completeness,
style, and to a certain extent its correctness. Often, the roles of
Author and Editor are interposed on the same person, for example, Amos
and I both worked as Authors, and then as Editors to review each others
work on the O'Reilly book. This saved a lot of effort for the O'Reilly
editor also and reduced her burden as the editorial bottleneck.
7. Authoring procedures.
The procedure chosen for authoring content depends on the project, the
participants, and resource constraints. All procedures, however, are
based on the same concept, *iteration*. One rough cut at a document is
not a complete document. A document must go through several revisions
before it can be considered complete and correct. This must be
stressed strongly: a document that has gone through only one iteration
is not complete, and an Author should always assume that raw material
contains technical and language errors, needless words, and requires at
least one iteration of editorial revision before it can be considered
completed.
There are two example models you can use to develop an authoring
procedure, but you may come up with one on your own. The first model
involves only one Author and one Editor. The author creates content
that is sent to the Editor. The Editor makes corrections and comments
and sends them back to the Author. The process repeats until the
Author and Editor agree that the work is complete.
The second model was used by Amos and me to write the O'Reilly Zope
Book and involves more than one Author or Editor. In this model, two
Authors each collaborate on the outline, revising and rewriting it
until it is satisfactory. Then each author choose a section of the
outline to write a rough draft. After completing a rough draft each
Author then switches roles to Editor and reviews the other Author's
work. At discreet milestone goals the currently completed work is sent
to a third Editor to review large chunks of content. By the time the
content gets to the third editor, it has been through several
iterations of writing and revision by the Authors.
5. Maintainers.
As software that is described by documentation changes, maintainers
must change the documentation to remain up-to-date and accurate. The
role of the Maintainer is important and should not be neglected. When
budgeting resources for documentation, take into account the need for
keeping to documentation up to date with respect to the software.
6. Maintenance procedures.
XXX
8. Feedback procedures.
Without soliciting feedback from the documentation's intended audience
the Authors and Editors have no way of knowing if the information is
relevant, correct, comprehensible or applicable to the audience's
needs. Therefore, it is important for Authors and Editors to provide a
feedback mechanism during the authoring process, and for a feedback
mechanism to be available after the "final draft" so that maintainers
have an idea of what needs to be done. A feedback mechanism like this
is also useful for the authors and other internal actors to use, much
like DC employees use the collector to keep track of bugs and ideas
that come to them in the course of an unrelated project.