山下寛人オフィシャルブログ

オイシックス株式会社 執行役員 システム本部長 山下寛人の公式ブログです。

詳細設計書という名のゴミ

詳細設計書という名のゴミ

何か否定的なコメントが多いですが

私はこのブログ書いた人に大賛成です。


ベトナムで開発を始めた当初は先方で

今までやっていたやり方にお任せして

いました。そこで彼らは基本設計書と

詳細設計書というものを書いていました。

基本設計書は主に外部設計。

詳細設計書というものは基本設計書にある

画面設計とほぼ同じものと、ソースコード

SQLを日本語で記述したものでした。

これが意味不明でレビューすると曖昧な

ところが多いので山ほどそういうところを

指摘しなければならなくなります。

ソースコードならまとめられる同じ処理も

重複してしまいます。

1箇所変更したら全部変更しなけれなりません。

当然、変更も漏れます。

これを毎度ベトナム語で書いて日本語に翻訳する

のです。

おびただしいほどの無駄です。

プログラム書ける人がドキュメントを書いて

いるので最初からソースコードを書いた

ほうがよっぽど曖昧さはなくなるし

効率的です。

その後詳細設計書は廃止しました。

それでちゃんと開発できています。

運用も問題ないです。

ソースのわかりやすさにこだわって作って

いるので。


詳細設計書がないとメンテできないという

意見も書いてありますが、ソースコード

ほぼイコールなドキュメントがあるとメンテ

できるようになるんでしょうか?

ソースだけと何が違うのか?

極力ソースで表現できるようにしますが

どうしても表現できないところだけがドキュメント

として必要だと思います。


私が思うに、大昔からの名残でしかないと

思います。

本当に昔はプログラムはパンチカードでした。

その後もアプリケーションを機械語

アセンブラで作っていた時代があります。

パンチカードや機械語アセンブラは人間が

見ても理解はかなり難しいので現代の

プログラム言語レベルの設計書はおおいに

意味があったと思われます。


しかし今はプログラム言語が相当に進化して

十分に人間が見て理解できるものになっている

のでとっくに必要なくなっていると思います。

オイシックスの開発はソースコードみたいな

詳細設計書はなしでできています。

オープンソースの開発でも基本はソースを

見て理解するでしょう。