人生を書き換える者すらいた。人生を書き換える者すらいた。相変わらず忙しいですが、最近の仕事の大きなポイントは上海と香港に良いビジネスパートナーが見つかったことです。いつまでも日本だけで活動してても明るい展望は描けないのでチャンスを伺ってましたが、来月ぐらいからこちらの新プロジェクトに本腰を入れることになります。日本が総体的にはだんだんダメになっていく、というのは抗し難い流れだけれども、震災と菅政権がそれをグッと加速させたと思う。今日書くのは、先月の「なぜ優秀なプログラマは人を雇わないか」に関連して、いかにして少人数の非請負型プロジェクトの成功確率を上げるか、という話。前から考えていたことを、新プロジェクト開始にあたって改めて整理してみた。ここでいう成功、というのは、きっちり黒字を出す、ということである。例題として、平均的なプログラマ10人のチームで10ヶ月かかるプロジェクトがあるとしよう。100人月だから、ざっと1人月50万としてその開発コストは5000万円だ。これは非請負型のプロジェクトなので、この製品がいくらの売り上げを生むかは事前にはわからない。1000万円だったら大赤字だし、3億円だったら大ヒットだ。あなたが何か製品アイデアを持っていて、ぜひとも実行したいというとき、このリスクをカバーする方法としては、大きく3つある。大きな企業で開発する。大きな企業はこのようなプロジェクトが複数あるので、黒字のプロジェクトで他の赤字のプロジェクトを埋めれば会社は倒産しないし、あなたのプロジェクトが赤字でも個人的負債を負うことはない。法人をつくり、VC等の外部資金を入れてスタートする。失敗の金銭的リスクは株主が負う。あなたと、短期的報酬を求めない仲間とで細々とやってみる。この(3)を選択した場合を考えてみる。ソフトウェアのプロジェクトマネージメントの本を読むと、どの本でも、「遅れているプロジェクトを挽回するため追加人員を投入するとさらに遅れる」と書いてある。過去の経験からもそれは正しい。このことの意味することは、プロジェクトメンバーの学習とコミュニケーションコストは非常に大きい、ということだ。この法則を反対向きに適用すれば、「プロジェクトから人を取り除くと早く進む」、ということである。早く、というのはやや不適切だが、一人当たり・時間当たりの生産性が高まれば費用はずっと安く済む。人をどんどん追加投入するすると爆発的に費用がかさむのは確かなのだから、人を減らせば費用は爆発的に安くなる。50ヶ月かかるなどということはない。長くかかった場合でもその半分、25ヶ月もあれば十分できる。したら同じ10ヶ月でもできてしまうかもしれない。ここでのポイントは、初期費用の安さだ。2人で25ヶ月かけたとしても、2*25*50万=2500万だし、もしこの2人が独身で、かつ「プロジェクトの売り上げが立つまでは最低限の生活でよい」と覚悟を決めているとしたら1ヶ月20万のコストで十分であるから、2*25*20万=1000万あればよいことになる。同じものを作るのに費用が方法により5000万と1000万とであれば、話はずいぶん違ってくる。事前に売り上げ規模がまったくわからないときは、徹底的に安く上げて損益分岐点を下げておくのが重要だ。後から値下げする余力も出てくるし、利益の増加分を他の活動のために使えるので将来的な自由度が増す。良いことばかりではない。危険は、リリースまで時間がかかっているうちに状況が変化することだ。25ヶ月というのはソフトウェアの世界ではいろいろなことが起きるので、当初の大前提が崩れていることも多い。有力な競合が出てくる前に先制攻撃したほうがよいことももちろんある。長くなったのでそろそろまとめると、ソフトウェアの世界で起業を考えるなら、最初は少人数で細々とやってできるだけ低コストで最初のバージョンを上げるのは有力な手である。好きな分野のプロジェクトである(少人数でコツコツ長期間の作業をするので、好きな分野でなければ続かない)という条件のときはそうだ。この方法だと、失敗だと思えば撤退するのも簡単、というメリットがある。会社やVC資金でやっていると、失敗したときに不本意な方向転換を迫られることが多く、これが精神的にはつらいのである。一応断っておくと、これは「自分と家族と仕事仲間が楽しく仕事をして裕福に暮らす」のをゴールとする場合の考え方だ。会社を大きくして上場目指すぜ、という考えの場合はあまりお勧めできない。いろいろな働き方が選択できるのがソフトウェア業のいいところだね。他の業種だとなかなかこうはいかない。