これは2023夏のブログリレー33日目の記事です。
はじめに
こんにちは、23Bのしーぴーです。最近はぷよテト2にハマっています。あんまり強くない人、一緒にやりましょう。
突然ですが、皆さん個人開発してますか?この記事を読んでいる人なら当然してますよね???(圧)
とまぁ冗談はさておき、個人開発している人も個人開発していない人も楽しめる記事を目指しているのでご安心ください。
個人開発とは
個人開発の特徴
個人開発とは名前の通り、個人で開発すること全般を指します。逆に個人開発の対義語としてチーム開発というのがあります。チーム開発と個人開発の違いとは何でしょうか?
ChatGPTにその違いを表にまとめてもらいました。便利だね。
項目 | 個人開発 | チーム開発 |
---|---|---|
責任 | 1人で全て | 分担していく |
コミュニケーション | 不要 | 必須 |
スキル | 限定される | 多くのスキルを組み合わせ |
進捗管理 | 自身で管理 | チームで管理、協調が必要 |
リソース | 限られる | 豊富 |
※もちろんチーム開発は規模が様々で、それを一括りにチーム開発として論じるのは無理があるかもしれないですが、今回フォーカスしたいのは個人開発なのでそこら辺は無視します。
ここで注目して欲しいのは個人開発では「1人で全て」責任を負うというところです。考えるまでもなく、個人開発では自分以外の開発者がいないので、自分が責任を全て引き受けます。逆に言えば他者に責任を押し付けることがなく、(法と倫理に触れなければ)何をやっても許されるのです。
このポイントが次に述べる魅力につながってきます。
個人開発の魅力
ボクが個人開発の好きなポイントをいくつか挙げていこうと思います。
好きなものを作れる
個人開発では自分の好きなものを作ることができます。ビジネスが絡むと収益性が云々みたいな話とか、あるいは役に立つ立たないみたいな話とかをしなきゃですが、個人開発ではそういうことを一切気にする必要はありません。収益を生まないアプリでも、役に立たないアプリでも、作りたいなら作ればいいんです。だって、個人開発だもの。
好きなように作れる
個人開発では誰にも邪魔されず、好きなように作ることができます。進捗確認もされないし、ミーティングもないし、全部自分の思うままです。mainブランチにpushしても、✝️歴史改変✝️しても怒る人は誰もいません。好きなようにやりましょう。影響を受けるのは未来の自分です。
どうですか?個人開発したくなってきましたか?したくなってきましたよね?(圧)
でも個人開発って結構陥りがちな罠が多いので、ボクが普段気を付けていることを紹介していきたいと思います。
個人開発で普段気を付けていること
ようやっと本題です。個人的な意見も含んでいるので「気を付けるべきこと」ではなく「普段気を付けていること」にしています。みなさんの個人開発ライフの参考になれば嬉しいです。
作り切る
これ、意外と大事です。個人開発は好きなように作れるという話を前にしましたが、逆に言えば好きなタイミングでやめれるということでもあります。なので完成しないまま放置される、ということはよくあります。でもせっかくのアイデア、自分が実現しなければこの先実現されないかもしれません。せっかくなら作り切っちゃった方がいいですよね。
現実問題、どうやって作り切るようにするかというのは難しい話です。ボクが普段気を付けているのは「ゴールを決める」というのと「期間を区切る」ということです。
個人開発あるあるとして、あの機能もよさそう、この機能もよさそう、と言って色んな機能を盛りだくさんに実装しようとした結果、挫折してしまうというのがあります。まず最初にしっかりとゴールを描いておく、これだけ実装したら完成とする、というのを決めておきましょう。そうすると「完成」が定義されます。さらに逆算で何をやればいいかも見えてきます。
面白そうな機能が浮かんだら、それはそれでいいと思います。ただいったんそれは脇に置いておいて、まずは作品の完成を目指しましょう。その後で実装してアップデートという形でリリースすれば良い話です。初回リリースに色んなものを詰め込み過ぎないことが完成させるコツです。
ゴールを決めたら、そこに至るまでどれぐらいの時間・期間がかかるかをイメージして、そこまでにリリースするぞ!という強い意志を持って作業をしましょう。
完成させるコツは開発期間を長くし過ぎないことです。これは大作になるから1年ぐらいかかるかな、などと雑に期間を設定しない方が良いです。そういう場合はそもそもとして規模を縮小するか、あるいはコア部分だけα版として作るなどしてなるべく小さくリリースした方が良いと思います。勢いを付けて短期間でガッとやった方がダレにくいですし、上手く事が運びやすい気がします。
個人的なオススメは3日~1週間です。その間はなるべく他のことをやらず、開発だけにガッと熱中する、というのがオススメです。イメージとしてはハッカソンですね。短いと思う人もいるかもしれませんが、3日でもめちゃめちゃ集中すれば30時間ぐらい作業できますし、30時間かければそれなりのものができます。
最初は小さく始めるというのを意識するとグッと完成しやすくなります。
運用にコストをかけない
これは結構Web系の話になりますが、WebサービスなりWebサイトなりを維持するためには、何かしらのホスティング方法が必要です。一昔前なら自前でサーバーを買ってきてホストみたいなことも良くやっていましたが、今ではPaaS (Platform as a Service) とかIaaS (Infrastructure as a Service) といったものが一般的になってきました。
でも当たり前の話ですが、PaaSにしろIaaSにしろお金がかかります。タダでインフラを提供するわけにはいかないですからね。で、そのお金はあんまり返ってきません。個人開発で稼ごうと思うと結構大変ですし、そもそもお金のためにやるほどリターンの良い作業ではないです基本は。
例えば月1000円維持にかかるとしましょう。学生にとって月1000円の出費は痛いですし、サービスを作るたびに月1000円取られるとなるとなかなか新しいサービスを作る気力もなくなってしまうかもしれません。
そして何よりも深刻なのが、サービスを維持する気力がなくなってしまうということです。何も生み出さずにただ月1000円吸い取っていくサービスを維持していこうという気力はなかなか起きづらいですし、別に誰も使ってないしクローズしちゃえとなりがちです。でもそれってすごいもったいないことだと思います。
これは自分語りですが、ボクが作ったアプリの中に「ダイススペック」というものがあります。このアプリがどんなアプリか、みたいな話は本題じゃないので省くとして (気になったら記事書いたのでそっちを見てください) このアプリのリリース初期のアクセス状況をお見せします。
一回スパイクみたいに伸びてるのは、リリースしました的な記事 (下のやつ) を書いたからです。
part1こそそれなりに読まれて (8000viewぐらい) 物珍しさでアクセスしてくれる人もいましたが、part2、part3では特に反響もなく...WAUは1桁と2桁の間を行ったり来たりみたいな状況です。
こんな状態で月1000円とかかかってたらボクもサービスをクローズしちゃってたかもしれません。でもボクはお金をかけたくなかったのでVercelというところで無料でホスティングしてました。DBとかも使ってなくて、特にそれ以外にお金がかかるところもないので完全に無料でサービスを維持できていたわけです。
時々マイナーアップデートとかメジャーアップデートとかを繰り返して、細々とサービスを続けていると...
↑みたいな感じで3月ぐらいから急激にユーザーが増え始め、WAU300~400人ぐらいのサービスに勝手に成長しました。
愛用してくれてるリピーターの方もいて、しっかりとサービスが定着していることが分かります。
別にボクはめちゃめちゃに広告を打ったわけでもなければ、サービスを根本から改善したわけでもないですが、ある日急に伸び始めて使われるようになりました。
個人開発のアプリって、品質は高いけど知名度がないから使われないみたいなパターンが多いと個人的に思っています。そうすると、あるところから急激に伸び始めるが、初期の方はあんまりそれが見えないということがあると思っていて、その段階でクローズしちゃうのはホントに惜しいなぁと思っています。
実際に皆さんがどういうものを作るのかは分からないですが、せっかくなら運用コストをほぼ0に近づけて、サービスを維持し続けて欲しいな、と勝手ながら思います。
その具体的なテクニック、無料枠が多いPaaSみたいな話は他の人が良い感じにまとめてくれているので適宜そちらを参照すると良いかと思われます。一応そういう記事の一例を置いておきます。
アクセスログを取る
これもWebっぽい話になりますが、アクセスログ (アプリを配布する場合はダウンロード回数とかかな?) は取った方が良いと思っています。というのも、作ってリリースして終わりだと、使われてるのか使われてないのか、どの機能をみんな使っていて、逆にどの機能が使われてないのか、みたいなところが何もわかりません。何もわからないと改善するのも自分基準になりがちですし、実際に使われているということは大きなモチベーションになります。
実際ボクも毎日アナリティクスの画面を眺めてニヤニヤするということをやっていた時期がありました。それぐらいモチベになるってことです。そしてこれは個人開発者の特権でもあります。
めんどくさそう...みたいに思う人もいるかもしれませんが、今のご時世便利なもので、GAタグ1コ仕込むだけで、勝手にGoogle君が情報をまとめてくれます。なんならボクは普段から良く使うので、タグマネージャーのIDをenvに仕込むだけでいい感じにしてくれるようにテンプレートリポジトリを作ったりしています。それぐらいデフォルトで入れるってことです。
オススメの個人開発
個人開発の題材としておすすめなのが 「ポートフォリオサイト」 です。技術者の方々は結構作ってるイメージがありますし、特にWebエンジニアだと凝ったものを作る人が多い気がします。まだ作ったことがない人はこの機会に作ってみてもいいのではないでしょうか。
おそらくそこまで大規模にはならないですし、1週間もあれば十分なものができると思います。Web系詳しくないよ~~みたいな人も、学ぶのも含めて1週間としてもまぁ頑張れば間に合う気がします。知らんけど。学んでから作ろうと思うとたぶん学ばないので、学ぶのと作るの合わせてやることをオススメします。
さいごに
個人開発楽しいからみんなもやろう!!! (と言いつつ自分はあんまりできてない...)
それはそれとして明日は @mehm8128 さんの記事です。お楽しみに!