Wrenches and hand tools hanging on a workshop wall

GitHub Projectsで始めるシンプルなタスク管理

タスク管理ツール、何を使っていますか?

私はこれまで、物理ではふせんボード(モニターに貼るやつ)、超整理手帳、薄いメモ帳(abrAsus)、
システムではOmniFocus、Evernote、Asana、Notion・・・と渡り歩いてきた、薄口エンジニアです。

欲しいのは、こういうものです。

  • タスクを思いついたらすぐ放り込める
  • 今やることだけが見える
  • 将来チームが増えてもそのまま使える
  • AIとの連携がしやすい(APIが整っている)
  • とはいえ、あまりあれこれツールを増やしたくない

個人的にはAsanaが好きで、触ってて楽しいしチームでのタスク管理に最適だと思っているのですが、いかんせん高いのに加え5人ずつシートを追加みたいなのがevilで気に入らないのと、凝ったことができすぎて設定を日々いじくり倒してチームメンバーを苦労させてしまった経験があり(反省)、もうちょっとタスク管理特化のシンプルなものがあればと調べていくうちに「GitHub Projects、意外といけるのでは?」と思い実際に導入してみました。

GitHubはエンジニア向けのツールというイメージがあるかもしれませんが、タスク管理として使う分には難しい操作は要りません。この記事では、非エンジニアの方でも導入できるように意識して手順を書いていきます。


GitHub Projectsって何?

GitHubは、もともとソフトウェアの開発管理に使われるサービスですが
「Projects」というタスク管理機能がついています。

ざっくり言うと、無料で使えるカンバンボード + タスク管理ツールです。

Notionのように「何でもできる」タイプではなく、やることの管理に特化しています。

始める前に、4つだけ覚えておく用語

GitHub特有の用語がいくつか出てきますが、この記事で使うのは4つだけです。


Organization(会社やチームの箱)
プロジェクトやメンバーをまとめる単位。最初に作っておくと、後でチームに拡張しやすい

Issue(ふせん1枚)
タスク1件のこと。タイトルとメモを書ける

Repository(引き出し(書類入れ))
Issueを入れておく場所。タスク管理用に1つ作っておく

Project(ホワイトボード)
Issue(タスク)を並べる場所。ボード表示(ふせん風)とテーブル表示(一覧表)を切り替えられます


7ステップで作る、シンプルなタスク管理ボード

ブラウザでGitHubを開きながら、順番に進めてください。
アカウントがない方は、先に github.com で無料アカウントを作成しておいてください。

Step 1:Organizationを作る

何をするか: チーム用の「箱」を作ります。

なぜやるか: 個人アカウント直下にProjectを作ると、将来メンバーを追加したいときに移行が面倒です。
最初からOrganization配下で作っておけば、一人のうちはそのまま使えて、
チームが増えたときもスムーズに共有できます。

手順:

  1. github.com/account/organizations/new にアクセス
  2. Free プランを選択
  3. Organization名を入力(会社名やチーム名など)
  4. メールアドレスは普段使っているものでOK
  5. 「My personal account(個人アカウント)」を所属させて完了

Step 2:タスク管理用のRepositoryを作る

何をするか: タスク(Issue)を入れておく「引き出し」を1つ作ります。

なぜやるか: GitHubのIssueはRepositoryの中に作られます。
Projectは「ホワイトボード」として見える化する場所ですが、ふせん(Issue)自体はRepositoryに所属する仕組みです。また、後のステップで設定する「スマホからIssueを作ったら自動でProjectに追加される」機能にも、Repositoryが必要になります。

手順:

  1. Organizationのページを開く
  2. 上部タブの「Repositories」→ 右上の「New repository」をクリック
  3. Repository nameを入力(例:「tasks」など、シンプルでOK)
  4. Choose visibility Private(非公開)を選択
  5. Add README」にチェックを入れる
  6. Create repository」をクリック

中身はタスク管理のIssueを入れるだけなので、名前も設定もシンプルで大丈夫です。


Step 3:Projectを作る

何をするか: タスクを管理するホワイトボードを作ります。

なぜやるか: ここが日常的にタスクを出し入れする場所になります。

手順:

  1. 作成したOrganizationのページを開く
  2. 上部タブの「Projects」をクリック
  3. New project」をクリック
  4. Board」を選択(後で変更できます)
  5. Project name をつける(例:「◯◯ Tasks」)

作成すると、ふせん風のカンバンボードが表示されます。


Step 4:ステータス(列)を整える

何をするか: タスクボードの列を、使いやすい分類に変えます。

なぜやるか: デフォルトの3列(Todo / In Progress / Done)だと「とりあえず放り込む場所」と「待ち状態」がないので、タスクが滞留しやすくなります。
※ここは私の経験と好みなので、デフォルトの3列のまま運用しても問題はありません。

