10個のサービス開発に挫折し続けて学んだ、僕なりの「サービス開発アンチパターン」
ここ最近はWordpressの方で書いていたのですが、はてなに戻ってきてしまいました。
ここ数年で、いろんなブログ(wordpress、note、はてな、medium、ameblo)を行き来したけれども、やはりはてなが一番書きやすい。なぜなのか。
さて、この記事は株式会社Ancar Advent Calendar 2019の14日目の記事です。最近はこちらのAncarさんのサービス開発をお手伝いさせていただいております。そのご縁で、
Advent Calendarにも参戦させていただきました。
今回は、10個のサービス開発に挫折し続けて学んだ、僕なりの「サービス開発アンチパターン」というお題で書かせていただきます。
これまでいくつかのサービスを作ってきて、そのほとんどで挫折しているのですが、そんな中でも学んだことがあります。とはいえ、まだまだサービス開発で何一つ成功できていないので、「サービス開発のコツ」などという恐れ多いテーマでは書くことはできません。
ですが、挫折し続けてきたということは、裏を返せばよく陥りがちな避けるべきこと、すなわち「アンチパターン」ぐらいでしたら、こんな僕でも皆さんに共有できるのでは?と思い、書かせていただきたいです。
※ちなみにここでいう「サービス開発」とは、いわゆる個人開発の話です。
10個目のサービスをリリースしました!
さて、まずは最近リリースしたサービスを紹介させてください。
今週月曜日に10個目のサービスをリリースいました。おすすめ旅行スポットが集まる旅行メディア「FRIP」です。旅行スポットのクチコミを、写真付きで、誰でも投稿することができます!
「本当におすすめな旅行情報が、手軽に見つかる旅行メディア」になれるよう頑張っていきたいです。もしよろしければ一旦、登録だけしていただけたら嬉しいです。
FRIPは僕と、敏腕エンジニアのRikuさんの2人で開発しています。Rikuさんのおかげで無事にリリースまでこぎ着けることができました。Rikuさんありがとう!
10個のサービス開発に挫折し続けてきました
僕がプログラミングを勉強し始めたのも、自分の手でサービスを作りたいという気持ちからでした。なので、プログラミングを始めてからの約3年間で、10個のサービスを作ってきました。かんたんに紹介していくとこのようなサービスたちです。ああ、懐かしや...。
1個目 :セブ島に特化したグルメ口コミサービス「LECHON」
2個目 :キャリアに特化した実名制Q&Aサービス「Tanong」
3個目 :いま空いているカフェが見つかるサービス「iteru」
4個目 :企業・個人のプロジェクトに複業で携われるサービス「Wonderbase」
5個目 :その土地ならではの体験に参加できるサービス「HiTrip」
6個目 :日本語教師が作成した教材を販売できるサービス「EDOPEN」
7個目 :日報を共有できるSNS「nipoc」
8個目 :12人が居住するシェアハウスのお風呂予約サービス「Reserbath」
9個目 :有名VCから投資を受けているイケイケスタートアップを探せるサービス「StartupWithYou」
10個目:思わず友達を旅行に誘いたくなる、おすすめなスポットがあつまる旅行口コミサービス「FRIP」
この中で、今でも動いているサービスは8個目の「Reserbath」と、最近リリースした10個目の「FRIP」のみです。他は全てクローズ、非常に悔しいです。
僕なりの「サービス開発アンチパターン」
これまでに10個のサービスを作ってきて、挫折してばかりでしたが、学んだこともたくさんありました。
特に、よく陥りがちな避けるべきこと、すなわち「アンチパターン」がいくつかあるのでそちらを紹介したいと思います。僕が考える「サービス開発アンチパターン」は5つです。
(1)自分で0から全部をやろうとしてしまう
サービス開発を経験した方であればお分かりかと思うのですが、サービス1つ作るだけでもやることがめちゃくちゃあります。
特に個人開発ともなれば、フロントエンドからバックエンド、インフラまで、それはもう全てを自分1人でやらなければなりません。そのため、全てを0から自分でやろうとしたら、とてつもない時間がかかってしまい、リリースが遅れてしまいます。
解決策としては、便利なライブラリやツールを惜しみなく使ってしまうことです。FRIPもライブラリをいくつか使っています。
例えば、FRIPのクチコミ投稿ページには画像アップロードフォームがあるのですが、こちらは画像を複数枚アップロードできて、かつ削除や追加も出来るし、プレビューまで表示してくれます。これを全て自分で0から実装しようと思ったら、相当な時間がかかってしまうでしょう。ですが便利なライブラリを使えば、圧倒的に少ない時間で実装することが可能になります。
ちなみに、こちらの画像アップロードフォームは、vue-upload-componentというライブラリを使っています。
エンジニアの人が、ライブラリに頼らずに自分で0から実装したくなる気持ちは分からなくもないですし、もちろん技術の勉強にはなると思います。
とはいえ、サービス開発の目的が何なのか?を見失ってはダメで、僕の場合、サービス開発の目的は「作りたいサービスを作り、それを事業化する」ことなので、その目的に最短距離で到達するためにもライブラリを積極的に使っています。
(2)サービスが拡大した理想の未来から逆算した設計を初期にしてしまう
引用:メルカン
これは本当にやりがちです!!!笑
冗談じゃなくて本気の本気で、リリース前の段階から「いずれユーザー数が1000万人になった時のためにも、インフラはAWSで構成もしっかり設計しておこう...!!」とか考えてしまいがちです。もうお前はアホかと。笑
そんなことが出来るに越したことはないのですが、それでリリースが遅れるのは本末転倒です。というか、正直インフラまで考える余裕なんてありません。
サービスが拡大したときのことは、サービスが拡大してからでも間に合います。
例として、今やユーザー数200万人以上のビジネスSNS「Wantedly」も、リリースから2年間はHerokuでサービスを運用していたようです。
Herokuを使うと、サービス開発時のコストを大幅に抑えられます。そして、FRIPもHerokuで運用しております。
(3)リリース後のサービス運営のことまで考慮されていない
例えばCtoCのマッチングプラットフォームサービスを作る場合、必ず超えなければならない問題が、「鶏と卵問題」でしょう。
需要者か供給者のどちらかのユーザーを獲得しなければ、サービスとしての価値を発揮できません。宿泊予約できる家が1つも登録されていないAirBnbなんて、誰も使わないですよね?
つまりサービス開発は、開発してリリースで終わりじゃないんです。リリース後の運営まで最初から考える必要があります。
ちなみに、余談ですがCtoCサービスは本当に本当に本当に大変なので、よほどやりたいサービスアイデアが出てこない限り、僕は今後は手を出したくないです。
(4)サービス開発をしていることを内緒にして、一人でヒソヒソと開発してしまう
これもね、すごく気持ちがわかるんですよ...。
どんなサービスを開発しているのかを内緒にして、ずっと一人で開発を行ってしまうケースです。では、なぜこれがアンチパターンなのか。
理由としては3つあって、1つは「友達にサービスのアイデアや開発進捗を共有すればアドバイスをもらえて、サービスをより良くできるのに、その機会を損失している」ことです。
また「それ(友達に共有してアドバイスをもらえること)がサービス開発のモチベーション維持に繋がるのに、その機会を損失している」ことが2つ目です。
そして3つ目が「リリースが遅れてしまう」ことです。友達などに共有せずに、ずっと一人で進めていると、リリースするのがどんどんどんどん怖くなります。
引用:fit17
「こんなサービスを使ってくれる人はいるのかな?」「このレベルのサービスじゃまだリリースには及ばない....もっと作り込んでからリリースしないと..!!」など色々無駄なことを考えてしまい、リリースが遅れてしまったり、途中で諦めてしまう可能性が高まります。実際に僕もこれに何度かハマって、リリースを諦めてしまったサービスがありました。
早い段階で友達に共有してアドバイスをもらっておくことで、ロジックは上手く説明はできないのですが、リリースへの恐怖が少なくなるんです。
(5)自分がユーザーではないサービスを作ってしまう
これは一概にはアンチパターンとは言えないかもしれません。ですが、僕にとってはこれもアンチパターンに当てはまります。
これまでに、自分がユーザーではないサービスを何個か作ろうとしたことがあるのですが、ニーズもわからないし、モチベーションも湧かないしでとにかく続かないんですよね。そして結果的に諦めてしまい失敗します。
なので、僕は自分がユーザーとして使いたいと思えるサービスを今後も作って行こうと思っています。FRIPは旅行好きの僕が欲しかったサービスです。
以上、10個のサービス開発に挫折し続けて学んだ、僕なりの「サービス開発アンチパターン」でした。