ソフトウェアを開発していくにあたり、ユーザからのフィードバックは非常に重要です。自分たちの作っているものをより良く修正していくための重要なインプットになります。ユーザからのフィードバックを想定しないで、最初に計画した通りのものを作ったところで、独りよがりになってうまくいく訳がありません。リーンスタートアップでは、早い段階で市場に出して、ユーザからのフィードバックを受けつつ改修していくスタイルを薦めています。うまくフィードバックをもらいつつユーザを増やしていくことができれば、市場と提供者で良い関係を構築していくことが出来ます。
では、フィードバックをもらえるようになったとして、ユーザに対して、どのように応えていくのが良いのでしょうか。
私たちがソフトウェアを世に出して、ユーザからフィードバックをもらってきた経験から、ユーザからのフィードバックには2種類あると感じています。ひとつは、バグの報告やインタフェースの改良などといったフィードバック、もうひとつは、ソフトウェアの機能そのものについての要望です。
バグの報告やインタフェースの改良についてのフィードバックに対しては、出来るだけ速いスピードで対応し、そのフィードバックに対して返事をしてあげることが重要だと考えています。バグの報告をしてくれるようなユーザは熱心なユーザであり、そのようなユーザからのフィードバックに対して素早く対応することで、いちユーザから「ファン」になってくれる可能性があるからです。このときに重要なのはスピードです。
SonicGardenでは、DevOpsということで、開発と運用を一つのチームでやっていますが、ユーザサポートについてもプログラマがするようにしています。ただリーンスタートアップで人手を少なくしているからという理由で、そうなっているに過ぎないのですが、実際のところは非常にうまくいったと感じています。ユーザからのフィードバックを直接プログラマが受け取ることで、時には厳しい意見を受け止めなくてはいけない時もありますが、一方でユーザからの喜びの声も直接受け取ることができるということは、モチベーションに強く影響します。自分の作ったものを、使ってくれる人から直接声を聞くことができるというのは、モノ作りが好きな人はわかると思いますが、想像以上に励みになります。そんな訳で、プログラマ自身がユーザサポートをしているので、バグ報告やちょっとした改善のフィードバックに対して、自分たちの判断で対応して、リリースまでしても良いようにしています。結果として、それが一番スピーディな対応に繋がっています。
もう一つのフィードバック、そのソフトウェアの機能そのものについてのフィードバックの扱いは慎重にしなければいけません。ユーザの要望は、自分たちの置かれた背景の中で「あれば良いな」と考えるものをフィードバックしてくれます。そのソフトウェアの上級者になれば、上級者にとっての使いやすい機能を要望してくるかもしれませんが、それは初心者にとっては複雑にしてしまう機能の要望かもしれないのです。機能が増えれば、ユーザにとって複雑になるし、保守性も下がってしまいます。リーンスタートアップの中で、簡単に「機能を増やす」という選択肢をとることは、リーンさを無くしてしまう第1歩です。とはいっても、ユーザからのフィードバックを無視する訳にもいかないですし、要望を取り入れることはしていきたいものです。
SonicGardenでは、そのような場合にどうやって取捨選択の判断をしているのかというと、ソフトウェアのビジョンに沿っているかどうか、で判断することが多いです。ソフトウェアのビジョンとは、そのソフトウェアを使うユーザにどうなって欲しいか、というソフトウェアそのものが提供する価値で起きる未来像のことです。そのフィードバックの要望を取り入れることは、ソフトウェアのビジョンの達成に貢献するのか、という観点で考えます。なので、私たちはフィードバックを頂く際に、「なぜそう思ったか?」ということをよく確認させてもらっています。他のソフトウェアを真似するだけの機能を作っても仕方がないからです。
例えば、youRoomの場合は、以下のようなビジョンをもっています。
新しいコミュニケーションの形を提案するyouRoomでは、グループにおける秘密や階層をなくし、文書よりも対話を重視し、駆け引きよりも協調しあえる、そんなコラボレーションスタイルの変革を目指しています。
グループの情報共有の仕方にメーリングリストを使うと、メールのメタファである手紙のやりとりに近くなってしまい、お互いに連携し合っている感じが無いのが不満でした。その解決をするためのツールとしてyouRoomを開発しました。よって機能を追加するにしても、その先に見えるものが、このビジョンにそったものであるかどうかは、重要になってくると考えています。
フィードバックを受けて次々と沢山の機能を付けていくことも一つの戦略ですが、それだと体力勝負になってしまい、大手企業には勝てなくなってしまいます。リーンスタートアップを目指すのであれば、機能はシンプルなままでも競合優位性を保てるようにアイデアを絞る方が得策だと思います。そのためにも、ソフトウェアにビジョンをもって開発するというのも良いかもしれません。