イノベーションできませんっ!!!

受託開発で顧客が要件を決められず、要求を聞き出せない受注側がスキルが足りず出来上がってしまったのはゼンゼンワケの分からないものだったが、誰も顧客が本当に必要だったものを知らなかった、という笑い話がある。ご存じない方は断固凱氏がまとめたものを参照いただきたい。世界中どこでもよくあるような話なのかもしれないが、ことプログラマーのビジネス的な価値が軽視される日本では笑い事ではない。

よいソフトウェアを作るためには、役割に応じて優秀な人材を集めればよい。ソフトウェアを使ったビジネスを考える人、ビジネスと仕様を考える人、仕様と設計を考える人、設計と実装を考える人、…こういうと役割分担できそうだが、役割分担されていてもチームワークは重要である。ところが、日本の労働慣習では、ビジネスが拡大したからといって、優秀で経験ある人間を社外から簡単に集めることはできない。大企業が終身雇用制によって優秀な人材を囲い込んできたからだ。だから、スキルもしくは付き合いのある「ソフトハウス」に外注することになる。
ところで、ソフトウェアの価値は何によって決まるだろうか?サービスとしての側面であれば、それがどのような社会貢献をするか、それがどのようにユーザの生活を豊かにするか、などである。ここでは、それを定量化する手段としてお値段おいくらという話にしておきたい。つまり、そのソフトウェアを使って商売をしたらいくら売れるだろう、という期待値、市場価値である。ここで気をつけないといけないのは、ソフトウェアは市場価値=市場価格になるところだ。どういうことかというと、ソフトウェアの生産はコピーするだけなので、基本的に製造コストは0である。製造業ならば、例えば一大のクルマを作るのに原価がいくらで、原材料の市場価格はいまこれだけで、製造ラインの人件費やランニングコストがいくらで、ゴニョゴニョ…などとやらないといけない。
製造コストが0、つまり供給能力が無限大なので、需給曲線が描けない。とすると、需要量だけで価格が決まるし、ユーザが「いくらまでなら払ってもいい」と思える価格を取れる。作る側は売上を伸ばすために

  1. 「いくらまでなら払っていい」という単価を最大化する
  2. みんながほしがるものを作って、みんなに安く売る

という戦略を選ぶことができるが、どちらもソフトウェアの価値の向上である。だから、ソフトウェアの価値を向上する方がよいのである。ソフトウェアの価値を向上させるためには? 簡単、よいアイディア、よい仕様、よい設計、よい実装。これができる人を集めなさい。これができない人を排除しなさい。

じゃあ、なぜ、それができないのか?ひとつ大きな要因を外している。リスクだ。ソフトウェアやサービスを作って売ってまわったからといって、それが本当に金になるとは限らない。ビジネスモデルとアーキテクチャが一体化している時代だ。よく考えないと、簡単には成功しない。しかし、成功するとGoogleTwitterのようにソフトウェアの力で億万長者になることができる(古くは、Windowsもそうだけど)。リスクをとってイノベーションを目指す人は、大きなリターンを得ることができる。一度のトライアルでいきなりイノベーションを実現できる確率は低いが、儲かるお金は莫大だ。つまり、ソフトウェアの可能性が未知数で、価値に上限がつけられない。売上が全く予測できない。莫大になるかもしれないし、1ドルにもならないかもしれない。そういうところでは、いくら優秀な人間を集めても足りない。
このウィンドウの右上のタブの配置が1ピクセル気に入らない。色がおかしいのでR値を10下げてくれ。レスポンス時間を100us削らなければならない。メモリを20MB以内に収めないといけない。そういうレベルで、そのソフトウェアの価値が100倍になるかもしれないし、100分の1になるかもしれない。年収10万ドルかかるような人間を集めても成功しないかもしれない、でも無能な人間では確実に失敗するという世界だ。神は細部に宿るのである。
f:id:kuenishi:20100612153410j:image:w450
一方で、人間は弱い。リスクをとらなくていいから、年収10万ドルもいらないから、慎ましやかに安定した生活をしたい。そういう人は、リスクの少ない仕事をする。リスクの少ない仕事とは、売上に上限がつくが、下限もついて収入が保証されいるということだ。そういう世界では、ふつうの人をそこそこのコストで集めてそこそこのソフトウェアを作るという方がリスクが低い。いっそのこと自分たちで作ったら人が足りないかもしれないから外からも人を集めてこよう。売上が人月でカウントされるので予測どころか始めから決まっている。だからそこそこの値段でまた誰かに頼めばいいや…。そういって呼ばれた側は、同じ心理で同じ判断をする。そして、再帰的にまた誰かに外注する。そうやって人月が最低賃金を下回る直前で再帰は止まる。
ふつうはそんな安い仕事では暮らしていけないので、どういう人間が残っていくか、業界がどうなっていくかは自明だ。

安全で危険のない世界。それが真綿で自分たちの首を絞めていることになっているとは、誰も気付かない…。

だから、リスクテイクをして新規ビジネス、新しいサービス、ソフトウェアを始めるときに外注する場合は、こういったことに用心しなければならない。