仕様書を書く理由は、起こりうるあらゆる問題をあらかじめ解決することではない。
仕様書を書くのは、前もって解決できる問題を可能な限り解決しておき、開発中に生じるサプライズを最小限にするためだ。
この言葉を、「設計しても設計しても、組んだらまた新たな問題が出る」ということが何度も起きて、うんざりして趣味を中断してしまった数年前の自分に教えないといけない。
From: プロジェクトAardvark仕様書 - The Joel on Software Translation Project 1