多くのプログラマがいくつかの理由から文書の自動生成を活用している。例えば、ソースコードにコメントの形で文書が埋め込んであると、プログラマはコードを書くのに使っているツールで文書も同時に書くことができ、コードを見ながら文書を書くのに便利である。これにより、コードと文書を常に同時更新するのが簡単になる。
もちろん欠点もあり、プログラマ以外がこの形式の文書を編集できないという一面もあり、プログラマ以外はツールによって更新されるまで最新の文書を参照できない（例えば、ソースからの文書生成は毎晩まとめて行われたりする）。もっとも、このような特徴を利点と見る考え方もある。
ドナルド・クヌースは、ソフトウェアドキュメンテーションをコードを書いた後で行うのが非常に難しいと考え、文芸的プログラミングという手法で文書をソースコードと同時に書くようにして、自動的手段で文書をソースコードから抜き出すようにした。
ユーザー文書.
ユーザー文書は一般にソースコードとは完全に分離したもので、単にそのプログラムの使用法を解説するものである。
ソフトウェアライブラリの場合、コード文書とユーザー文書は実質同じであるが、一般のアプリケーションではそうではない。このレベルの使い易さを実現した最近のシステムというものは見受けられない。
一般に、ユーザー文書はプログラムの機能毎にその機能を呼び出すのに必要な手順を説明している。よいユーザー文書はさらに、問題発生時の解決策を与えてくれる。ユーザー文書にとって重要なことは、紛らわしい記述を避けることと、付属するソフトウェアに正しく対応していること（最新であること）である。ユーザー文書の形式は定まっていないが、索引が非常に重要である。一貫性と単純性も重要である。ユーザー文書はソフトウェアの契約の一部を構成する。
ユーザー文書の提供形式として、パーソナルコンピュータ上のオンラインヘルプしか用意せず、コマンドやメニュー項目に関する情報しか与えないということも多い。この場合、チュートリアルや詳細な情報は、ソフトウェア開発者から特別な支援を受けた出版業者が書籍の形で販売することが多い。
マーケティング文書.
インタフェース (情報技術)