ボクココ

個人開発に関するテックブログ

キミは本当の MVP を作れるか

ども、@kimihom です。

新サービス開発においてよく言われる “MVP (Minimum Viable Product)” ってのがあるけど、これを本当に実践できている人はどのくらいいるのだろうか。

今回はよくある勘違いと私の考える正しい MVP の作り方について記していきたい。

とりあえず最小限の機能を作って出す

MVP は言葉の通り「最小限の機能を持ったプロダクト」だ。とりあえず最小限の機能を作って出すってところまでは特に誰でも問題なくできるだろう。 しかし大事なのはそこからで、もしMVPの検証でターゲットに確実に刺さっているものでないと分かれば、ゼロから作り直すって判断が必要だ。しかし実際は「この機能修正/追加によって対応しよう」レベルの判断になってしまうことが多いのではないだろうか。もはやそれは MVP ではない。そういった安易な判断をしてしまうと、本当に顧客の望むものをいつまで経っても作り上げることはできない。

以下の図は MVP に対する説明としてよく表現されているので引用させていただく。

f:id:cevid_cpp:20170822212845p:plain

4 Reasons Minimum Viable Products Fail

この「ゼロから作り直す」って判断ができないと、最終的に顧客にドンピシャな商品ってのはいつまで経っても作れない。それどころか、機能追加に無駄に時間を使ってしまって誰のためのサービスなんだかわからないものができあがってしまう。

本当の MVP とは「顧客にドンピシャな最小限の機能を見つけ出すプロセス」だ。ちょっとでも最初の MVP で顧客に刺さらないものを作っているというフィードバックを得たなら、本当にゼロからぶち壊して作り直せるか。この判断とスピード感こそがビジネスの成功を左右する。

インフラ構築やデータベース設計に時間をかけすぎてしまってもう後には戻れない?テストコードを丁寧に書いてきたのに?せっかく今まで頑張って作ってきたのにもったいない?そんな判断が続いていくと、確実にこの MVP を作り上げることはできないだろう。

どんどん作ってどんどんぶっ壊して作り直す。そんなことが可能なインフラ構成、技術選定、コード設計を考えられるか。スタートアップの開発で大事なのはそんなスピード感だ。

作ったものを上司に見せて承認を得てもらう必要がある?そんな古臭い体制ではいつまで経っても当たるか当たらないかの宝くじを引いているのを繰り返すだけだ。せっかく時間をかけてプロダクトを作るなら、その1つの製品で確実に顧客の心を捕まえられるようなシステムを作ろう。そのためにも使ってくれる顧客を見ながら上司の承認関係なく現場レベルで判断を下しながら MVP の開発をすべきだ。そんなスピード感がなければ、確実に「もはや後戻りできない」プロダクト開発となってしまってMVPとは程遠い、ダラダラと誰が使うわわからない機能開発という最も意味のない時間を費やすことになるだろう。

スタートアップエンジニアは何を鍛えるべきか

もはや感覚でソースコードを綺麗にできるレベルのエンジニアが最終的には勝つと思う。いちいち設計やソースレビューで時間をかけたりしてたらそれだけで時間がかかってしまう。関係者が5人以上いてもいいけど、全員が話し合わずともある程度の合意形成できる成熟度にないと、わざわざ確認することが多発し、ゼロからぶっ壊して作り直すっていうスピードを実現することができない。その果てに必ず後戻りできないようなシステムを作り上げてしまうことだろう。

そのためにも、ゼロからプロダクトを作った経験がたくさんあるエンジニアこそスタートアップエンジニアに向いていると考えている。どんなゴミプロダクトでも、それを開発すればゼロから作った経験を持つことができる。そこで失敗した設計やコーディング方法などを次のプロダクト開発に生かすことができる。何回もゼロから作った経験によって、次のプロダクトはより早く、変化に強く、美しくプログラミングしていくことができる。1つのプロダクトの開発運用しているだけのエンジニアではいつまでもたどり着けない地点だ。

さらに理想を言えばそのゼロから作ったプロダクトでそれなりにユーザー数を持つ何かがあると良い。ユーザーが増えてきて初めて経験することも数多くあるからである。そのサービスで初めてそれなりの規模のサーバー運営や、パフォーマンスを意識したコーディングなどを実感しながら成長することができるだろう。そうやって一度でもうまくいったプロダクトをゼロから作り上げた経験があると、次のプロダクトはより良いものになって成功を生み出しやすくなる。

企業に勤めながら、ゼロからプロダクトを作る経験をたくさんできるか?それは異動や転職を繰り返さない限り不可能だ。しかし異動や転職を繰り返してしまうといつまで経っても本当の自分のプロダクトにめぐり合うことはできない。てことで、いかに個人の時間を使ってプロダクトをゼロから作る経験を持ち続けられるかが大事になる。

よくある業務時間外で勉強/開発すべきかどうかって話だけど、個人で開発をする訓練をしない限りは、正しい MVP を高速で回すことができず、成功するプロダクトをいつまでも作ることはできないだろう。その上でやる/やらないの判断をそれぞれがすればいいと思う。

終わりに

今回は MVP について割と真剣に考察してエンジニアの鍛えるべき道筋をご紹介した。

最初のアイディアで確実に成功するプロダクトを作るってのは本当に難しく、できたら奇跡レベルだ。そうじゃなくて、ぶち壊しながらも確実に顧客の理想に届くプロダクトに磨いていく、そんな俊敏な開発ができるエンジニアを目指すことで、自分のプロダクトを成功まで導くことができる。

スピード感を持って大胆な決断ができる企業が増えていくと、面白いプロダクトがどんどん出てくると考えている。