システムの設計と施工を分離する
http://watanabek.cocolog-nifty.com/blog/2006/02/post_2a9a.html
メモ.
やあ,これは「是非突っ込んでください」という記事ですね.
「使いやすさ」やよりも「作りやすさ」を優先した設計にすれば、施工コストを抑えられる。
「作り易さ」よりも「設計のし易さ」を優先した設計にすれば,トータルのコストは文字通り桁違いに増大する.しかも作りにくいソフトというのは往々にしてスパゲッティプログラムになりやすく,機能追加もパフォーマンスチューニングも改良も不可能になりやすい.
また、自分たちしか理解できないハチャメチャな設計をすれば、改修フェーズで顧客を囲い込める。ことさら悪意がなくても、業者が利益確保のために暴走してしまうことはあり得る。
「設計者」が誰にも理解できないハチャメチャな設計をするのは,いつものことだ.悪意があるとしか思えないぞ.*1
むしろ、大規模で複雑なモノの建造委託における基本が「分離発注」であることを考えれば、ウォーターフォールは企業システム開発の宿命ではないだろうか。
ここでいう「大規模で複雑なモノ」とは一体何をさしているのだろう?たとえばトヨタが自社の自動車の設計/開発を日産やGMに委託したことがあるのだろうか?
或いは,たとえばIntelが自社のCPUの設計を一体どこに任せられるというのだろうか?その設計は製造プロセスや発熱などの企業秘密となる様々なデータとも密接に関係すると思うが,Intelの企業秘密を知り尽くした設計専業ベンダーとは一体どこにあるのだろう?寡聞にして私はそんなベンダーの存在を知らない.
「分離発注」で依頼されたとたん、プロジェクトは遠目にはウォーターフォール方式にならざるを得ない。
ソフトウエアにおいては「設計書」が存在しないのだから,分離発注はあり得ない.よってこの議論は無意味だ.
筆者自身、90年代の初め頃にそのやり方をセミナーで「非現実的な机上の空論」と大批判していたものだ。しかし、そこで偉そうに語って実践した「現実的な手法」はうまくいかなかった。
無知だな.
アジャイル開発手法が出てきたのは約2000年前後.せいぜい90年代後半.90年代初めということは一世代以上昔の話なので,現在とは事情が全く異なる.
我々が目指すべきは、ソフトウエア業界が、他の工学系業界と同様に「宿命としてのウォーターフォール」を受け入れ、適応することだ。
誰もそんなことを宿命だとは思ってない.ここまで来ると無知というのも犯罪だな.
*1:本当は「悪意がある」のではなく「能力がない」だけなんだろうけれど.しかし悲惨なまでに下手くそな設計を見る限りは,こちらに個人的な恨みでもあるようにしか思えない.
耐震強度偽装事件は“他人事”か
http://itpro.nikkeibp.co.jp/article/Watcher/20060218/229753/
いや,全く同じだ.
「下請け構造だけでなく技術屋のモラルも,建築業界とIT業界は似ているのかも知れない」と思う。
モラルがあっても構造的問題の前には役に立たないという点かな?それなら同じかもね.
技術に関して「Yes」,「No」をはっきり言う,問題があればそれを指摘する,分からなければ調べる。それがSEやコンサルタントが持つべき倫理観だ。
そして「No」と言った人間には二度と仕事が来なくなり,何に対しても「Yes」と答える者のみが生き残る.モラルのない人間のみが生き残るのは選択淘汰の結果だ.それを望んだのは顧客であって技術者ではない.
それは希望的観測というものだ.そして,悲しいかな,今の所はその希望は現実的とは言えない.