14
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[GitHub入門] Issue(イシュー)でタスク管理

Last updated at Posted at 2025-12-12

前回(VS CodeでGitを使いこなす マージ・コンフリクト・便利機能)では、VS Codeを使った開発の進め方を解説しました。

第5回となる今回は、コードを書く前の「何を作るか?(タスク管理)」に焦点を当てます。
コードとタスクを別々のツールで管理していませんか?
GitHubの Issue(イシュー)Projects(プロジェクト) を使ってこれらを統合管理することで、開発の文脈(Context)が失われず、チームの開発生産性が劇的に向上します。

GitHub入門シリーズ 全10回

本記事は「GitHub入門」全10回のNo.5です。

github-introduction.png

今回のゴール

  1. GitHub Issueでタスクを作成・管理するメリットを知る
  2. そのまま使えるテンプレートを活用して、抜け漏れなくタスクを定義する
  3. 「Epic > Story > Task」の3階層でタスクを適切に分解する
  4. GitHub Projects(カンバン)でチームの進捗を可視化する

なぜIssueで管理するのか?

GitHub Issueを使う最大のメリットは、「コード」と「タスク」が相互にリンクすることです。
これにより、単にタスクが見やすくなるだけでなく、情報がGitHubに一元管理され、「チームのナレッジ資産」として蓄積されていきます。

  • 文脈の追跡:
    コードの変更履歴から「なぜこの変更をしたのか(Issue)」へ1クリックで辿れます。「なぜこういう実装にしたんだっけ?」という疑問も、Issueに残された議論を見れば即座に解消します

  • 属人化の解消と育成スピード向上:
    チャットツールで流れてしまう情報や、個人のメモ帳にある情報は他人には見えません。
    すべての経緯をIssueに残すことは、第1回で解説した「ナレッジ共有:属人化の解消と育成スピード」に直結します。新しく入ったメンバーも、過去のIssueを検索するだけで仕様や決定プロセスを学べるため、古参メンバーへの質問コストが下がり、自走できるまでの期間が短縮されます

実践:テンプレートを活用してIssueを作ろう

GitHubには、用途に合わせてIssueのテンプレートを用意する機能があります。
「何を書けばいいかわからない」を防ぐため、以下の3パターンを用意しておくと便利です。

以下の内容をコピーし、リポジトリの .github/ISSUE_TEMPLATE/ フォルダ内に保存するだけで、Issue作成時に選択できるようになります。
また、自動的に適切なラベルが付与される設定も含まれています。

機能開発(Feature)テンプレート

実装する機能のゴールを明確にするためのテンプレートです。
ファイル名: .github/ISSUE_TEMPLATE/feature_request.md

---
name: 機能リクエスト (Feature Request)
about: 新機能の追加や改善を提案します
title: "[Feature] "
labels: ["enhancement"]
assignees: ''
---

## 目的

## 内容

## 完了条件
- [ ]
- [ ] 

バグ報告(Bug)テンプレート

不具合報告に必要な情報を網羅し、手戻りを防ぎます。
ファイル名: .github/ISSUE_TEMPLATE/bug_report.md

---
name: バグ報告 (Bug Report)
about: 不具合を報告し改善を促します
title: "[Bug] "
labels: ["bug"]
assignees: ''
---

## 概要

## 再現手順
1. 
2.
3.

## 期待する挙動

## 実際の挙動

## 環境
- OS:
- Browser: 

調査・質問(Investigation)テンプレート

実装可否の調査や、技術選定など、コードを書く前のタスク用です。
ファイル名: .github/ISSUE_TEMPLATE/investigation.md

---
name: 調査・質問 (Investigation)
about: 実装前の調査や技術的な質問を行います
title: "[Investigate] "
labels: ["investigation"]
assignees: ''
---

## 調査したいこと

## 調査の背景

## ゴール(Output)
- [ ]
- [ ] 

