Somewhere between
ソフトウェア、ハードウェアに関わらず、テクノロジーについて論争というか比較する場合、人は、どっちが優れているという形に落ち着かせたい傾向があります。
しかし、現実には、絶対的にどちらかが優れているということは、まれであるか、あるいはそういう判定を下すことが不可能な場合が良くあります。
そういう状況を表すのに英語では、便利な表現があって、それを今回の表題に使わせてもらいました。
私は、今の会社にお世話になる前には、今はなきDEC(Digital Equipment Corporation)に所属しておりました。
DECもInterSystemsも場所的に近く(米国マサチュセッツ州)、同じ様に技術志向の会社ですが、アプローチがまったく異なっていて、まさに表題の状況を表すのにぴったりだと感じています。
DECは、知る人ぞ知る優れた製品をたくさん生み出した会社です。
もちろん革新的な人物のリードがあったればこそという所もありますが、仕事のやり方は、エンジニアリング系の会社としては、極めてオーソドックスで、プロシジャにのっとり、きっちりと仕事をしていく感じです。
私が関わっていたのは、ソフトウェアエンジニアリングの分野ですが、とにかく製品開発プロジェクトを開始する前にスコープをはっきり決めます。そして、たとえば、ある業界標準のスペックを新たに製品に取り込む場合には、そのスペックで定義されているもの(例えばRFC)すべてをもれなく実装しようとします。 ドキュメント(製品マニュアル)も完全に揃うまでは、製品としてのリリースは、ありえません。
製品を使う立場からいえば、最も安心できる状況のはずですが、DECのソフトウェアは、総括するとあんまり成功した製品は少ないと思います。大抵のものは、どこかに売却されました。
実は、InterSystemsもDECのソフトウェア製品の1つを買収しました。
一方、InterSystemsの方は、完全にカスタマドリブンというか、各バージョン毎に実装される機能は、不確定のままプロジェクトは進行していきます。
さらに、カスタマからある業界標準の実装リクエストがある場合も、その業界標準のフルスペックを実装することは、ほとんどなく、その標準の内、本当に必要な仕様はどれかということを十分調整してから、必要最低限の実装に抑えようとします。
これは、決して多くはない製品開発者が開発をこなすための方策だったり、余計な機能を取り込むことを防ぐことによる性能劣化の防止という意味を含んでいるかもしれません。
これは、昨今注目されているアジャイル開発のフィロソフィーである今必要ない機能は実装しないという考え方と通じるものがあるように感じます。
とはいえ、我々のようなフィールドのエンジニアにとっては、カスタマの要求を通すのに製品開発者との調整に大変労力を要したり、マーケティング部門の説明資料には、ある業界標準をサポートしていると書いているが、それがかなり部分的なサポートであったりした場合に、何がサポートされていて何がサポートされていないかを説明するのに苦労したりする部分があります。
今後もsomewhere betweenのどこが良いかも求めて模索が続くことでしょう。