個人開発者ののすけ(@nosuke926)です。
今回は個人開発で失敗する人の特徴を解説します。
個人開発の失敗は「サービスが誰からも使われず、自分も使わない。サービスを改善するモチベーションもない」と定義します。
つまりは「サービスの死」ですね。
一人ではなく、複数人で始める
個人開発をこれから始める人で、意外な落とし穴がチームで開発しようとすることです。
一人でサービスを作れるのか不安を感じると、誰かを誘ってサービスを作りたくなります。
「1+1=2じゃない!3にも4にもなる!!」
と言いたいところですが、多くの場合は1+1=0.5 もしくは0、 -1になります。
個人開発をチームで始めると失敗する理由は、
・仮に初期はモチベーションが高くても、ユーザー数が伸びない、サービスが思うようにグロースしないと他責にしがち
・個人開発は初期の金銭的リターンがないためモチベーションに差が出る
・コミュニケーションコストの発生により精神的負担が増える
こんな感じです。
個人開発はサービスを一つ世の中に出すこと。つまりは小さな起業のようなものです。
起業時の共同創業者を選ぶとなると慎重に選びますよね?
個人開発を誰かと一緒に始めるのはそれくらい慎重になるべきです。
せめてチーム開発で始めるとしても、うまく回るのはエンジニア一人とデザイナー一人までです。
最善なのは一人でやることです。
知らない技術ばかりを使う
エンジニアが個人開発を始める時にやりがちなパターンで「新しい技術を詰め込む」というのがあります。
今話題になってるあの技術とこの技術と…と新しい技術、知らない技術を詰め込みすぎると、自分が使い慣れている技術と比較して
・品質が安定しない
・バグの修正に時間がかかる
・長期で見た時にその技術が使われなくなると辛い
というデメリットがあります。
新しい技術はネット上の参考記事が少なかったり成熟してないので、何か機能を実装するたびに、いちいち調査が必要で時間がかかります。
個人開発において大切な「開発のスピード」を犠牲にすることになります。
開発のスピードが遅くなるとサービスのリリースが遅れるため、モチベーションを保つのが難しくなります。
収益化を想定して長期でサービスを運用するのであれば、自分が使い慣れている技術で実装するのがベストです。
どうしても新しい技術を開発のモチベーションにしたいのであれば、
くらいで留めておくのが無難です。
リリースの期限を決めない
リリースの期限を決めないとズルズルとリリース日が後ろ倒しになります。
色々と追加したい機能があるのは分かりますが、「とりあえず使える」状態になったらリリースしてしまいましょう。
一旦リリースしてしまい、そこからユーザーの反応を見ながら機能追加していくのがおすすめです。
失敗したくないばかりに、完璧な状態になるまでひたすら開発を続けるのは悪手です。
開発が長引くほどユーザーからのフィードバックを得るのが怖くなり、サービスを公開しないまま開発を続けてしまう負の悪循環に陥ります。
「何年も開発を続けて世に出したサービスが全く使われずに数ヶ月で終了する」みたいなことが普通にあります。
「完璧な状態」になることは無いので、とりあえずリリースしてしまいましょう。
私は最長でも1〜2ヶ月、小さいものなら数日で開発してリリースするようにしています。
お金を1円も稼がない
仮に収益化を前提としていなくても、お金を生み出すサービスはメンテナンスのモチベーションになります。
つまり、長期的なサービス運営が可能になります。
収益を産まないサービスの場合、完全に善意だけで開発を続けることになります。
しかし、ユーザー側からすると善意だけで運営されているボランティアサービスであることなど知ったことではないので、さまざまな要望やクレームをサービス運営者に送ります。
サービスから収益を得ていない場合、最初はモチベーション高く開発していても次第に「やらされている感」が強くなってきてしまい、疲弊する。というよくない流れになりがちです。
サービスから何らかのリターンを得ていれば、ユーザーからのフィードバックに応えるインセンティブが働くのでモチベーションを保ちながら開発を続けることができます。
※自分が使うサービスであれば、開発のモチベーションを保てるので話は別です。
お金を稼ぐことは悪ではなく、サービスの提供に対する正当な対価です。
自分へのリターン(収益だけではないですが)を設計した個人開発の方が持続的になり、長期で見ると、自分とユーザーがWin-Winの関係になります。
【まとめ】個人開発で失敗しないためのポイント
ということで周りの成功している個人開発者は、
・使い慣れている技術を使う
・開発期間を短く、素早くサービスをリリース→改善していく
・サービスから収益を得る設計にする
コメント