2014年2月1日土曜日

random review 1975 mythtical man-month 人月の神話 P ブルックス

 コンピューター関連の名著というと、だいたいすぐに名前があがるのがこの本とknuthの art of prgramming です。後者は普通の凡人には読むのはほぼ不可能な凶悪な本ですが、こちらは、まぁまぁ程度でも読めます。しかし平均以下には難しいかもです。
 内容はコンピュータの古典時代の話で、それについてはほとんど、はぁ?という感じなのですがそれ以上に、この本は組織論、というか多人数で何かを作るにはどうすればいいのか?っていうチーム論、特にハードのものではなくて、ソフトのものを作るには?です。ハードなものをチームで作るのは、だいたい指令塔と奴隷でいいわけですが、ソフトではそうはいかない。ソフトのものを多人数で創造するには?っていうのをちゃんと描いた初めての本なのかもしれません。 ほいで名言も豊富で、なんだろうインテリをくすぐる語り口でもあります。


  ただシューマッカーの経済学についての云々みたいな、話はちょっと解せないところがあって、この作者は明らかに宗教家で、神に感謝感謝してるとこからも明らかなように、実社会についてのシステム分析は投げたというか逃げてるとこがあると思いますね。シューマッカーにしろ、アマルティア・センにしろ、なんにしろ、もっとニンゲンにやさしい経済学をつくろうみたいな戯言を言う人がいますが、そういう方々に共通してるのはだいたい道徳を神様から導き出してるし、ありえない信仰を持ってるってことです。 みんなが賢くなってきちんと判断できるようになる、はっきり言えばそんなコトは永遠に無いです。ニンゲンの知能もまた確率分布であって、教育で突破できるのは、一部分でしかない、という事実をまったく認めない。自分の信じたいものを信じようとする。教育や本、が変えられるコトなんてほんとはほんの少しです。ペンより剣のほうが強い。
 Iには彼らが合理的な発想でコンピュータをデザインするのに、カミサマ云々を言うようなコト(ニンゲンが協力して良い社会が作れる、みたいなこと)がニュートンが物理学を考えながら錬金術を研究するのと同じくらい気が狂ってると思いますけどね。というかこんなに頭がいい人達でも、実社会の改良法となると、ピカッ、そうだ全員がイエス・キリストになればいいのだ!みたいなコトを本気で言い出すのが恐ろしいですね。基本的に左派系のなんだろーヒューマニストみたいなバカの言うことを、突き詰めればそういうことです、皆がイエスになりましょう、みんなが優しく他人のことを考えて・・・。ありえないですわそんなこと。それは人類全員が100M9秒台で走ればいいんだ!!みたいにありえないことです。
  それはたぶん彼らが上澄み、のニンゲンだけで構成された組織に属してるからでしょうね、低レベルのニンゲンとは接触しないようにセンバツされてる、大企業の開発部や大学なんてまさにそういうところです。そして世界はその延長だと思ってる。そこには医者は道端に倒れてるニンゲンを助けない、病院に来た保険証を持っている金の払えるニンゲンだけ助けるのだ、そしてこのシステムが成功したところでこれはそれを買えるニンゲンとそれを使ってさらに搾取するニンゲンにだけ利益があるだけで、結局金のない大部分のニンゲンには永久に損しか産まない(文明は貧民の数だけを確実に増やす Iが作った法則ですw)みたいな皮肉をいうIみたいなイヤなヤツもいなければ、単純な粗野な阿呆もいないわけです。
人ってのは豊かになるとそうやって足切りして都合の悪いことを観ないようになる、だいたいどんな有能なニンゲンでもそうです、進んで見たくないものを見ようとするようなヒトに会いたいものですね。







まとめ
 ・製品は経験的にそれを単体として売るためのデバッグにその三倍、そしてそれをもっと大きなシステムの中の一部として汎用化するのにその三倍。大規模なシステムで汎用的に使える製品にするためには、単体として、デバッグされないプライベートなものの9倍のコストと時間がかかる。
 (これが小さな集団が大企業よりもスピードが早く新しいものを作ったりする理由だ)

・ManーManth 人間と時間は交換出来ない。遅れているからといって人間を増やすと、だいたいは、すべてが破滅する

・楽観主義というのはほとんどいつも根拠がない、そして楽観主義の結果滅びたものは数多い、楽観主義でなんとかなったことのほうが数少ないが、楽観主義者はそれを楽観的に見逃す。


