-
Support Maintenance
-
Support Use & Debug
Most programmers
do not like writing program documentation or user guides and also do not like
reading them unless forced too.
Having Program
Documentation is a business decision since code comments may also be sufficient
to document program design if well written.
Program
documentation documents are rather technical and would have the aim to support
another programmer updating the standard program or a user who needs to debug a
particular use of it and understand how all program pieces (input parameters,
global variables, local variables, metadata and intermediate datasets) are
linked together.
Program
documentation can contain only a roadmap linking the different piece of code
with input and output to each other. This is usually difficult to see when
reading the program code and it does add value rather than just being
descriptive. Program documentation must communicate what is central and subtle
that cannot be reengineer from the source code and document rational for
important design decisions.
A second
document, User Guide, would simply help the user using the program quickly.
This document should be as short as possible and focus on the essential (pre-requisites,
input parameters) and come with full examples that the user can simply copy and
paste, modify and run.
Such documents
can be supported by Wiki type of technology or hyper-linked html documents instead
of stand-alone pdf/word file.
User guide can
also be used for posting along the way found bugs and work-arounds till they
are fixed in next version or adding an example addressing a special case that
was found after release or caused queries.
User guides must
contain “ready to copy and paste” call examples the programmers can just get
started with. It is even better if those code examples can use test data
available to all programmers so any one can run and modify such call examples
before trying it out on real data.