2016-11-05

なぜソースじゃなく詳細設計を欲しがるのか

Javaを始めとするオブジェクト指向言語による開発になると、設計手法も従来とは大きく変わる。

その結果、不要になるドキュメントが出てくる。

詳細設計のことだ。

ここでいう詳細設計とは、本来コード記述する処理を、逐一日本語で書き下したものを指す。

てか、そんな物を読むくらいなら、現物ソース読めよって話だ。

だいたい、ソースに書くレベル粒度記述を、なんでいちいち日本語なんて表記揺れも甚だしいフォーマットで書かにゃならんのだ。

何よりソース修正が入ると、遡って詳細設計も直さないと整合性が取れなくなるので、言うなれば二重に工数を掛けることになる。

「違うよ、設計を直して実装するんだよ」というが、合理性を重んじるSEPGという人種が、実質同じ内容を何度も書きたがるわけがない。

それに、単体テストくらいまでの段階ならともかく、開発要員が縮小される結合テストシステムテスト以降で、そんなことをしている余裕など現場にはない。

結果、実装と合ってないドキュメントけが放置されてしまう。


でも、そうなることが目に見えているにも関わらず、欲しがる客や元請が後を絶たない。

負担ばっかり増えて、尚且つ無意味作業やらせるなって感じ。

なんでそんなに「日本語訳」が欲しいの?

ぶっちゃけソースコードレビューでいいじゃん。

もし客がソースを読めないなら、その時に客が読みたい部分だけを元請が訳して説明すればいい(全部読みたがるヒマな客なんてそうそういないだろうし)。

そして元請はITプロなんだからソースなんてスラスラ読めて当然なわけで。英語読めない英語専門家存在しないのと同じ理屈ね。

それこそ読み取り専用でリポジトリアカウントの一つや二つくらいいつでも作れるので、ソース抜き打ちレビューどうぞって話だ。


はいえ、別に何も「真実ソースただ一つ!」なんて言うつもりはない。

ソースに行き着くまでにも考えることは色々あって、その考えた結果は全て形に残さなければならない。

ソースもまた考えた結果の成果物の一形態であり、他の形態が、各フェーズで書くドキュメントなのだと思っている。

そしてドキュメントがあるお陰で、システムがトラブった時もいきなりソース問題箇所を探し回る苦労から解放されるのだ。

ドキュメントを手がかりに「このクラスの、このメソッドが怪しい」まで行き着いてから、そこで初めてソース確認すればいいと。

Javaだったら、ユースケース図、アクティティ図、クラス図、シーケンス図、Javadocによるメソッド説明と読み込んでいってアタリを付け、それから当該メソッドソースを読めばいい。

逆に言えば、記述粒度が同じ成果物は2種類以上も要らない。整合性を保つための手間が増えるだけなので。

詳細設計書は不要というのはそういうことだ。

つーか「ソースが読めないか日本語訳を渡せ」とか甘えんな

  • http://anond.hatelabo.jp/20161105155342 「ソースなりドキュメントください」って時は、その対象のアプリなりシステムの正しい仕様や挙動を知りたいときかなと思う。 俺は開発者の端くれだけ...

    • 「詳細設計書」の書き方も会社によるだろうけど、ソースコードと「粒度が同じ」っつーんだから、それこそif文for文と対応するようなドキュメントを否定してるんだろう

  • 昔のソフトウェア開発だとコンパイルをできる大型計算機ってのはとっても高価で一台しか無かったそうな おまけにコンパイルするためには平気で1日とか2日とかかかっていたそうな ソ...

  • そういう客から金貰ってんだろ。甘えんな。

  • PHPのビルトインサーバーを2016年まで知らないような人には確かにソースより詳細設計が必要で、ソース見りゃ分かるよって人にはソースを見ても分からない人の気持ちが分からないしそ...

  • http://anond.hatelabo.jp/20161105155342 ↑の記事を書いた元増田です。 色んなブコメやトラバを頂いたが、その中でnekora氏の発言が看過できないというか、非常に示唆に富む内容を含んでいたの...

    • 詳細設計書を読むべき主な人間は、設計書に従い実装するコーダであるのは言うまでもなく当然の事でありこの辺からすでにはき違えているのには呆れるばかり。 読んで憤慨。そんな...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん