何を使って、共同で仕様書を書こうか

Toru Furukawa
2 min readNov 28, 2016

--

ソフトウェア開発の仕事を請けるとき、すぐに開発を始められるような仕様が提示されることは、ほとんどない。発注側がそんなものを用意できるなら、私に依頼せずに、クラウドソーシングを使うほうが費用対効果が高い。仕様を策定するのも込みで、なんなら要件を発掘するところも含めて、仕事が依頼される。

問題解決をしながらのものづくりには、反復的な変更を伴う。顧客に問題ドメインの知識があり、こちらに解決手段の知識がある場合は、互いの共同作業になる。「こういうことですかね?」「ちょっと違うんだよねー。アレをナニする感じで」「こうやれば、いけるかも」「うは、それいい」みたいに。

仕様を記載したファイルを、厳密にキャッチボールできないときには、ひとつのファイルに対して、複数の人間が並行して変更することになる。プログラミングでは diff と merge というツールが活用できる場面である。仕様書を共同で作るとき、それができないときがある。Google Docs の使用が禁じられているとか、上司や会社の承認をもらうために特定のフォーマットが必要だとか。

フォーマットについては Sphinx で書いてもいいんだけど、2つ問題がある。まず、体裁を整えるのがだるい。テンプレートやらなんやらを設定すればできるのだけれど、そんなことは取り立てて得意ではないし、いかにも時間がかかりそうだ。

もうひとつは、顧客側で編集できないと、すべての編集を自分がやることになる。プルリクというツールを使わずとも、ファイルを送ってもらって diff & merge したい。見逃しもないし、ちょっとしたタイポの修正だってやりやすい。

Microsoft Word にはその機能がある。

プログラマーが普段つかう merge とはちょっと違うけれど、A と B の比較をし、A に対して B がどのような変更をしているか、を機械的に発見し可視化する。B の変更を打ち消すこともできる。ああ、やはり俺たちのマイクロソフト。よく分かっている。というわけで Word で仕様書を書くことにした。だが、Excel、お前はだめだ。

--

--