プロマネブログ

とあるSIerでプロマネやっているオッサンです。主にシステム開発ネタや仕事ネタ、気になった三面記事ネタの解説なんかしてたりします。

詳細設計書も問題だけど、それ以上に成果物定義が問題

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

 

この手の話題が定期的に上がるわけですけど、毎度同じだよねで終わってしまっては人間進歩しないので、何が問題でどうすればよいのか少し考えてみたく。

 

詳細設計書は「プログラム説明書」として欲しい。

まあ、元記事も多分業務システムの受託の話の模様なのでSIをターゲットに。

 

往々にしてSI、特にウォーターフォール開発のプロジェクトの中では、設計書などのドキュメントを多数作成いたします。*1

 

V字モデル的には、設計から開発に至るまでの間

  1. 要件定義書
  2. 基本設計書・外部設計書
  3. 基本設計書・内部設計書
  4. 詳細設計書
  5. プログラム

みたいな成果物を作成いたします。

 

個別の詳細は別のサイトに任せるとして、それぞれ記載する内容を一言で表すと、要件定義書は「スタートとゴール」、外部設計書は「業務とサービスの仕様」、内部設計書は「サービスの構造と機能の分割」となります。

 

※ただし、オッサンの受け持つプロジェクトに限る。

 

で、元記事で問題となっている詳細設計では「プログラム構造と仕様」を記載するわけですが、このプログラムの構造がまんまプログラム設計書(紙面コード)になって記載されちゃっているということですね。

オッサンの感覚的には、プログラム構造では、オブジェクトの相互関係や、IN/OUTなどのAPI定義など、プログラム仕様では入出力の動作説明など、「そのプログラムをどう使えばいいか」と言った仕様(と言うか説明書)を書いて欲しいわけですが、設計書という名前に惑わされて実装をそのまんま書いちゃっているんでしょうね。

 

無駄な成果物を作らないためにもMECEな成果物体系が必要

さて、いろいろな設計書を書くと言いましたが、無駄な成果物を書かないためのお約束として、成果物体系はMECEであるよう定義しなければなりません。

つまり、要件定義で書いたことは外部設計書では書かないし、外部設計書で書いたものは内部設計書では書かない、ということで、成果物間で重複しないように成果物の内容を決めなければなりません。

そういった意味では、プログラムと同一の内容が記載された詳細設計書は、MECEな関係を満たしてない時点で問題です。二重管理となるし。

 

詳細設計書で紙面コードを書く理由としてよく言われるのが、「ホスト時代はコンパイラが高価で一日僅かな時間しか使えないので、デバックを紙面で行うために作成した」といった過去の環境制約の名残なんて聞いたことがあります。

そういった環境制約があればMECEを崩しても必要かもしれませんが、時代と環境に応じて変えていい部分だと思います。

 

※ただし、オフショア開発だったりするとまた事情が違うので、一概にいらないと言えないのが難しいところですが。。。

 

まとめ

まあ、なんだかんだ書きましたけど、やっぱり詳細設計書って必要だから毎度作成しているわけなんですね。

ただ、何も考えずに「今まで作ったことがある内容を参考に、詳細設計書を作れ」なんてなっちゃうから、使えるんだか使えないんだか微妙な設計書が生産されることとなります。

必要な内容を必要最小限だけ作れるようにすれば、こういったごちゃごちゃした不満も解消されるかなあと思います。

 

※当たり前ですが、大体のプロジェクトはヒト・モノ・カネが限られているわけですし、不要なもんなんか作りたくないわけですし。。。無駄金を使っているのであれば、ある意味景気対策の立役者とも言えるのだろうか。。。

 

 

 

オッサン思うに、こういった成果物定義はプロマネの仕事なんですけど、惰性で決めちゃっているプロジェクトが多いように見受けられます。

プロジェクトの規模や特性、メンバーの力加減、保守体制に応じて成果物を定義することは、プロジェクトの円滑な推進と品質向上、その後の安定した保守のために必要です。必ずプロジェクトの最初には決めておかなければなりません。

 

 

というわけで、元記事に戻りますけど、オッサンの感想は詳細設計書の問題というよりか、きちんと何作るべきか定義できてない成果物定義の問題じゃ?との感想。

つまり、プロジェクト運営上の問題が詳細設計書という形で現れているだけじゃないのかなと思います。

 

 

というわけで、プロマネ仕事しろ!成果物をきちんと定義しろ!が答えな気がします。

 

※ただ、設計する人の話を聞くに「うちのプロマネに提言しても成果物体系を見なおしてくれない」なんて嘆きの声を聞いたりするので、ヘタしたらプロマネ替えろってオチになるかもしれませんが。。。

 

以上