官僚主義

官僚主義についてコメントがついた.ついでなんでちょっと補足しておく.*1
http://d.hatena.ne.jp/JavaBlack/20060214#c1141490705

この業界で官僚主義と言えば,だいたい以下の話は忘れちゃいかんな.*2

ビッグブルース―コンピュータ覇権をめぐるIBMvsマイクロソフト (アスキーブックス)

ビッグブルース―コンピュータ覇権をめぐるIBMvsマイクロソフト (アスキーブックス)

巨象も踊る

巨象も踊る

内側から見た富士通「成果主義」の崩壊 (ペーパーバックス)

内側から見た富士通「成果主義」の崩壊 (ペーパーバックス)


官僚主義がソフトウエア開発といかに適合しないかという点に関しては,話し始めればきりがない.とはいうものの,ことの本質は昔も今も大差ない.ソフトウエア開発の難しさは,ソフトウエアの持つ本質的な複雑さによるものである.ソフトウエアは今も大規模複雑化を続けているので,今後も難しくなることはあっても簡単にはならない.

人月の神話―狼人間を撃つ銀の弾はない (Professional computing series (別巻3))

人月の神話―狼人間を撃つ銀の弾はない (Professional computing series (別巻3))

http://www.biwa.ne.jp/~mmura/SoftwareDevelopment/WhatIsSoftwareDesignJ.html

そういう複雑な物を設計するには試行錯誤を繰り返し,臨機応変に柔軟に対応しなければならない.ところが官僚主義は組織を硬直化させ,ソフトウエア開発に必要な柔軟性とスピードを無くしてしまう.

そして,最後には『管理職』は開発者も含めて全てを管理しようとする.そして彼らは求めるものを手に入れ,全てを失う.

これまでの開発手法が結局何をしたいのかと言うと、人間を交換可能な歯車にすることだ。そういうプロセスでは、人間は種類ごとに分類された資源として扱われる。「アナリスト1丁、コーダー4丁、テスター3丁、マネージャー1丁」みたいな感じで。連中が欲しいのはひとりの人間でなく、単なる役割なんだ。誰が来るかはどうでもいい、人数を揃えればいい。プランに関係するのは人数だけだから、それがわかればいいんだ。(中略)
このことが、強力なフィードバック効果を産んでしまう。もし、あなたが開発者が交換可能な部品であることを期待したとする。そしたら、チームは個々の人間で構成されていることを忘れてしまう。みんなやる気をなくし、生産性も落ちる。そして、デキる奴はみんな逃げ出してしまい、最後にあなたは期待どおりのもの・・・交換可能な部品を発見することになる。
http://www007.upp.so-net.ne.jp/kengai/fowler/newMethodology_j.html

*1:まあ平たくいって本物かどうかも分からんし確かめようもないけど,話自体は興味があるので取り上げることにした.

*2:時間順に並べてみたけど,なんというか日本って米国の10-15年後を忠実に追いかけてないか?