Closed3
個人開発者のシンプルなタスク管理術

個人開発で Web アプリを作っているのですが、タスク管理について色々試行錯誤したので、ここにメモを残します。
以前のタスク管理方法
Github Issues + Github Projects でタスク管理を行なっていました。この組み合わせは鉄板ですが、個人開発者にとっては少し多機能すぎるものだったと感じています。
開発手順
- Issue を作成し、実装目標を書き込む(どんな機能を追加したいかなど)
- Project で各 Issue の締め切りと状態(todo / in progress / done)を設定
- コードを書き、コミットメッセージで Issue とコミットを紐付け
メリット
- コミットのグループ分けがしやすい(Issue にコミットを紐づけていたので)
- 各タスクの締め切りを Project で設定、確認できる
- 各タスクに関するメモを Issue に残せる
- Issue をさらに Milestone でグループ分けできる
- Github 上で全て完結する
- 将来的に複数人でのプロジェクト管理に移行しやすい
デメリット
- Project のロードマップが見にくい(もっとカレンダーアプリっぽい見た目がいい)
- 他のタスク(家の用事など)とプロジェクトのタスクを一緒に確認できない
- Issue や Project を設定するのが面倒(特に Project はカレンダーアプリや TODO アプリにタスクを追加するより面倒)
- モバイルで確認しにくい
現在のタスク管理方法
Apple のカレンダーアプリ + Apple のリマインダーアプリでタスク管理をすることにしました。
開発手順
- プロジェクト全体の大まかな予定は、カレンダーアプリで管理する(≒ Milestone & Project)
- 翌日のタスクをリマインダーアプリに追加する(≒ Issue & Issue 内のチェックリスト)
- コードを書き、コミット
- リマインダーアプリのタスクにチェック
どうやってコミットのグループ分けをするか
この方法だと Issue を作成していないので、各コミットがどのタスクに紐づけられているのかが分かりません。そこで、ブランチを使用したタスクのグループ分けを行うことにしました。
- 各タスクグループごとに新規ブランチを作成
- すべてのタスクが終わったら主要ブランチにマージ
- タスクグループブランチにタグを打つ
- タスクグループブランチを削除
このようにすることで、どのコミットがどのタスクグループに紐づけられているのか明確になります。
私の場合、主要なブランチとして main
と develop
があります。
main # 公開用ブランチ
develop # 開発用ブランチ
基本的に develop
に全てのタスクグループを集約させます。新しいタスクグループ(機能ごと、バグ修正ごと)を作り、すべてのタスクが完了したら develop にマージします。
main # 公開用ブランチ
develop # 開発用ブランチ
├── doc/readme-typo-fix # ドキュメントの誤字修正
└── feature/profile-page # プロフィールページの追加
ブランチを削除しても、そのブランチで行ったコミットやマージ履歴は Gitの履歴として残ります。ブランチの削除前にタグ git tag
を打っておくことで、さらに参照しやすくしています。

対応表
管理方法 | 全体 | タスクグループ | タスク |
---|---|---|---|
Github Projects + Github Issues | Github Projects | Milestone + Github Issues | Github Issues のチェックリスト |
Apple カレンダー + Apple リマインダー | Apple カレンダー | Apple リマインダー + Git ブランチ | Apple リマインダー(サブタスク) |

ブランチやタグの命名ルール
ブランチの命名ルール
基本フォーマット:
<タイプ>/<簡潔な説明>
タイプ:
タイプ | 用途 | 例 |
---|---|---|
feature/ | 新機能の追加 | feature/login-form |
fix/ | バグ修正 | fix/image-loading-error |
hotfix/ | 本番の緊急修正 | hotfix/payment-crash |
refactor/ | 構造改善 | refactor/db-schema |
chore/ | 依存更新などの雑務 | chore/update-dependencies |
doc/ | ドキュメント関連 | doc/readme-typo-fix |
test/ | テスト関連 | test/user-auth-tests |
ブランチの命名ルール
done/<ブランチ名>
例 | 意味 |
---|---|
done/feature-login | ログイン機能を作ったブランチの完了状態 |
このスクラップは2ヶ月前にクローズされました