QCon Tokyo 2009へ行ってきました

QCon Tokyo 2009に参加しました。日本では、なかなかなじみの薄い有料イベントということで、それほど動員があったわけではないようですが、とても刺激を受けた有意義なイベントで、個人的には技術的なポートフォリオを組み替える必要を感じたイベントです。

おそらく、私のキャリアにとっても転換点となるイベントになるかもしれません。ご存知の通り、私は今までの技術的キャリアをオープンソースとオブジェクト指向言語に投資をしてきました。この戦略は大変に上手く機能していたわけですが、次の5年間には別のポートフォリオが必要だと、このイベントではっきりとしました。

今回のQConのキーワードは、クラウド・コンピューティングとリーンソフトウェア開発でした。前者については、予想通りといった印象ですが、後者については日本の状況からすると意外な言葉です。

クラウド・コンピューティングは、今年のバズ・ワードとしてもおなじみで、斜めに見ている人も多いのではないかとおもいます。しかし、今回のイベントではっきりと分かったのですが、ベンダーが主導するパッケージやハードウェア販売のためのバズ・ワードとしてのクラウド・コンピューティングとは一線を画す潮流があり、それこそ、今までコンピューティングの本流だった潮流の別名だということです。

コンピュータの歴史には、はっきりとしたひとつの潮流があります。それは、分化の流れです。かつて、電子回路からプログラムが分化したように、また、ハードウェアとオペレーティング・システムとが分化したように、分化という視点がコンピュータの歴史の流れを説明するひとつの鍵になります。おそらく、こういった分化の背景には、技術の専門化と分業化があるのでしょう。

クラウド・コンピューティングによって、ますますインフラストラクチャとアプリケーションが分化していくことは間違いありません。クラウド・コンピューティングによって、アプリケーションは、そのインフラストラクチャに制約されることがなくなります。それらは、まるで別のものになったというわけです。

こうした流れにともなって、アーキテクチャに大きな変化がおとずれます。まず第一に、ISAMがRDBによってメインストリームの座を譲ったように、RDBはKey-Valueストレージにその座を譲るでしょう。また、オブジェクト指向言語やオブジェクト指向分析も、曲がり角が訪れるはずです。というのも、クラウド・コンピューティングの分散環境でやりとりされるのに適しているのは、メッセージではなく、データそのものだからです。

また、アプリケーションの世界ばかりではなく、それをつくる方法論にも確実に変化が訪れているようです。リーンという単語が、Martin Fowler氏、Rod Johnson氏、Henrik Kniberg氏といった人たちから聞かれました。

Rod Johnson氏の発表によると、欧米でのアジャイル開発手法の採用は、全プロジェクトのうち5割はいかないにせよ、3割ほど浸透しているそうです。日本の商習慣との違いがあるとはいえ、これは驚くべき差です。

どうやら、リーンソフトウェア開発は、本当に必要なものだけをつくるための方法論として広く理解されているようです。リーン方式であれば、必要なものだけを作るので、ソフトウェア投資を必要最小限に抑えることができます。

こうしたふたつのキーワードの背後にある環境要因が不況です。ハードウェア投資を抑制する手段としてクラウドコンピューティングが、ソフトウェア投資を抑制する手段としてリーンソフトウェア開発が着目されているのです。

では、これは一時的な現象なのでしょうか。多くの論者は、そうではないと考えているようです。現在は、構造的転換の節目にあるという認識が広く共有されていました。不況は、単にこうした傾向を押し進めているにすぎない環境要因のひとつです。

もし、この変化が構造的変化だとすると、私たちのビジネス環境はどのように変化するのでしょうか。端的に言えば、定年になるまで今の会社で食っていくことができるのでしょうか。ここは考えどころです。

多くのSIベンダーには、絶望的なシナリオしか残されていないようにもみえます。クラウドであれば、ユーザは高価なハードウェアをSIベンダーから購入する必要がありません。ユーザ企業がミドルウェアを購入する必要があったとしても、クラウドベンダーとミドルウェアベンダーによって中抜きされるため、SIベンダーの出番は無くなるでしょう。

また、リーンに代表されるアジャイル開発はユーザ企業でのソフトウェア内製を前提にしています(もちろん、アジャイル開発は受託開発でも上手く機能するという主張はあります)。アジャイル開発ができないほとんどのケースは、単にSIベンダーが請け負うことができないからにすぎません。ユーザ企業が自分たちの手でできると気付くだけで、自分たちのために本当に必要なものを手にすることができるのです。

SIベンダーが生き残るための、いくつかのシナリオを考えてみましょう。

ひとつには、ニッチなクラウドの提供者として生き残るシナリオもあります。法令や政治的などにもとづく障壁に守られた場面は、存在し続けるでしょう。医療情報を医療法人の外部に保管することは難しいですし、国家や自治体のデータを海外に預けるというのも考え難いです。しかし、それ以外の場所では、規模の経済性でまさる海外のクラウドプロバイダとの競争に勝ち残ることは難しいのではないでしょうか。

ASPやSaaSといったサービスプロバイダーとして変わるというシナリオもあります。ただし、ここで生き残るには既存プレイヤーとの競争、特にERPベンダーなどの海外勢との競争に打ち勝つ必要があります。

上流へとシフトし、コンサルタント業務へ軸足を移すというのも考えられます。しかし、コンサルタントは専門的な技能です。もし、コンサルタントへと業態を変化させるのならば、ほとんどの従業員を入れ替える必要があるでしょう。

他にも、人材派遣会社として、ユーザ企業のプロジェクトに必要な技術者を提供する立場もあります。プロジェクトの段階によって異なるチーム規模の調整弁としての役割です。多くの大手SIベンダーにとって、このような立場はビジネスモデルの崩壊を意味します。

他にもいくつかのシナリオは考えられるでしょう。いずれにせよ、好むと好まざるとにかかわらず、ITゼネコンと呼ばれるような元請け-下請けからなる多重構造は終わりをむかえつつあるという結論になりそうです。

だいぶ脱線をしてしまいましたが、クラウドとリーンソフトウェア開発が主流になるということを現実として受け入れるということは、SIベンダーにとっては、ハードウェアとミドルウェアが売れなくなって、システム開発の請負ができなくなる現実を受け入れることでもあります。