続々登場電話占い
厳しい雇用基準に加えてTが余分な人員を抱えたがらないこともあり、CSLの人員を増やすのはほとんど不可能に近かったのである。
CSLに新たな研究者が加わるとしたら、博士号を持つ人間以外には考えられない。
だが、博士というのはだいたいがわがままで頑固だから、命令されたことを素直に実行するとはかぎらない。
少なくとも、C・Sが頼んだことをやろうとはしなかった。
Sは博士号を持っていなかったのである。
そこで、Sはあるトリックを考え出した。
プログラマの生産性を調査し、それを向上させる方法を研究するプロジェクトを提案したのである。
この研究のあいだ、スタンフォード大学コンピュータサイエンス学科の学生が被験者として雇われ、Sの監督のもとにソフトウェアを書くことになった。
このソフトウェアこそ、Sがアルト用にと提案したエディタ「ブラボー」である。
学生たちを「被験者」と呼ぶことで、SはPARCに働き蜂を入れることに成功したのだった。
ブラボ−の実験は完璧な成功を収めた。
完成したワードプロセッシング・プログラムは、最終的なプリントアウトに近いイメージを画面上に表示する、最初のソフトウェアの一つとなったのである。
この悪巧みの産物はブラボ−だけでなく、S自身の博士論文の基礎データをも生み出した。
その結果、彼もPARCのわがままな連中の仲間入りをすることになったのである。
1976年に発表された論文には、『メタプログラミングlあるソフトウェア制作技法』というタイトルがつけられた。
この論文は、プログラマたちを効率よく管理する方法をまとめたものだ。
ソフトウェア開発というのは、常に投入できる時間を使い切ってしまうものである。
どれほど多くの時間を設定しようと、結果は変わらない。
ソフトウェアは決して早目に完成することはないのだ。
そこで彼の論文は、かぎられた時間内でどうすればより多くの作窒余行えるかを考察している。
Sはブラボ−での経験を振り返り、単に開発チームの人員を増やすだけでは迫り来る締切に間に合わせることはできない、と結論づけた。
多くのプログラマをある決まった方向に向かわせるには、前もって意志の疎通を図っておく必要がある。
プログラマを増やしただけでは、単に間接的な時間が増えるにすぎない。
このオーバーヘッドは必ずといってよいほど、余分に投入したマンパワーを飲み込んでしまうのである。
従って、プロジェクトに人員を追加投入しても経費だけが余分にかかり、同じ時間で達成できる成果は当初の小さなグループの場合と変わらない。
プログラミングの生産性を改善するにはプログラマを追加するのではなく、すでにプロジェクトに参加しているプログラマの使い方を改善しなければならない。
その手段として、Sは「メタプログラマ」というポジションを考え出したのだった。
メタプログラマとはソフトウェア開発チームのデザイナーであり、意思決定者である。
B会長の理想と現実ションの管理者である。
Sはブラボー開発チームのメタプログラマとして、このエディタプログラムの画面デザインや内部コードの構造を決定し基本設計を行った。
しかし、彼は実際のプログラムコードは一行も書いていない。
Sは、「被験者たち」がきちんと動くプログラムコードを書けるように、ブラボ−の仕様を細部にわたって記述した仕様書を用意したのである。
プログラムの全体像をデザインし終わったら、メタプログラマの仕事は開発チームのメンバー同士のコミュニケーションをとることと、意思決定を行うことに移る。
メタプログラマは元請け会社のようなもので、下請け会社であるプログラマ間の調整を図り、やるべき仕事を指示し、彼らの作業の進展状況を評価して必要な決定をくだす。
各プログラマは、設計面で決定をくだす仕事から解放されるのだ。
彼らはメタプログラマが書いた仕様に従って、実際のコードを書くだけでよい。
あらゆる判断はメタプログラマにまかされるのである。
一方、メタプログラマは可能なかぎり迅速に決定をくださなければならない。
Sは、このような状況では決定の内容よりも即座に決めることのほうが重要だと判断したのである。
メタプログラマが暫定的にくだした決定のうち、最終的に少なくとも85パーセントが正しいと仮定すると、熟考したうえで決定した場合には得るものより失うもののほうが多い。
85パーセントという数字は、少なくとも自分なら直観力だけで達成できるとSが自信を持っている比率である。
メタプログラマはまた、プログラマ同士のコミュニケーションの面倒もみる。
電話交換手のように、メタプログラマはプログラマ間のコミュニケーションの中心に位置するのである。
問題や疑問が生じると、プログラマはそれをメタプログラマのところに持って行く。
メタプログラマはその問題や疑問に対して、自分で答えるか、解答を知っていると思われるほかのプログラマにそれをまわすのである。
全員でその問題を検討するというやり方もあるが、その場合は多くのプログラマが並行して同じ問題にとりかかることになるので、グループ全体の延べ所要時間が大幅に増大することになる。
設計、意思決定、そしてコミュニケーションを一人のメタプログラマに』乗中することによってソフトウェア開発の効率が上がり、より短時間でプロジェクトを完了できるとSは考えた。
このプランを成功に導くカギは、言うまでもなく、メタプログラマの決定に逆らおうなどと考えもしない従順なプログラマがどれだけ見つかるかということにある。
このメタプログラマ方式の皮肉なところは、PARCのエリート主義に強く反抗して不満を表したSが、エリート主義を権威主義に置き換えたはるかに柔軟性のない構造を自分の論文で打ち立てたMが、流動的な構造を持ったTの研究室の場合、エリートだけが要求の厳しい知的環境で生き残れる。
ソフトウェア開発組織に助手を入れるために、Sはメタプログラマというたった一人のエリートが権限を持つシステムを推進した。
CSLではほとんどの意思決定が研究グループにまかされているのに対して、Sのシステムではメタプログラマだけが決定の権限を持つ。
こうした違いはあるものの、CSLのTの組織もSのメタプログラマ・システムも、ハブとスポークの構造をとつている。
だからこそ、Sがブーフポーの作成に使ったトリックも可能だったのである。
ハンガリー人であるSは、理想のソフトウェア開発チームに祖国の計画経済の考え方を模倣させようとした。
メタプログラミングはソフトウェアの集団農場である。
しかし集団農場の常として、実際にはうまく機能しなかったのである。
「私は長い間、われわれはPARCで損失を出してでも作る価値がある、ものすごく偉大なものを創造していると信じていたんだ。
だが実際にはアイデアはよかったが、成果自体は再現可能なものばかりだった。
PARCは唯一無二の場所というわけではないんだよ」「彼らは、ビジネスセンスをまったく持ち合わせていなかったんだね。
石油ショックのあとのことだけど、ある日の昼食のときにPARCの要職にある人間が、石油には価格の柔軟性がないと主張したんだ。
あえて電話占いの登場です。 インパクトのある電話占いです。
待望の電話占いが登場しました。あらゆる職場の電話占いを簡単に請求できます。
電話占いがオススメです!電話占いは女の子の永遠のテーマです。