個人開発でモチベーションが落ちても持続可能な開発にする方法

個人開発

個人開発をするエンジニア「個人開発をしていてもモチベーションが落ちて途中でやめてしまう。いつも途中で投げ出してしまう」

そんな悩みにお答えします。

個人開発というものは本番ローンチまでリリースして、始めて評価されるものだと思ってください。

開発を途中でやめた個人開発には、ゼロとまでは言いませんがほぼ価値はありません。
必ずリリースまで持っていく、この心構えが必要です。

さて、そのような個人開発のモチベーションを管理において最重要な方法は一つだけです。

結論はこまめなセーブポイントを作っておくことです。

この記事の内容

  • モチベーションが落ちても、そのまま試合終了とならないための方法
  • モチベーションが落ちて作業が中断しても、中断した途中から楽にスタートを切れる方法

書いている人の実績

  • 10年間個人開発を継続
  • サービス総トータルPVは6億を突破
  • ほぼノーメンテナンスで継続的に月間50万円〜100万のサービス収入

モチベーションが落ちてもいい状態にしておく

ある程度の期間個人開発をしていると、終わりが見えなくなったり、「このサービスは誰が使うのだろう」の自念問題に差し掛かって、開発を中断してしまうことがあります。

きっぱりと「このサービスはもう開発中止!試合終了!」と自分に対して宣言できればいいのですが、なかなかそう切り替えられるものでばありません。

やろうと思っているんだけどなあと思いつつ、重い腰を上げてようやく開発に再着手した時に待っているのは「これなんだっけ?」とか「これどうやって作ろうと思っていたんだっけ?」という失念の嵐が貴方を襲いかかります

そんな時に今から解説する方法を知っていれば秒速で再着手をすることが可能です。

開発中にこまめなセーブポイントを作っておく

結論は簡単で、こまめなセーブポイントを作っておく、です。

セーブポイントというのはゲームと同じ概念だと思ってもらってOKです。

セーブポイントを適切に作っておくことにより、最悪しばらく個人開発から離れた時も思い出せる状況を作っておくことが大事です。

セーブポイントが無いと「どこまでやったかな…」とか「何でつまずいていたんだったかな…」ということが記憶に無く、思い出すだけで時間がかかってしまいます。
これではなかなか重い腰も上がらないです。

それでは、ここからは具体的のどのようにしてセーブポイントを作っていけばよいかを解説していきます。
僕はこの方法で10年間個人開発を継続しています。

企画書を書いておく

どんなサービスを作ろうしているか、それをどんな技術で実装しようとしているかなどを最初に書いておくと後でブレなくなります。
企画書と言っても「パワーポイントでしっかりしたもの」を作る必要は全くありません。

GithubのreadmeやWiki、またはマインドマップで簡単にまとめたもので問題ありません。
とは言ってもイメージが湧きにくいと思いますので、以下に具体例をいくつか紹介します。
今回は独自日記サイトの開発をする、という例題にします。

<具体例1>マークダウン(テキスト)を使った方法

  • やりたいこと
    • ログイン機能(フェーズ1ではGoogleログイン方式のみ)
    • 日記新規作成機能
    • 日記更新・削除機能
    • 画像添付機能
    • カレンダー一覧機能
  • 使う技術
    • 言語:Ruby(Ruby on Rails)
    • フロント:Vue.js
    • DB:MariaDB
    • サーバー:Heroku or AWS
  • 非機能要件
    • Google Analytics
    • Google サーチコンソール

<具体例2>マインドマップを使った方法

ここまで書いておけば、後で見返した時に内容がブレることはほぼ皆無になります。

作業した内容をWikiに書き留めておく

一番やっかいなのはやったことを忘れていることです。

  • サーバーに何のミドルウェアをどのようにインストールしたか忘れてしまった
  • 開発環境をどのように構築したか忘れてしまった
  • DBへのデータの持ち方を忘れてしまった

こういったことを防ぐ為にWikiなどを使ってある程度、忘れないように作業のメモをしていきましょう。

Wikiへの記入ルールや記入する内容は以下の記事に詳しく書いています。

興味があれば読んでみてください。

GithubのIssuesを活用する

GithubのIssues機能を使って、「今後やること」を管理しましょう。

やりたいことが思い浮かんでもすぐに忘れてしまうのが人間の性です。
できればスマホのホーム画面に、GithubのIssuesを追加できる画面のショートカットを置いておくことを激オススメします。

思いついた時にさっとIssuesに登録する、これを習慣にできれば第一歩は踏み出したも同然です。

これすら出来ないのではあれば、根本的なやり方から模索する必要があります。

こまめにコミットしてコミットコメントを残しておく

Githubにはこめまにコミットをして、コミットコメントは作業内容が分かる文章を書きましょう。

これはチーム開発と同じなのですが、誰しも「自分が数ヶ月前に修正した内容を忘れている」というにはありがちです。

コミットルールはある程度自分ルールに従って結構ですが、10ファイルぐらい一気にコミットして「ロジックを修正」といのは最悪です

なるべく小さな単位でコミットしましょう。
また、ここで登録したIssuesと、コミットコメントを紐付けることを忘れないようにしましょう。

ちなみにプッシュのタイミングは余り考えずに、コンパイルさえ通ればコミットと同時でも問題ないです。
ここがチーム開発と違う点になるかも知れません。

プッシュしてもどうせプルリクをマージしてリリースするのは自分だけなので、CIが整っている環境であれば早めのプッシュをおすすめします。

面倒だがやるとやらないとでは雲泥の差が発生する

ここに書いていることは一つ一つは面倒かも知れません。
しかしリズムに乗ればそんなに大変なことではありません。

具体的にやることは以下です。

  1. Issuesを切る
  2. Issuesの内容に従った修正を行う
  3. コミットコメントを書いてコミット
  4. Wikiに残した方がいい情報があれば記載
  5. プッシュ

あとは1〜6を繰り返せばいいだけです。

チーム開発ではルールを作るのは当たり前ですが、個人開発の場合は詳細な体裁にこだわったり小難しいフォーマットルールを作る必要はありません。
自分がやりやすく、負担にならない程度の粒度で挑戦してみてくだださい。

まとめ

  • モチベーションが落ちてもいい状態に普段から心がけておく
    • 企画書を書く
    • 作業した内容をWikiに書く
    • 思いついた改修内容はすぐにGithubのIssuesに登録する
    • こまめにコミットしてコミットコメントを記載しておく

繰り返しになりますが、最初は慣れるまで少し大変です。

しかし慣れてしまえば最強のモチベーション維持方法になります。
これを使わない手はないですね。

それではよき個人開発ライフを!