世の中には、詳細設計書が必要不可欠だと考えている方がいます。
今、僕が仕事をしている現場でもそのように考えられており、
詳細設計書を必ず作成させられます

正直、詳細設計書はいらないと思うんです。
しかし、いまだに存在しているのはなぜなのでしょう。

詳細設計書の問題点

僕が考える詳細設計書の問題点は4つ

1.設計書がわかりにくい

1
2
<blockquote>
    <p> 詳細設計書のフォーマット<a href="#f-8d5cce5d" name="fn-8d5cce5d" title="設計書の雛形はもちろんExcel方眼紙。吹き出しとかで設計を書くので文書内を検索できなかったり。言い回しにも制限が存在したり、改定履歴を文字色で表したり。ここまで変な制限をかけても書く人によって少しずつ粒度が異なる">*1</a>は現場の文化が反映されることが多く<br />

 お世辞にもわかりやすいとは言いにくいものが多いです
 つまり、とても分かりにくい。

1
</blockquote>

2.設計書自体が作りにくい

1
2
<blockquote>
    <p> コンパイルできない日本語で複雑な処理を作る必要があるため<br />

 どんどん複雑になっていきます。

1
</blockquote>

3.実装言語に対する知識がない状態で作られる

1
2
<blockquote>
    <p> 詳細設計書通りに作るんだから言語に対する知識なんていらないと思われています。<br />

 SQLだけわかれば詳細設計書を作れると固く信じられています。
 そのため実装言語に対する理解、学ぶ気持ちすら見られないことが多いです。

1
</blockquote>

4.作りあげることが困難

1
2
<blockquote>
    <p> 上記のような問題のある詳細設計書を限られた時間の中で作ることは難しく<br />

 実際のプロジェクトではすべての詳細設計書が完成させられないこともあり
 そういった場合は詳細設計書なしの実装が行われることがあります。
 そんな時、文化を守る古のSEたちは「ほら、詳細設計は難しいだろ?」とドヤ顔を見せてくれます。

1
</blockquote>

なぜ詳細設計書を作るの?

1.これしか作れないから

1
2
<blockquote>
    <p>何故作るのかではなく、これしか作れないからではないでしょうか。<br />

問題なのは詳細設計書っていうフォーマットでしか
設計者が設計(要件や方式) *2 を伝えられないってことなんだと感じています。

1
</blockquote>

2.実装言語が読めないから

1
2
<blockquote>
    <p>実装言語に対する知識が圧倒的に不足しているため、実装者がお役御免になった後に<br />

逆引きのリファレンスとして使用されることが多いようです。

1
</blockquote>


まとめ
やっぱり個人的には詳細設計書はいらないと思うんです。
やりたいこと *3 がちゃんと伝わってさえいれば。


やりたいことをちゃんと伝える設計書であれば
基本設計であろうが詳細設計であろうが有用なものになるかと思いました。
なので、せっかく作るのならば有用なものにする努力をする必要があるのかなと。

理解しにくい詳細設計書はすべて突っ込んで
実装に無理がある場合や改善点がある場合はどんどん修正してもらうようにすれば
実装者もSEも幸せになれるのではないでしょうか。

*1:設計書の雛形はもちろんExcel方眼紙。吹き出しとかで設計を書くので文書内を検索できなかったり。言い回しにも制限が存在したり、改定履歴を文字色で表したり。ここまで変な制限をかけても書く人によって少しずつ粒度が異なる

*2:実装方式は実装者が決めるべきじゃないかなと思うんだけど、往々にして設計者が要求してきます。。。

*3:つまり入力と出力。実はそれ以外はいらないのかも。