7/2/2000
「Research と Development の間で」

-- @ -- @ -- @ -- @ -- @ -- @ -- @ -- @ -- @ -- @ -- @ -- @ -- @ -- @

これは福沢伴子さん との会話などから。

他のフィールドでも恐らく似たようなものかと思いますが、computer science では research と development というとたいていは違う人達がやってます。 research は、直接利益に繋がらなくても、長期的視点で見て、テクノロジー の進歩に貢献すると思われるプロジェクトをやります。developement は、商 品化され、利益に繋がるプロジェクトをやります。大学の研究所はたいてい research をします。大企業、IBM、Microsoft、SUN、HP、AT&T などは、独立 した development と research のグループを持っています。

こういう企業・大学がどういうふうに動くように設計されているかと言うと、 research が長期的視点を持って考え出し作り出した物事を、development が 拾い上げて、細かい所を詰めて、商品化して、もうかってウハウハ、という形 です。しかしながら、物事はそうは上手く行きません。development 側が research の作ったプロジェクトを元にして商品化するものは、百件のうち一 つ、と言われています。さて、これは由々しき問題ですね。99 件分の research に投入された resource が無駄になってるわけですから。これが何 故かを考えて見ましょう。

私の結論を先に書いときますが、原因は「research は賢い人がするもの」と いう誤解だと思います。まずは両方の証言を聞いてみましょう。

researcher は、常に developer の文句を言っています。「我々がこ〜んなに hard work して、こ〜んなに偉大なプロジェクトをやってるのに、developer が {lazly で} or {stupid で}、このプロジェクトを pick up して support しようとしない。だから我々の努力は徒労だ。けしからん!」

developer は、常に researcher の文句を言っています。「我々がこ〜んなに hard work してるのに、やり出したのは researcher だから、credit はみん な researcher のものになってしまう。だと言うのに、持って来るプロジェク トの完成度は低いし、何か分からなかった事がある時に真面目に教えてくれよ うともしない。けしからん!」

例えば、IBM Research でやっていた 4758 という secure coprocessor を作 るプロジェクトは、research としてはかなり上手く行っていて、商品として も IBM としてかなり必要にされているものだったにも関らず、 developement への移行が上手く行かず、結果、research group がサポートを しなければならなくなり、それが嫌で嫌でしょうがなかった主な researcher が会社を辞める、とかいう泥沼状態に陥りました。何でこうなっちゃうんでしょ う?各論してみましょう。

そういう訳で、「research は賢い人がするもの」という価値観を撲滅させな い事には、拉致、いや埒があかないと思うのです。ですから、そういう価値観 を持ってる人でこれを読んでる人は、今すぐあなたの中のその価値観を撲滅さ せましょう。development は、research と同じくらい重要な事なので、賢い 人がやらなくちゃだめ。

そして、プロジェクトの必要性の分析 -> research -> development -> support という一連の流れを、同じ人ないしチームがやるべきだと思うのです。 変化がめちゃめちゃに速い computer の分野においては、先を読んで research をする、という事よりも、今必要な事をやって、使って、そして今 度は、次に何が必要か、という小さい積み重ねのほうが重要だと思うのです。

というわけで私は学校から開放されたら、さっさと development に行きます。 researcher になるより給料が低かったりするとめちゃめちゃ嫌なんですけど、 まあ仕事のためにはしょうがないっすよね。