設定する列:

Inbox:何も考えずに放り込む場所(左端に追加)
Todo:次やると決めたもの
In Progress:今手をつけているもの
Waiting:相手の返事待ち・自分のアクション不要
Done:完了タスク
Someday:いつかやりたいけど今じゃないもの(右端に追加)

ボードビューの列名をクリックすると名前を変更できます。「+」で新しい列を追加してください。


Step 5:カスタムフィールドを3つ作る

何をするか: タスクに「Context(場所)」「Area(分野)」「Start Date(開始日)」の情報を付けられるようにします。

なぜやるか: 「今カフェにいるけど何かできるっけ?」「経理関係のタスクだけ見たい」といった絞り込みができるようになります。
(OmniFocusの機能をパクっインスパイアしています)

手順:

まず、Table View(なければ「+New view」 → Table)でテーブルビューに切り替えます。
列ヘッダー右端の「+」からフィールドを追加します。

私の場合の参考例

① Context(単一選択)──「どこで・どんな状態でやるか」

@Mac:Macbookを開いたとき
@現場:施工先や訪問先で(確認事項、調査事項など)
@TeaBreak:外出先や移動中などちょっとした隙間時間で
@連絡待ち:自分のアクション不要。相手待ち
@電話/対面:誰かと話す必要がある

② Area(単一選択)──「どの分野のタスクか」

dashboard:IoTダッシュボード開発
homepage:会社HP関連
smartlock:スマートロック関連
sales:営業・提案
accounting:経理・会計ソフト
community:地域活動など
infra:サーバ・ネットワーク基盤

③ Start Date(日付)──「いつから着手するか」

目的は「この日まで着手しなくていい」を入れるため。
空欄のものは「今すぐやれる」という意味になります。
来月まで動かないタスク(決算対応など)に日付を入れておくと、
普段のビューに表示されなくなるので集中しやすくなります。


Step 6:ビューを3つ作る

何をするか: 目的別に「見え方」を切り替えられるようにします。

なぜやるか: 1つのビューで全部見ようとすると、情報が多すぎて結局何から手をつけていいかわからなくなります。場面ごとに最適なビューを用意しておくのがコツです。

Project画面上部の「New view」から追加します。
追加後の編集は「⚙View」から

ビュー① 「Now」── 毎日の作業画面

  • レイアウト:Board
  • フィルタ条件:-status:Done,Someday -start-date:>@today
    (意味)
    ステータスが Someday・Done 以外
     かつ
    Start Date が明日以降を除外
    ※直感だとstart-date:<=@todayですが、否定条件にすることでStart Date空欄も含めることができます
  • 使うとき: 毎日開く画面。今やれることだけが並んでいる状態
「Now」ビュー

ビュー② 「By Context」── 場所や状態で絞る画面

  • レイアウト:Board
  • グループ:Context
  • フィルタ条件:status:Todo,"In Progress",Waiting
  • 使うとき: 「移動中に何ができる?」「Macの前で何やる?」と考えるとき
「By Context」ビュー

ビュー③ 「Review」── 週1回の棚卸し画面

  • レイアウト:Table
  • フィルタ条件:なし(全件表示)
  • ソート:Status → Area の順
  • 使うとき: 週末や週明けに、全タスクを見渡して「これまだ要る?」「次のアクションは明確?」と確認するとき
「Review」ビュー

※好みで「By Area(分野)」などのビューを追加するのも良いです。
私はAreaはフィルタ条件としてだけ使用しています。


Step 7:スマホからの投入を自動化する(Workflows設定)

何をするか: リポジトリにIssueが作られたら、自動的にProjectに追加されるようにします。

なぜやるか: GitHub公式モバイルアプリ(iOS / Android)では、Issueの作成はできますが、そのIssueをProjectのボードに追加する操作には対応していません。つまり、アプリでIssueを作っただけではProjectのInboxに表示されないのです。(ブラウザからであれば可)

Workflows設定で「Auto-add to project」ワークフローを設定しておけば、スマホからIssueを作るだけで自動的にProjectに追加されます。あとはPCを開いたときにContextやAreaを設定すればOKです。

手順:

  1. Projectの画面右上の「「Workflows」を選択
  2. Auto-add to project」の横にある編集ボタンをクリック
  3. FiltersでIssueを自動追加したいリポジトリを選択する(Step 2で作った「tasks」など)
  4. フィルタ条件は空のまま(=すべてのIssueを追加)でOK
  5. Save and turn on workflow」をクリック
Workflows設定スクリーンショット

これで、スマホでの運用フローはこうなります。

  1. 外出先で思いついたら → GitHubアプリでtasksレポジトリにIssueを作成
  2. 自動的に → Projectのtodoに自動追加される(Workflows設定の実行)
  3. PCを開いたときに → ContextやAreaを設定して、Inboxからtodoに振り分ける

