インターネットが普及して、社会が大きく変化したのと時を同じくしてソフトウェア開発をとりまく環境も変貌を遂げました。
長年続いてきたソフトウェア開発は同じ場所か近隣で行なうという地理的制約を弱め、日本国内の各地域に、あるいは海外に開発拠点を分散し、コスト低減や有能な人材の確保を可能としてきました。首都圏の企業のシステム開発を新潟や山形で行なう、あるいは日本や欧米企業のシステムのソフトウェア開発をインドで行なうといったことはインターネットの成果と言えます。
こうしたソフトウェア開発のリソース環境はさらに次のステップへと変貌しつつあります。これまでは一つの企業やグループ企業、その取引先企業という信頼関係の中で、インターネットを活用して、効率化を追求してきたのですが、これからは、国内外の企業、団体あるいは個人との間で、世の中の評判を手掛かりに信頼関係を構築し、付加価値創造や有能な人材発掘の時代に入っています。
ソフトウェア開発の一分野(と言ってもかなり大きな分野)となっているWebシステムの開発の現状を見てみましょう。Webシステムの開発は一つの企業やグループ企業ですべてを開発することは困難です。世界中の貢献者の知識はインターネット上に分散して存在しています。Webシステムの開発にはクラウドホスティングサービス、MySQLなどのデータベース、ApacheなどのWebサーバ、PHPなどのスクリプト言語、HTML、CSS、JavaScriptなどの知識が必要になります。これらの知識は専門書を学習することにより得られますが、それだけでは不十分です。オープンソースのフォーラムのサイトや企業、個人が提供している、さらに詳細な情報や事例情報などが活用されています。日々進歩しているWebシステム構築技術をインターネット経由で得て、自らのWebシステム構築に活用しています。Webシステムの開発に、彼らの知識は不可欠になっています。
インターネット上の情報の中には怪しげなものも混在していますので、信頼できる情報ソースはどれかを見極める目利きが必要になります。
インターネット上でどのようにして信用を得るかが一つの問題になります。これにはクラウドソーシング(crowd sourcing)と言われる手法が役立ちます。企業あるいはグループ企業内の信用を背景に人材を求めるのではなく、広く社会に、あるいは世界に有能な人材を求めるこようになってきました。クラウドソーシングを運営する企業や団体が、アイディア募集とリソース募集をプロデュースします。
インターネット上の信用問題の解決策が見つかると、異能集団を手の内にできます。
このクラウドソーシングという仕組みを考えるとき、前稿:ITプロジェクトにおける異能の価値で取り上げた、経済学者 F.A.ハイエクの論文の次の言葉が想起されます。
「合理的な経済秩序の問題に特有な性格は、われわれが利用しなければならない諸事情の知識が、集中された、あるいは統合された形態において決して存在せず、ただ、すべての別々の個人が所有する不完全でしばしば互いに矛盾する知識の、分散された諸断片としてだけ存在するという事実によって、まさしく決定されているのである。したがって社会の経済問題は、『与えられた』資源をいかに配分するかという問題だけではない―『与えられた』ということが、それらの『データ』によってセットされた問題を、熟慮して解くひとりの人間の知性に対して与えられていることを意味するのであるならば、その問題だけではないのだ。社会の経済問題はそれよりもむしろ、社会のどの成員に対しても、それぞれの個人だけがその相対的重要性を知っている諸目的のために、かれらに知られている資源の最良の利用をいかにして確保すべきかという問題である。すなわち簡単に言うならば、どの人にもその全体性においては与えられない知識を、どのように利用するかの問題である。」(「市場・知識・自由 -自由主義の経済思想-」 F.A.ハイエク 田中真晴/田中秀夫編訳、ミネルヴァ書房)
前稿:ITプロジェクトにおける異能の価値ではハイエクの言を借りて、「大規模なソフトウェアシステムのプロジェクト管理になると、ハイエクが述べている『全体性においては与えられない知識を、どのように利用するかの問題』と同様の問題に遭遇することになります。ITプロジェクトにおいて1人の人がすべての知識を完全にもっていない以上、ITプロジェクトのそれぞれの段階で必要な知識を重なりあってもつ人々に集まってもらい、彼らの能力(異能)を、一つの目的のために十分に発揮してもらうにはどうすれば良いのかという問題になります。ハイエクは経済におけるこの問題の解決に市場(価値交換システム)が役立つと述べています。価値情報を交換するシステムの存在が、関係者が分散的にもっている知識を引き合わせ、調整能力を発揮し、1人の人が達成したかのように振舞うのです。論文では『・・・それは市場の成員達の誰かが全分野を見渡すからではなくて、市場の成員達の局限された個々の視野が、数多くの媒介を通して、関係ある情報がすべての人に伝達されるのに十分なだけ重なり合っているからである。・・・』と述べ、全情報を所有するただ一人の人が解決したように見えるのだとしています。私は、この価値交換システムこそが、ITプロジェクトにおいて中核的な役割を果たすと考えています。ソフトウェアシステムの開発者の多く、特に、経営者や管理者は、このシステムの価値を無視してきたのではないかと思うのです。ITプロジェクト管理は、これまでも、現在も、中央集権的な形式で問題を解決しようとする傾向が強いと思いますが、そうしたやり方では本来もっている個人の個別の能力(異能)を十分に発揮させることはできないと思います。」と書きました。
この記事は2008年に執筆したものですが、その後、クラウド(Cloud)、ソーシャルメディアなどが普及し、知識の価値を上げる仕組みが充実してきました。そして現在、クラウドソーシングが育ち始めています。
経営者は業務提携、企業買収などの従来からある経営手法を用いて、企業の付加価値を上げようと試みていますが、そのようなクローズド社会では、イノベーションを起こすほどの異能集団を手に入れることができません。経営者はクラウドソーシングを価値交換システムと捉えて、その将来性にもっと目を向けるべきでしょう。
最後に、API(Application Programming Interface)の重要性について触れておきます。アプリケーション開発に必要な部品を手作りですべて賄う時代はとうの昔に終わっています。インターネットのどこかのサーバで実現されている機能をAPIを経由して利用することが普通に行われています。代表的な例はGoogle Maps APIです。Google社が提供するサーバに自社のWebサイトから接続して、地図に関するアプリケーションを自由に作成することができます。Webサイトの設計者はこのAPIを通して膨大な地図データをいとも簡単に操作することができます。
こうしたAPIはソーシャルメディアのFacebook、Twitter、Google+、などでも公開しています。これからは企業や社会にとって必要な多種多様なAPIが公開されることでしょう。API自身をビジネスにしようとする動きもあります。
ソフトウェア開発のスタイルがここ数年の間に大きな変貌を遂げています。 ■