「Epic > Story > Task」でタスク分解する

大きな機能を開発する場合、いきなりコードを書き始めるのではなく、「タスク分解」を行うことが成功の鍵です。
GitHubの Sub-issues(サブイシュー) 機能や Labels(ラベル) を活用し、以下の3階層で整理することをお勧めします。

  1. Epic(エピック): 大きな機能単位
    • ラベル例: Epic
    • 例:「ログイン・認証機能」
  2. Story(ストーリー): ユーザー視点の価値
    • ラベル例: Story
    • 例:「ユーザーはメールアドレスでログインできる」
  3. Task(タスク): 具体的な実装作業(数時間〜1日)
    • ラベル例: Task
    • 例:「□□APIのフィルターを実装」「DBスキーマの変更」「◯◯画面の△△ボタンを実装」

タスク分解のメリット

このように階層化してタスクを分解することには、大きなメリットがあります。

  • 進捗の見える化:
    漠然と「進捗80%」と言うのではなく、「5つのTaskのうち4つ完了した」とTask単位で進捗が見える化されるため、遅延やブロッカーに早期に気付けます
  • 見積もり精度の向上:
    「DB設計」「API実装」のようにTaskレベルまで分解すると、作業時間が具体的にイメージできるため、見積もりの精度が格段に上がります
  • 抜け漏れの防止:
    実装前にタスクを洗い出すことで、「あ、バリデーションのエラー表示忘れてた」といった考慮漏れに事前に気づくことができます

【コツ】Taskは「細かければ細かいほど良い」

Task分解のコツは、「1つのTaskに複数の観点を混ぜない」ことです。

  • ❌ 悪い例:「検索フィルターとソート条件を実装」
    • 1つのタスクの中で「検索フィルター」のタスクと「ソート条件」のタスクが混じってしまい、両方が完了しないとタスクが完了になりません。2つのことを同時に考える必要があり、認知負荷が高まります
  • ⭕ 良い例:「検索フィルター実装」「ソート条件実装」
    • 観点ごとに分けることで、やるべきことが明確になり、達成感も得やすくなります

task-list.png

GitHub Projectsで進捗を「見える化」する

分解したタスクの進捗状況をチームで共有するために、GitHub Projects を使います。
これはホワイトボードに付箋を貼るような「カンバン方式」で管理できる機能です。

プロジェクトボードの作成と活用

  1. リポジトリ上部の「Projects」タブから「New project」を選択し、「Board」テンプレートで作成します
  2. 作成したIssueを追加し、「Todo」「In Progress」「Done」のカラムで管理します

おすすめ機能:担当者ごとのグルーピング

Projectsには強力なグルーピング機能があります。
ビューの設定で「Group by: Assignees」を選択してみてください。

すると、カンバンボードが担当者ごとのスイムレーンに切り替わります。
「Aさんはタスクを抱えすぎているな」「Bさんは手が空いていそうだな」といった負荷状況が一目でわかり、チームの助け合いが加速します。

board.png

【導入効果】
朝会や定例MTGでこのボードを画面共有するだけで、「誰が何に着手しているか」が一目瞭然になります。
「進捗どうですか?」と一人ずつ聞くだけの時間が削減され、困っていることの相談に時間を使えるようになります。

まとめ

今回は、チーム開発の要となるIssue管理とタスク分解について解説しました。

  1. Issue管理: ナレッジを蓄積し、属人化を解消する
  2. テンプレート: 機能・バグ・調査など用途に合わせて項目とラベルを自動定義する
  3. タスク分解: Epic > Story > Taskの階層で整理し、進捗を見える化する
  4. Projects: 担当者ごとの状況を可視化し、チームの連携を強化する

タスクが明確になったら、次はいよいよコードを書いてチームに共有・承認をもらうフェーズです。
次回は、GitHub開発サイクルの花形である 「Pull Request(プルリクエスト)」「コードレビュー」 について解説します。

14
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?