noteに投稿済みの文章ですが、こちらにも寄稿します。
「このサービス作りたい!!Bubbleで新規プロジェクト作成…」
・・・・・・
「AIがすごいの!?このAIのAPI使ったサービス作りたい!!」
こんなかんじで、作るだけ作って放置しているだけのプロジェクトが10個を超えています。来田浩毅です。
本日は、個人開発者あるあるの「なんやかんやあって一つもプロダクトが完成していない現象」について話そうと思います。
コラム的なものなので、あまり役に立つとは思いませんが、もしよかったら読んでいってください。
準備や計画もせずにとりあえず手を動かしてみる。最初はトップページから作るのでフワフワとした構想の部分だけでも作成できますがそこから各ページを作成し繋がりが生まれたときに、「あれ、ここどうするんだっけ?」「あー、これやろうとしたらあっちであれをしないとダメじゃん」「このDBはリスト型じゃダメじゃん」となりがちです。
そこで「やっちまったなぁ」となり手戻りを容認できる人はいいのですが大体の人はやる気を失います。個人開発なんて責任0なのでなおさらです。
僕が思う解決方法は1つだけ
しっかり準備する
ということです。
まず、手を動かす前に準備することの意味は2つあります。
1つ目は決意を固めることです。
「このサービスはヒットする!」「このサービスは本当に作りたい!」
と信じ込めたら、最後の最後までやる気は続きます。やる気があればあるほど集中力も上がるので、スピードにも直結します。
2つ目は道筋が完成されていることです。
人は悩みたくないものです。頭はできるだけ使いたくありません。なので、走り始める前にできるだけ道は整備しておきましょう。そうすることで作業中に余計な事で頭を使わなくて済みます。
僕もずっと。とりあえず始めて失敗したら勉強だと思ってまた始めるべきだと思っていましたが、以下の本を読んで考え方を改めました。
BIG THINGS どデカいことを成し遂げたヤツらはなにをしたのか?www.amazon.co.jp
1,900円(2025年02月25日 12:04時点 詳しくはこちら)
↑はアフィリエイトでもなんでもないのでご購入いただいても僕に収益はきません。でも全人類買うべき本だと思います。特に個人開発者は。
「着手したら引き戻すのは簡単ではないしリスクも発生する。とにかく着手から完成までの期間を短くするべき。」
↑それは本当にそう。
要件定義というのは、IT業界にいる方だとご存じだと思いますが、
要件定義とは、システム開発などのプロジェクトを始める前の段階で、必要な機能や要求をわかりやすくまとめていく作業のことです
https://it-trend.jp/development_tools/article/32-0060
こういうことです。要件定義が下手なプロジェクトだと完成品と要望品のギャップが大きすぎて様々なトラブルが発生してしまいます。
「SNSアカウントでのログインは当然実装されるものだと思っていた!!」
「要件定義に明示されていませんが…」
みたいなやり取りはあるあるですね。
この要件定義は個人開発でもしっかりと行うべきです。なぜなら、自分の作りたいものというのは案外自分でもよく分かっていないからです。
僕は今、短歌投稿サービスを作成したいなって軽く考えているのですが、これもふわっとした構想です。
SNS共有は?
コメント機能は?
タイムライン形式?
いいね数はカウントする?
ランキング形式とか実装する?
お題はサイトから提示する?
などなど一つの短歌投稿サービスを取っても様々な「ここはどうする?」という疑問点が浮かび上がります。
サービスを作る途中で「ここはどうする?」の【ここ】が思い浮かぶのですが、それだと遅いパターンが多いです。
自分はノーコード開発しか行っていないのでコーディングの例は分かりませんがBubbleだとデータベース設計においてリスト型にしていたフィールドが単一型にすべきだと途中で気づいたときなんか絶望です。
一度フィールドを削除するので、そこに関連する部分は全て作り直しですね。
そんなことはないように予め要件定義は自分の中でしっかりとしてメモも作成しましょう。
一人でじっくりと考えていてもなかなか要件定義はできません。実際の受託開発でもインタビューを通して発注者の欲しいものを固めていきます。
そこで、僕はとりあえずサービスを思いついたらChatGPTに投げかけています。そしたら、彼が「ここはどうしたい?」みたいな質問を投げかけてくれるので、答えているうちに固まります。すごいですね。
これは大きな課題ですよね。まず、個人開発をやろうとしている人って行動力がおかしいじゃないですか。普通に働いて、そこから余暇の時間を使って作成しているんですよ。お金にもならないのに。行動力がおかしいですよね。その行動力って好奇心からきていると思っているんですが、好奇心強い人って総じて飽きやすい。
飽きやすいというかは、別のところに好奇心が向いてしまう。
しかも、最近はAIの発達スピードがすごすぎてXなんか眺めていると毎日新しいテクノロジーが発表されます。
そんな毎日を送っていると自分の開発しているサービスが時代遅れなものに思えてしまいますよね。そこで新しいプロジェクトを作成してしまう。
これは決して悪いことではないと思うんですけど、そうやっているといつまでたっても1つも完成しないのでまずは、どんな形でもいいので1つを完成させて次に取り掛かるべきですね。じゃないと「完成させるスキル」が発達しませんよ。
ちなみに「完成させるスキル」とは【テストスキル】、【「ここで終わらせよう!」と決意するスキル】です。簡単そうに見えてこの2つは難しいです。
「う~ん、これぐらいの規模のサービスならだいたい1カ月かな??」
はい、そのサービスを作成するには3カ月かかります。
まず、個人開発の時間というのは生活の優先順位のなかで最下層に位置します。仕事や家事、睡眠など優先される時間の使い道はいくらでもあります。だからもしも突発的に仕事が忙しかったり風邪などを引いたりしたら個人開発の時間は少なくなります。=開発時間は長くなります。
人間というのは、どうしても計画段階では無理をします。そしてその計画を実行する段階になると甘えます。
だから、パッツンパッツンの理想のスケジュールを1回立てて、それを3倍するぐらいがベストです。
もし仮に3分の1の開発時間で終わらせることができたら、万々歳です!
計画は厳しく、実行は甘い
ではなく
計画は甘く、実行は厳しい
でやりましょう!!
まじで孤独。開発している間、不安になりますよね。
「この時間、めちゃくちゃ無駄じゃない…?」
そんなときに「めちゃくちゃ無駄ですよ(笑)」って笑い飛ばしてくれる人がいたらネタにもなっていいのですが、残念ながらそんな人はいない。
だから、コミュニティとかに参加しましょう!Xとかいいですよ。
」
以上が僕の考える個人開発が終わらない理由です。
個人でやってる以上、どうしても甘えてしまうんですよね。個人開発のみで食べている人ならそんなことはないのでしょうが、個人開発者の多くが趣味でやっているでしょう。別に要件定義なんてしなくても勢いのまま開始しても誰にも怒られませんし、完成しなくてもスケジュールが遅れても誰も怒りません。
だからといって甘えているといつまでたっても完成しないよという話ですね。
なんだか偉そうに語りましたが、全て自分の話です。
個人開発者は孤独です。だからこの記事を見て、「自分と同じような人いるんだなぁ」とか思ってまたパソコンに向かってもらえたら嬉しいです。
コメントはまだありません
読み込み中...