設計だけではそれ自身の正しさを実証できない
なんかコメント欄が盛り上がってたので。
>机上の検証では完全な検証なんてできなくて、実装してみないとわからないことがたくさんあることが問題なんです。
大体同意。
2008-07-25 - kなんとかの日記
大体といったのは、完全な検証ができないのと、検証をする気がないというのは違うということ。俺の認識では後者が圧倒的に多い。つまり、上流で実装可能性分析を放棄している開発が少なくない。にも関わらず、実装時に問題が発生した際の責任を上流担当者が負うことがない。それが問題なんだよ。
これは同意せざるをえない。特に『完全な検証ができないのと、検証をする気がないというのは違う』という箇所と、『上流で実装可能性分析を放棄している開発が少なくない』という箇所。
>プログラマだって低能なのは非常に多いですよ。
2008-07-25 - kなんとかの日記
この議論はプログラマの責務の定義が必要だが、ざっくり言うと、プログラマの能力に依存する設計はありえない。つまりプログラマの能力がある水準を満たしてれば生産性に差が出る分けない。逆に、その水準に満たないプログラマは職業プログラマではない。その意味で職業プログラマ以外がプロジェクトに紛れていることはあるのは確かに問題外だが、それはアサインした奴の責任。プログラマには罪はない。
『プログラマの能力がある水準を満たしてれば生産性に差が出る分けない』という箇所は同意できない。能力に上限はなく、どの水準を基準にしても能力による違いは大きくでる。
プロ野球を例にすると、プロ野球に入団できる人間はまさに高い水準を満たしたプレイヤーばかりであるが、それでもイチローのようなプレイヤーもいれば、一度も一軍に上がることなく引退するプレイヤーもいる。
おそらく多くの者はプログラマの責務を広く捉えている。つまり多少の設計はプログラマの責務と。この「多少」がどこまでの範囲かにより大分違う。
2008-07-25 - kなんとかの日記
プログラマの責務を語るためには設計と実装をきちんと分ける必要がある。その上でプログラマの責務の範囲の認識をシェアできなければ議論は無理問答になってしまう。
『設計と実装をきちんと分ける必要がある』のはその通りだけど、今のところ設計だけでそれ自身の正しさを実証できないので、分けられないと思う。というか、分けるから現状のような問題だらけの開発になっているんじゃないだろうか。