
第19回 ソフトウェア開発のパラダイムシフト
![]() |
[プロフィール] お がわ・ひろし●1996年、デル、ゲートウェイの代理店としてマレーシアにて日系企業及び在住邦人向けのPC通販ベンチャーを創業するなど、アントレプレ ナーとして活躍。その後日立製作所を経てサイボウズにジョイン。feedpathの基本設計を考案し、現在に至る。ブロガーとしてSpeed Feed、「Web2.0BOOK」「ビジネスブログブック」シリーズなどの著作がある。 |
プラットフォームの違いを考慮
つまり、Microsoft OfficeやLotus1-2-3などに代表されるデスクトップアプリケーションの開発です。これらのアプリケーションは、CD-ROMなどの媒体による配布用として開発されるものです。また、動作環境はOSの違いやそのバージョンに依存することになり、なんらかの特定の環境に限定して開発されています。
さらにはプロダクト開発は、その製品の欠陥を修正するために、製品の改修や修正版の再配布などのコストが馬鹿になりません。したがって、厳重な品質管理が行われ、品質保証部門のチェックをクリアしなければ製品のみが出荷できません。
このため、多くのソフトウェアベンダーは開発期間をできるだけ短くするために、多くの人員を割き、比較的大きな規模のソフトウェアエンジニアのチームを編成せざるをえません。
反対に、Web2.0的なアプリケーションとはサーバーサイドから提供されるサービスが中心です。OSの違いは原則として関係ありませんし、何らかのバグがあったとしても、即座に修正することが可能です。結果として、それほど大きな規模の開発チームを用意する必要がないのです。
Web1.0時代のプラットフォーム
1994年12月にバージョン1がリリースされたNetscape Navigatorは、配布当初こそシェアウェアとして有償で提供されていましたが、MicrosoftがInternet Explorerで市場に参入を表明すると、1998年には無償化を発表し、さらにはオープンソース化されていきます。
Webの普及以前は、OSがソフトウェアプラットフォームとして位置づけられていましたが、Web時代にはブラウザがプラットフォーム的な位置づけとなったことも説明した通りです。ただ、Microsoft自体は、OSこそプラットフォームであるとの認識を捨てておらず、ブラウザ(IE)をWindowsにバンドルしようとしました。
Netscape Navigatorは、Windowsプラットフォームの他にも、Unix, Linux, MacOSと幅広いプラットフォームに対応していましたが、Windowsがほとんどのユーザーのプラットフォームであったため、プラットフォームの遷移を十分に理解していなかった(と思われる)Microsoftの前に、Netscapeは一敗地にまみれることになります。
Web2.0時代のプラットフォーム
Web2.0のアプリケーションはサーバーサイドで動作することから、原則としてOSには依存せず、どのOSにおいても動作することが求められます。ブラウザというアプリケーションのうえでWebのアプリケーションも動作するということはWeb1.0時代でもWeb2.0時代でも変わりが無いように思えますが、Web2.0時代の重要なポイントは、データソースです。データソースがインターネット上にあることで、多くのユーザーがそのデータを共有できる点です。
たとえば、Gmailのスパムフィルタリング機能は、Web1.0時代のWebアプリケーションとWeb2.0時代のそれを大きく分ける良い事例です。
多くのスパムフィルタリングソフトウェアは、文章を解析する内容を判別するとともに、学習機能を持っています。企業のスパム判定サーバや、個人のメールソフトウェアで受信したメールのスパム判定を行う場合、圧倒的にメールの受信数が判定するまでの情報量に達しておらず正確な判定ができません。
ところが、世界中のエンドユーザーをカバーする形で、サーバーサイドで動作しているGmailのスパムフィルタリングは大量のユーザーへのメールを送受信しています。これによりスパムメールであるという判別するサンプルの数が圧倒的多数であり、スパムベールの判定の精度もまた比例的に向上していきます。ユーザーが増えれば増えるほど、この精度が上がっていくことが2.0的であるといえるでしょう。





