ApacheConNA: On documentation #
In her talk on documentation on OSS Noirin gave a great wrap up of the topic of
what documentation to create
for a project and how to go about that task.
One way to think about documentation is to keep in mind that
it fulfills
different tasks: There is conceptual, procedural and task-reference
documentation. When starting to
analyse your docs you may first want to debug
the way it fails to help its users: ``I can't read my mail'' really
could mean
``My computer is under water''.
A good way to find awesome documentation can be to check
out Stackoverflow
questions on your project, blog posts and training articles. Users today really
are searching
instead of browsing docs. So where to find documentation actually
is starting to matter less. What does matter
though is that those pages with
relevant information are written in a way that makes it easy to find them
through
search engines: Provide a decent title, stable URLs, reasonable tags
and descriptions. By the way, both infra and
docs people are happy to talk to
*good* SEO guys.
In terms of where to keep
documentation:
For conceptual docs that need regular review it's probably best to keep them in
version
control. For task documentation steps should be easy to upgrade once
they fail for users. Make sure to accept bug
reports in any form - be it on
Facebook, Twitter or in your issue tracker.
When writing good
documentation always keep your audience in mind: If you don't
have a specific one, pitch one. Don't try to cater for
everyone - if your docs
are too simplistic or too complex for others, link out to further material.
Understand
their level of understanding. Understand what they will do after
reading the docs.
On a general level
always include an about section, a system overview, a
description of when to read the doc, how to achieve the goal,
provide
examples, provide a trouble shooting section and provide further information
links. Write breadth first -
details are hard to fill in without a bigger
picture. Complete the overview section last. Call out context
and
pre-requesites explicitly, don't make your audience do more than they really
need to do. Reserve the details
for a later document.
In general the most important and most general stuff as well as the
basics
should come first. Mention the number of steps to be taken early. When it comes
to providing details: The
more you provide, the more important the reader will
deem that part.