「とにかくまず放り込む」がスマホの役割、「整理する」はPCで、という分担です。


試しに使ってみる

設定が終わったら、Inboxに3〜5個タスクを放り込んでみてください。「+」ボタンでタイトルだけ入れればOKです。

追加したら、1つずつContextとAreaを設定して、TodoやIn Progressに移動してみてください。操作感がつかめるはずです。

試しに作成してみた完成形スクリーンショット


この仕組み、実はGTDの考え方でできている

ここまでの設定は、タスク管理の定番メソッド「GTD(Getting Things Done)」の考え方をベースにしています。

GTDを一言でまとめると、こうです。

頭の中のタスクを全部外に出す → 分類する → 定期的に見直す

この記事で作った仕組みに当てはめると:

GTDの考え方 と 対応
頭の中のタスクを全部外に出す → Inboxに放り込む
「次にやること」を明確にする → Issueのタイトルを具体的なアクションにする
場所や状況で整理する → 「By Context」ビュー
「今じゃないもの」を分ける → Someday列 / Start Date
定期的に見直す → 「Review」ビューで週次レビュー


特に大事なのはIssueのタイトルの付け方です。
「スマートロックを検討する」ではなく、「SESAME APIのドキュメントを読んで認証方式を決める」のように、次やることがわかる粒度で書くと、タスクへの着手率が大きく変わります。

※GTDについて詳しく知りたい方は、デビッド・アレン著『はじめてのGTD ストレスフリーの整理術』がおすすめです。


実際に使ってみた所感

1週間ほど運用してみての感想です。

良かった点:

  • Inboxの安心感が大きい。 思いついたら分類せずに放り込めるので、「どこに書こう」で手が止まらない
  • スマホからの「とりあえずメモ」が回る。 GitHubの公式アプリ(iOS)でIssueをタイトルだけ入れて作成すれば、Auto-addワークフローで自動的にProjectに入る。ContextやAreaの設定はPCに任せる割り切りで、モバイルでの操作は数タップで済む
  • 週次レビューのReviewビュー(テーブル表示)が良い。 全タスクを一覧で眺められるので、抜け漏れや「もう要らないもの」に気づきやすい

微妙な点:

  • カレンダーとの連携は別管理が必要。 「今日の予定とタスクを重ねて見る」機能はGitHub Projectsにはないので、カレンダー側で時間ブロッキング(この時間にこのタスクをやる、とカレンダーに入れること)する方が現実的
  • ボードビューはスマホだとやや窮屈。 モバイルではIssue単位で操作する方がストレスが少ない
  • モバイルアプリではProjectの操作が限定的。 Issueの作成・閲覧はできるが、Projectのカスタムフィールド(ContextやAreaなど)の設定やボード上でのカード移動はアプリ単体ではできない。振り分け作業はPCか、モバイルブラウザでgithub.comを開いて行う必要があります。

まとめ:シンプルに始めて、必要な分だけ足す

タスク管理ツールは、高機能なものを完璧に使いこなすより、シンプルな仕組みを毎日続けることの方がずっと大事です。

GitHub Projectsは最小限の設定で始められて、必要に応じてフィールドやビューを足していけます。一人で使い始めて、チームが増えたらそのまま共有できる拡張性もあります。

迷ったら、まず頭に浮かんだタスクをInboxに放り込む。そこからはじめましょう!


おまけコーナー

ここまで書いておいて最後にちゃぶ台返しです。

抱えている全タスクは実際このようにシステマチックに管理していますが、昭和生まれの私は、今日やる分のタスクに関しては適当なA4用紙の裏紙を3回折って8分割にして「Abrasusの薄いメモ帳」に入れて手書きで転記して持ち歩いています。電話や対面で頼まれごとを追記するのに紙のほうが都合が良いのと、✗印をつけてタスクを完了させることで一日の終りに達成感を感じるからです😁

↓わたしはこのシート自体は使っていませんが、参考記事です

ライフハックテンプレート #002 バブルマップ型ToDo管理シート
https://www.itmedia.co.jp/bizid/articles/0709/05/news002.html

参考記事のようにタスクは箇条書きにするのでは無く、見込み時間や心理的負荷によって大きさを変えた◯で囲って管理しています。突発的な依頼や、思いついて当日行ったタスク(スタッドレスタイヤ交換の予約電話をする、など)も追記してゆき、一日の終りに✗をつけた上でタスク管理システムに戻します。

以前は紙スキャンしてストックしていたのですが、あとから読み返したくなった場面が無いのと、読み返しても仕事を思い出してオェッてなるだけなので最近は終わったらゴミ箱に直行させています💦

1 Comment

  1. a
    テストコメントです