過去の開発スタイルと現在の開発スタイル
講演の冒頭で及川氏が取り上げたのは、フェイスブックのIPO時に話題となった同社CEO、マーク・ザッカーバーグ氏の「Done is better than perfect(完璧を目指すよりまず終わらせろ)」という言葉だ。及川氏は、「これこそが今のソフトウェアサービスの開発の源だ」と話す。
及川氏は、従来のパッケージソフトやレガシーシステムと、現在主流となりつつあるクラウドベースのサービスとの違いについて、同氏がマイクロソフトに勤務していた当時を振り返り、「パッケージソフトでは、デプロイや配布のためのコストが大きく、一度流通させたものをリコールすることはありえないことだった。そのため、製品を流通させるには完成度を高くすることが求められた。Windows Vistaの開発に5年を費やしたのもそのためだ」と述べる。
それがクラウドサービスだと「例えば翻訳のちょっとした間違いなどはすぐに修正できる。ソフトウェアの更新も、配布コストはゼロに近い」(及川氏)。つまり、パッケージソフトはリリースするまで非常に時間をかけて確認作業をし、リリースすれば一段落となるが、クラウドではまずサービスをいち早くリリースし、リリース後も常に改良を重ねていく方法がとられるのだという。
「どちらの開発においても、計画、設計、実装、安定、リリースという工程を繰り返すが、パッケージソフトの場合とクラウドサービスでは期間の長さが全く違う。パッケージは大きな階段のステップを一つひとつ上るイメージだが、クラウドは小さなステップを少しずつ上る。階段の段差は非常に小さいが、クラウドサービスは日々進化していくのだ」(及川氏)。
プロダクトアウトとマーケットインの組み合わせ
パッケージとクラウドでリリースまでの時間に差があることは分かったが、開発の考え方として、開発者側がいいと思うものを提供する「プロダクトアウト」と、市場調査などで消費者の声に耳を傾けた上で提供する「マーケットイン」という考えがあるのはどの世界でも変わらない。及川氏はこの2つの考えに一長一短があると話す。
例えばマーケットインのためにユーザーの意見を集めても、ユーザーがインセンティブによって真意ではない意見を述べることがあるほか、声を出さないユーザーもいる。また、そもそも新たな市場を作り出そうという場合は、市場が存在しないのに市場調査をしても意味がないというのだ。
そこで及川氏は、プロダクトアウトとマーケットインの組み合わせを勧めている。「完成度が低くても、プロダクトアウトでサービスをまず提供する。ウェブベースのサービスであれば、ユーザー数がどれだけいるのか、使い続けているのかを把握するのも簡単だ。しかもどのリンクをクリックしたのかも分かり、声に出さないユーザーの意見をくみ取ることができる」(及川氏)。プロダクトアウトとマーケットインを容易に組み合わせられるのも、まさにクラウドならではといえる。
また及川氏は、「ユーザーが誰か」を常に意識するよう忠告する。「ユーザーは、今ある製品やサービスについて“顧客の声に耳を傾けろ”と主張するが、それは今日のユーザーの声だ。しかし、開発者は今日のユーザーのためだけに開発しているわけではなく、明日のユーザーも視野に入れなくてはならない。明日のユーザーに向けて開発すれば、今日のユーザーも満足してくれるだろう」(及川氏)。