このウインドウを閉じる

There is safety in numbers.

 
 先月、新聞(日曜日版) の書評欄を読んでいて、(専門化の) 「たこつぼ」化という言いかたが目に入ってきました。書評欄では、その書物を誉めていて、(専門化の) 「たこつぼ」化現象のなかで、著者が、様々な観点に立って、論点を包括的に検討していることを高く評価していました。なお、著者は、大学教授で、或る研究領域の専門家です。ちなみに、書評した人も、(同じ研究領域を専門にしている) 他の大学の教授でした。

 この「たこつぼ」化という言いかたが、強烈に、記憶として遺っています。コンピュータ業界では、まさに、この現象が顕著でしょうね。「エンジニアは、専門家として、専門技術を、つねに、最新状態にするために、追究する」ことを、ぼくは勧めているので、「たこつぼ」化現象という言いかたを、非常に気にしたのだと思います。

 専門領域の「たこつぼ」化のなかで、むずかしい立場にあるのが、ユーザ企業の IT 部門でしょうね。SI 社とかソフトウェアハウスは、専門家として、様々な専門技術を習得したエンジニアを雇用 (あるいは、育成) すればよいのですが、一般企業の IT 部門が、社員 (IT 部門のエンジニアたち) を、ソフトウェアのエンジニアと同じように、育成することは、まず、むずかしいのではないでしょうか。しかも、一般企業では、往々にして、エンドユーザが、(キャリアのローテーションとして、) IT 部門のほうに配属されることがあります。

 そういう状態のなかで、システムを作る際、プロジェクトの進捗を、だれが管理するのか--あるいは、様々な技術の「有効な編成」を、だれが判断するのか--、という点が論点になるでしょう。一般企業は、システムの目的さえ実現できればよい、と考えるなら、SI社のほうに、すべてを委託すれればよい--「丸投げ」すればよい--、ということになります。
 そして、ユーザが RFP (Request For Proposal) を作成する力 (ちから) があって、また、システム投資が、収益のなかで (或る範囲以内に収まるように) 回収できれば、それはそれでよい、と ぼくも思います。

 そういうことができるためには、ユーザは、事業の観点に立って、コンピュータの有効性を考える力がなければならない--そして、コンピュータの技術を、なまじっか、知らないほうがよいでしょうね。そうであれば、IT 部門を撤廃して、それぞれの事業部長が RFP を作成する、という形態が理想形でしょうね。

 もし、IT 部門を撤廃したら、ソフトウェアハウスが、どういうことをやっているのか、「技術的に」知ることができない、というのであれば、IT 部員が習得しているような、なまじっかの知識では、専門家のソフトウェアハウスがやっていることを、そもそも、判断できないでしょう (笑)。いっそ、事業の観点と対比して納得できないことを拒否する、というほうが妥当です。
 ユーザが、なまじっかの 「技術的な」 知識を振り回して、作業に介入するなら、専門家は困るでしょう。

 システムというのは、1つの目的に対して、様々なモジュールが有機的に編成されている構成になっています。言い換えれば、総体を、1つの「切れ目のない」構造として作らない。一昔前なら、或る対象を、まず、総体として考えて、「divide and conquer (分割統治)」 したのですが、いまでは、逆に、小さな 「autonomy」 が、network を構成する--参加することも、脱退することも、任意である--、というふうに考えたほうが、「構造」を作りやすい。われわれの業界では、「たこつぼ」化現象が進んでも、network (あるいは、interface) さえあれば、相手が欲しがっているデータを送ることができる、という考えかたをしています。

 そして、そういう構成を前提にして考えれば、興味深い点は、(アプリケーション・システムを作る技術に限るならば--データ設計技法およびプログラム作成技法に限れば--、) 或る「たこつぼ」が、ほかの「たこつぼ」のなかを知らなくても、技術的な依存関係はない、という点です。どちらの「たこつぼ」を重視するか、という点は、きわめて、「恣意的」です。ただし、それぞれの「たこつぼ」が、唯一、依存しなければならない対象は、「たこつぼ」 が存在できる海たる「事業のなかで使われている情報」です。

 したがって、事業の中身を記述した設計図さえあれば、どのような技術を選んで使うか、という判断 (技術の「有効な編成」) は、非常に「恣意的」になる、と思う。たとえば、対象となるシステムが、さほど、mission critical ではないのであれば、マーケットにでてきたばかりの state-of-art を実験的に使うかもしれないし、mission critical なシステムであれば、データベースの作り直しを優先するかもしれないし、value-chained のネットワーク組織を考えるのであれば、internet 技術を優先するかもしれない。

 ぼくは、「たこつぼ」化を、技術的には、さほど、悲観的に考えていない。技術的なトラブルが起これば、専門家どうしが協議すればいいでしょう。ぼくが、「たこつぼ」化のなかで、うんざりするのは、「たこつぼ」どうしが協調しない--あるいは、或る「たこつぼ」が、ほかの「たこつぼ」を認めない--ことが起こるときです。そして、システム作りのなかで、やっかいなことが起こるとしたら、それは、たいがい、「人為的」な できごと であって、「たこ」 どうしが、優劣を競って、喧嘩しはじめることでしょうね。(参考)

 
 (2005年 7月 1日)

 
(参考)
 1つのシステムを作る際、いくつもの技術が使われているのであって、トラブルがあった際、或る「たこつぼ」が、「それは、ウチが原因ではない。ほかのプロダクトが原因でしょう。」 と言い切る態度に対して、小生は憤慨する。まず、「現象を調査します。」 というのが、プロフェッショナルな言いかたではないか。「たこつぼ」 が、いずれも、「わたしたちではない」 と言うなら、ユーザを 「たらい回し」 にしていることになる。そういう現象が、「たこつぼ」化の人為的悪弊でしょうね。
 自らの技術に対して自信を抱くことはよいが、「完全無欠」と思うのは驕りでしょうね。およそ、システムを実際に作ったエンジニアであれば、システムを作ることが、いかに、むずかしいか--事象の網羅性を考えることが、いかに、むずかしいか--という点を知っている。

  このウインドウを閉じる