何を持って基本設計完了と定義するか?

問: なにをもって基本設計完了と定義するか?

この問いかけをあちこちで何度もしてきたが、納得出来る答えが帰ってきたことはない。今日もTwitter界隈でこの質問をしてみたが...やはり答えは返ってこなかった。正確には「顧客との合意形成を持って完了とする」という答になっていない答がきた、というところ。詳しくはTwitterで私の発言を検索してくだされ。Togetterにまとめようとしたが面倒くさい(笑

「何を持って基本設計完了と定義するか」という問に対する答はざっと以下のように分類できる。

  • 完了という合意が得られれば、完了
  • 問題点がないことを確認したら、完了

だけどこのどちらも答になっていないんだよね。

前者は「ここまでにしておきましょうかね」「そうですね」という「主観的判断とそれに対する同意」でしかない。主観的判断を下す人が設計における漏れ・誤りを見落とせばそれは必ず実装段階以降で跳ね返ってくる。そもそも漏れ・誤りがないと確信できる客観的基準があれば「完了という合意を持って完了」などという線引きなどはありえないわけだから、このやり方は「漏れ・誤りを排除できない」という事実を暗黙のうちに了承していることにも注意すべきである。

後者も答になっていない。ソフトウエアの場合、設計書に問題点がないということが確定できるのは、その設計書を元にした実装が完成してからである。「この設計書で問題なく動くはずだ」と判断するのは、実は「完了という合意が得られれば完了」と大差ないのである。

なんでこんな話になったのか?

ソフトウェア開発工程が建設業などを手本にすることは正しいのか? という議論が発端。たぶん、このあたり。

あとはひたすら発言を追ってくださいな。Togetterへのまとめ歓迎(笑

追記

@ozeroさんによるまとめが掲載された。感謝。→http://togetter.com/li/62976