Documenting your code is perhaps more important than writing it. See this article entitled aptly: Don’t document your code. Code your documentation.
Any programming job big or small should start with a scope of work document in plain English. The document should be short, highly structured, and avoid verbose descriptions. It should describe what is to be coded statically.
A code library, is only as good as it’s documentation. Knowing how to use the code is more important than the code.
Software documentation is written text or illustration that accompanies computer software or is embedded in the source code. It either explains how it operates or how to use it, and may mean different things to people in different roles.
- Requirements – Statements that identify attributes, capabilities, characteristics, or qualities of a system. This is the foundation for what will be or has been implemented.
- Architecture/Design – Overview of software. Includes relations to an environment and construction principles to be used in design of software components.
- Technical – Documentation of code, algorithms, interfaces, and APIs.
- End user – Manuals for the end-user, system administrators and support staff.
- Marketing – How to market the product and analysis of the market demand.