ドキュメント is 説明の自動化
そもそも、ドキュメントを書く理由は、事あるごとに相手に対して説明するのがめんどくさいからだ。
説明内容をあらかじめどこかに書いておけば、最初に一回書くだけで、あとは提示するだけでよくなる。
ドキュメントを書かない、ということは同じことを何度も無駄に説明しないといけなくなるのと同義だ。
しかも、文章化されていないから表現に揺らぎも生じて説明ごとに内容が違うものになってしまう可能性もある。
これは、プログラマの美徳である怠惰と短気が欠けているせいで、ドキュメントを書かない人はプログラマに向いていないと思う。(1から100まで全部自分ひとりで完結するなら必要ないけど、職業人としてのプログラマなら必要)
そして、説明の効率化は、人と人との意思疎通が必要となるチーム作業において最大のハックとなる。
仕事は基本チーム作業であるから、個人の速さより意思伝達の正確性のほうが重要になる。
自分ひとりの仕事が早くても、それをチェックする側だったり管理する側だったり、それを利用する側だったりの人が、作業者の雑なアウトプットのせいで無駄なオーバーヘッドを強いられると、全体として評価した場合、結局は遅くなっている、ということは往々にある。
ドキュメントとそれを可能な限り正確に記述することは、意思疎通のオーバーヘッドを最小公約数に近づけるための手段である。
自分の仕事を速く終わらせるより、他人の仕事を早く終わらせるようにするほうが価値が高い。
自分だけだと自分一人分の時間の節約にしかならないけど、他の人の時間も節約できるなら、最大でチーム内にいる人数分の時間を節約することができる。
なので、ドキュメントを書くことはコードを書くのと同じぐらい大事なことである。
Tag: プログラミング