ボクココ

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

個人プロダクト開発の成功に必要なこと

ども、@kimihom です。

よくエンジニアと話していると、「~を作ろうと思ってるんだよね」とか「今 ~ を作ってるんだよね」とかそんな話をよく聞く。私はこれらの話を信じないようにしている。なぜなら、そのほとんどが情熱半ばで止まってしまったり、作ったとしても自己満のレベルで止まってしまったりするからである。

一人で作りきることができて、ユーザーに使ってもらえるレベルまで成長させるのは、当然ながら難しい。でも、そこまで行けばちゃんとそのアプリやサービスをメンテナンスしようと思うし、ユーザーからの声を聞くことになる。大変だけどもやりがいのある趣味になるし、収益化を狙うことだってできる。自己満で終わりじゃなく、みんなに使ってもらって満足させられたなら、開発者として幸せなことではないか。そこまでやって初めて、"個人プロダクト開発が成功した"と言えると考えている。

今回は、一人で色々なアプリケーションを作ってきて、10 万DL 評価4.5 のアプリを運用する私から、そこまで至るまでに意識したことをご紹介しよう。(10万DL が大したことないと思えるあなたなら、以下の記事は当然のことかもしれない)

1, 自分が必要なものを作ろう

これ、超大事。誰かから給料をもらってるわけでもないので、開発が"止まる"ってのをいかにして避けるかが大事だ。その条件の下で、自分が必要っていうモチベーションは開発を続けられる唯一の条件と言っても過言ではない。必要、つまりそれがなきゃ困るくらいのレベルのサービスやアプリを考えてみよう。他に類似のアプリがあっても関係ない。自分に最適化されたサービスは、他の誰かもきっと同様のニーズを抱えているのである。だからこそまずは自分が欲しいものを作り、それを他の人にも使えるように最適化するプロセスってのが正攻法だと考えている。

ユーザーのターゲットを「自分」に設定できる。そしたらあなたは、くだらない"マーケティング"手法に勉強やお金を投資する必要なんて一切ない。機能選定や広める方法は、あなたが使う側となったらってことだけを考えて取捨選択すれば良いのだ。

アプリであれば、検索でみんな勝手にダウンロードしてくれる。Twitter や Facebook にシェアしやすいコンテンツを用意すれば、簡単にシェアしてくれる。いいアプリやサービスを作れば、あとは放置してでもユーザーが増えていく仕組みを作れるのだ。だからこそ、自分が"欲しい"ではなく、"必要"だと言えるレベルのものを作るってことにフォーカスすればいいのである。

2, 自分がメインユーザーになる

1 の条件を満たしたアプリを作れば、この条件も達成できることだろう。何より自分がそのアプリの一番のメインユーザーになろう。そしたら発見した使いづらさやちょっとしたバグはすぐに治すことができるだろう。ユーザー同士が情報を共有できるようなものにすると、より開発のモチベーションが上がったりするからオススメだ。共有型でないアプリの場合でも、誰かが投稿した関連する SNS 内容を見ると、とても大きなモチベーションアップにつながる。

要望や不満は意外とみんな言ってこない。言ってきたとしても見当外れなことがほとんどだったりする。だから一番知っているあなたが、そのサービスについて一番知らなければならないのだ。

3, 人々に使ってもらうまでを目標にする

エンジニア一人でサービスを作ると、必ず "自己満で終わる" という魔の壁が立ちはだかる。確かに、「自分の必要な物」ベースで今まで考えてきたんだから、自分が欲しい物さえできれば終わりという感覚になるのも無理はない。

そこを一歩踏み出そう。デザインやアイコン、説明文など初めて使う方に魅力的に見えるようなアプリやサービスに仕上げるのだ。これは最初は確かにとてもめんどくさい。画像の綺麗なものを用意したり、そもそもデザインの知識なんてないから綺麗にすることも最初は難しかったりする。

他のアプリをパクるのではなく参考にしよう。あの有名なアプリはどんな画像を使って説明しているのか。どうやって最初の分かりづらさを解消しているのか。そんな研究は確実にあなたのアプリを次の段階へと成長させてくれる。時には画像編集するための無料ソフトを入れたりして、ちょっと小綺麗に修正したりするとかもするだろう。どれもこれも貴重な体験で、エンジニアであってもぜひそういった領域までやってみてほしい。プロレベルまでは難しいけど、それっぽいものを作れるようになる段階にはなることができるだろう。

だんだんそれに慣れてくると、次に作ったアプリでも同じようにデザインや制作ができて、次のアプリの成功確率がより高まる。こうやって開発以外の力も積み重ねていけば、一人で作ったとは思われないくらいのクオリティに仕上げていくことができるのだ。この段階がエンジニアだけでサービスを作る時の最大の壁であり、目的を「人々に使ってもらうまで」にしないと乗り越えられないものである。

4, バグは絶対に放置しない

個人開発をしていると、モチベーションが低下する時ってのは必ずある。これは、だいたい目的のものができてきた時や、ユーザーが安定して入ってくるような状態になった時に訪れる。

しかし、特にアプリの話だと iOS や Android のバージョンのアップデートはこれでもかというくらい次々に押し寄せてくる。これに定期的に対応しないと、すぐに落ちるアプリとなってしまってレビューが荒れまくる事態が起きる。そうしたら個人プロダクトを運営し続けるってことはもはや困難になり、レビューの低いアプリを見たくもないから消すっていう結果になってしまうのだ。そしたら、それまでにかけてきた開発の時間は何だったのだろう。失敗から学ぶっていうにはあまりにも大きい失った時間だ。

自分の勉強だと思って、常に SDK やミドルウェアを最新に保ち続けよう。そして、その継続を陰で支えるのが、「複雑すぎないアプリ」である。色んなマイナーな技術や複雑な技術を使いこなすと、その分メンテナンスが大変になる。複雑すぎないアプリであれば、アップデートしてもバグの被害は最小限に抑えられる。最新を追従するって言っても SDK をアップデートして再度上げればいいだけなら続けるのも簡単だろう?

Web の場合は、サーバー代を毎月お金を払い続けることになるから、否応なしに継続か止めるかの判断を常に迫られることだろう。その場合はちゃんとサーバーの支払いと回収率のバランスを考慮して、意味もなくサーバー代を払い続けていないか考えることが大事だ。その他のクラウドサービスを使えば同様の機能を破格で運営できるかもしれない。そういった好奇心とチャレンジがきっとあなたを成長させてくれることだろう。

終わりに

以上の点にさえ気をつければ、それなりに使われるアプリやサービスを一人でも運営できるようになることだろう。もちろん、他に仲間がいた方がいい場合もある。しかし、自分の知識の幅を広げたり何かに挑戦するってのを常に持ち続けていくには、「一人でできる」って能力はきっと必要になるはずだ。何かをやるたびに毎回誰かに頼っているようではいけない。

私は個人開発を続けてきて、もう8年は経とうとしている。これはいつ始めるかってだけの話にしか過ぎない。教えられて育つのではなく、自分の力で育っていく。そんな研究熱心なサービス開発者を目指そうではないか。