・遅れている(分割不可能で教育の必要のある)ソフトウェアプロジェクトに人員を増やすのは結果的により遅れることになる。

・才能のある物と二流ではおよそ10倍の実績生産性が違う(ソフトにおいて)

・少数精鋭チームは10人を超えてはならない。

・コンセプトの完全性がシステムのすべてであり、そのコンセプトから外れるアイデアを民主的につのっても仕方ない、天才主義によるアーキテクトが重視されるべきである。そして天才によってアーキテクト、コンセプトが設定されることで、その制約のなかでインプリメンター(実現者)は創造力を発揮できる。

「形式(制約)こそは自由な創造の源だ」

・セカンドシステム症候群
 2つ目のプロジェクトで、1つ目で採用できなかったアイデアをてんこ盛りに盛り込み、全く無駄なモンスターを産んでしまうこと。一つ目は誰もがとても慎重にやり、自分を抑えることができる。また3つ目も、経験や反省から自分を抑えて客観的に判断ができる・・


創世記 
バベルの塔と町を立てるのを神が神が見て
「・・・彼らはすでにこのことをなし始めた。彼らがしようとすることはもはやとめどがないであろう、さぁわれらは下って彼らのコトバを見出し互いにコトバの通じないようにしよう・・」


 バベルの塔はなぜ失敗したか?
1明白な使命や目的はあるか?  ◯ 世界へ豊かさを示す
2人材   ◯ ヒトがいくらでもいるようだ
3 材料 ◯ 土はいくらでもある
4時間  ◯ 世代を繋いで作業できるようだ
5 技術  ◯ ピラミッドは高さの制限なく作れる・・(底面積が巨大になるが)

6 管理とコミュニケーションはできていて組織化されているか?
 ☓ 互いに意思が疎通できなくなってブンレツした。


思考する人間はあまり見ないし、実践する人間はさらに稀である。
思考しまた実践する人間などいないといっていい。


 マネージャーの仕事は全員を同じ方向へ進ませるコトであり、その主要な仕事は意思決定ではなくて、コミュニケーションである。 


・最初にはどうしてもひとつ捨て石をしてパイロットプロジェクトをやる必要がある、どうせそうせざるを得ないのだから。


「物事はすべて、最初が最高のものである パスカル

 ↑歴史においてもそうで、膨大なエネルギーにより、文明と社会が作られたが、それは常にどこかがおかしく、決まって独裁を産み、悲惨な破滅を迎える。
 機械は必ず壊れる、初めは順調に見えるが必ず故障する。*文明や社会も同じだ・・
                 CS ルイス


・組織の中では、個人の才能と、ハッスルプレイ 、求められている以上の頑張り、余剰の頑張り、が重要になる。スケジュールが遅れるリスクは無限にあり、それを穴埋めするのはハッスルプレイしかないからである。


 理解出来ないものは所有出来ない
          ゲーテ


 仕方、を教える、のは教育としては何の成果も上がらない
実践して、示す、のが教育である。


 病気治療の第一歩は悪魔やカミサマへのお祈り、民間信仰などによる奇跡の治療(銀の弾)、を信じるのをやめにして。細菌や微生物と戦う為に衛生や清潔など地道な努力をしかも継続的に行うことが必要だと気づくことである。魔法は無い、地道な道しかない。
 ソフトウェアもまた、ハードのような爆発的成長は期待出来ない、地道な道しか存在しない。


 ソフトウェアは、異なる物の積み上げなので、サブルーチン(つまりループによって製造を単純化出来ない。ソフトウェアはそういうわけで人工物の中で一番複雑なものである。
 またソフトウェアの複雑さはその本質であり、数学や物理学が物事を単純なモデルに置き換えることで、この三世紀の間性質や予測をできるようになったのは、その対象の複雑性が本質的なものではなかったからである(*特に物理では、物事は単純なモデルに従うという信念は公理となっている、それを信じる理由はない、それが間違っていることは十分ありうる)ソフトウェアにおいては、単純にモデル化すればその本質自体が失われる。そして複雑さ、は非線形に増加し続ける。


 マネージャ、デザイナー(アーキテクト)(トップダウンの上に立ち意思決定をする)、の役割をどんな小さなチームにも作ることで生産性が上がる。