要求開発アライアンスの10月定例にて「要求2.0開発」というテーマで話をしてきました。題名は理事の細川さんから依頼をいただいたときにノリでつけた名前です。かなり勢いに任せた内容はなっていますが、まぁまぁ(w。
要求開発2.0ではなくて、要求2.0の開発。これからの時代は要求その物が2.0化してきます。手法うんぬんではないのです。言い換えれば「ビジネスのシステム化2.0」ではなくて「ビジネス2.0のシステム化」をテーマにしていかないといけないと考えまています。
資料はアライアンスのページにあがると思いますがサマリを書いておきたいと思います。
今、何が起きているのか
次のスクリーンショットを見てください。なんだと思いますか?

実はこれ、日本全国1万ヶ所のホテルに●を置き、最低価格が高いほど赤くしたものなのです。長野から伊豆とか、京都奈良ならあたりが赤くて、東京、大阪は件数が多いものの価格が高くないことが分かります。
これGoogle Maps APIとじゃらんWebサービスのマッシュアップアプリケーションです。解説記事やソースコードは今月発売のDBマガジン2006年11月号(10月発売)に全て掲載されるのでぜひそちらを見てください(発売が近づけばエントリします)。
このアプリケーションに関する事実は次の3つ。
1.作業コスト以外は無料
Google Maps APIもじゃらんWebサービスも登録すれば無料です。ソフトウェアプロダクトはOSS(WebアプリケーションサーバのJetty、データベースのH2 Database Engine、開発ツールのEclipse)で全て無償。そしてJavaも無料。
2.作業コストは2日
僕は2日でほとんど完成しました。人月100万円だとしても10万円。
3.使える
これ、実際に動かしてもらうともっと面白いのですが、マウスドラッグによる移動、縮尺変更、地図/航空写真いれかえなどのGoogle Mapsの機能が一通り使えます。顧客の購買情報、店舗の売上情報などなど、様々な用途に応用可能なはずです。
これが何を示しているのか
実は、このアプリケーションを批判するのは簡単です。WebAPIやOSSはリスクが高い、人月10万円では儲からない、所詮WebアプリでGISとしては使えない。
しかし、だからこそ、「これは安いが使えないGISアプリケーションなんだ」などという既存の枠組みで見てはいけません。これは破壊的なイノベーションなのです。詳しくは「イノベーションのジレンマ」を読んでで。
僕は、こうしたイノベーションが変化を引き起こす、あるいは引き起こしていると考えています。それは、ユーザー、システムライフサイクル、ビジネスモデルという3つの変化です。
ユーザーの変化
ユーザーは共同開発者になろうとしています。小さくて多様な要求が増えると、それらをかなえるのは中間提供者/中間利用者とも言うべきユーザーサイドエンジニアの役割になります。そこではテクノロジードリブンで発想を行なうことができるようになります。
次の絵を見てください。もちろんGoogle Mapsを直接利用するユーザーも多いのですが、先ほどのアプリケーションのように中間的に利用することも可能です。その場合、ホテル情報を重ねるというニッチな要求に対してアプリケーションを提供をしているともいえるのです。

システムライフサイクルの変化
その結果、システムのライフサイクルという考え方が大切になり、重点ポイントは初期構築から運用へと移ります。それは成長するシステムと呼べるものでしょう。ライフサイクルにおけるコストや価値に対する評価が重要になります。そしてSIerは、プラットフォームやサービスといわれるものを提供するようになってきます。
ビジネスモデルの変化
これは構築者側のビジネスモデルの変化を促します。大規模/請負/一括初期構築から、小規模/共同/ライフサイクルメンテナンスへ。継続的な財務モデルが求められ、積み立てられた原資の中からリフォームをするようにシステムを成長させていきます。これには小さな組織と小さな会計が必要になるでしょう。
要求2.0開発とはなにか
では、こうした変化が起きてきたときに要求はどうなるのでしょうか?僕が考えるのは次の3つです。
その要求はインタラクティブである
要求はビジネスとテクノロジーの対話によって構築されていきます。常に変化し、適応を繰り返しながら定義されていきます。
その要求はビジョンである
このような小さくて多様な要求が多発すると、それらをまとめるためのグラウンドルールが必要になるはずです。システム全体としてサスティナビリティ(持続可能性)を保持するためには、個々の柔軟性を確保する必要性があります。そのためには固定化したゴールを設定するのではなく、ビジョンとして方向性を示すことが重要なのです。
その要求はイノベーティブである
小さな要求に小さく答えることが可能になると、"とりあえず、やってみる"ことが可能になります。こうしたトライ・エラーによってより挑戦的にシステムを構築することができるようになります。システムは問題を解決するためだけでなく、価値を創造するために開発されるべきです。
では、こうした要求2.0を開発するとはどういうことでしょうか?僕も答えがわかってはいませんが重要なのはエコシステムを構築することだと考えます。当然ですがユーザーとSIerが健全にビジネスを継続できるモデルでなくてはいけません。
エコという言葉の語源をご存知でしょうか?ギリシャ語のオイコスという言葉で「家や生活、それを取り巻く環境」 という意味だそうです。そして「オイコスのロゴス(論理)」 がエコロジー(生態学)であり、「オイコスのノモス(秩序)」がエコノミー(経済)になります。つまりエコシステムには、あるべき論と経済の両立が不可欠なのです。
まとめ
要求2.0があるところ。それは丸山先生流に言えば新大陸です。もちろん旧大陸も重要です。旧大陸で儲けていられるうちに新大陸に進出することが必要です。
こうした変化が、実は世界の変化であることはフラット化する世界で紹介したとおりです。
僕らは今、2つの大陸(世界)を同時に体験しています。それをどう捉えるべきか。僕はオプティミズム(楽天主義)に乗っ取って楽もうと思っています。ある時には新大陸を訪れ、ある時には旧大陸に戻り。その世界の両方を楽しもうではありませんか。今の時代だけの特権なのですから。
