Software documentation is a written text that either explains how to use or operate a computer software. Software documentation is also called as source code documentation. There are many types of documentation and those include:

Requirements Documentation:
Requirement documentation describes what a particular software does or shall do. It comes in variety of styles, notations and formality. Requirements documentation selection for a software depends on the complexity of the product, the impact of the product, and the life expectancy of the software. Database centric systems and the special purpose requirements management tools are used to manage the complexity of the requirement documentation.

Technical Documentation:
There must be a text along with the code while developing a software. This documentation may be used by developers, testers and also the end customers or clients. Technical documentation is also useful in the field of power, energy, transportation, networks, aerospace, safety, security, industry automation and it is particularly more useful in software field.

Marketing Documentation:
This documentation is used to promote a product, by providing information to the potential user about the product. It is used to inform the benefits of the products to the users, explain the position of this product with respect to other alternatives and so on.

User Documentation:
User documentation describes each feature of a program, and assists the user in realizing these features. Consistency and simplicity are also very important in the user documentation. User documentation can be organized in three ways, such as tutorial, thematic and list of reference.

Architecture Documentation:
Architecture documentation do not describe how to program a particular routine but it lays out the general requirements that would motivate the existence of such a routine. A good architecture documentation is one which gives less details and more explanation.