コンテンツにスキップ

GitHub Projectsについて

GitHub Projectsとは

GitHub Projectsは、GitHub上でタスクや進捗を管理するための機能である。

簡単に言うと

GitHub内蔵のプロジェクト管理ツール

である。


なぜ必要なのか

開発を進めていると

  • やること

  • 作業中の内容

  • 完了した内容

を管理したくなる。


例えばAsterでは

・STM32基板設計
・CAN通信実装
・MkDocs作成
・Node.js開発

など複数の作業が同時進行する。


これらを管理するためにGitHub Projectsを利用する。


GitHub Projectsの特徴

  • GitHub標準機能

  • Issueと連携可能

  • Pull Requestと連携可能

  • 無料で利用可能

  • Webブラウザから管理可能


基本構成

Projectは

Project
 ├─ Item
 ├─ Status
 ├─ View
 └─ Automation

で構成される。


Itemとは

管理対象のタスク。


例

STM32のピン配置決定
CAN通信実装
MkDocs構築

Kanban方式

最もよく使われる表示方法。


例

Todo
 ↓
In Progress
 ↓
Done

イメージ

┌──────┬───────────┬──────┐
│ Todo │ Doing     │ Done │
├──────┼───────────┼──────┤
│ PWM  │ CAN       │ Git  │
│ ADC  │ STM32     │ I2C  │
└──────┴───────────┴──────┘

進捗が非常に分かりやすい。


Table表示

Excelのような表示もできる。


例

タスク 状態 担当
CAN実装 作業中 自分
PID実装 未着手 自分

Roadmap表示

時系列で管理できる。


例

6月
 ↓
回路設計

7月
 ↓
基板発注

8月
 ↓
ファームウェア開発

Issueとの連携

GitHub Projects最大の強み。


Issue作成

PWM制御実装

Project追加

Todo

作業開始

In Progress

完了

Done

自動で管理できる。


Pull Requestとの連携

PRも管理できる。


例

CAN通信追加
 ↓
Pull Request
 ↓
Review
 ↓
Merge

進捗が一目で分かる。


カスタムフィールド

独自項目を追加できる。


例

優先度

High
Medium
Low

担当者

mikannohako

分類

Hardware
Software
Document

自動化

GitHub Projectsは自動化機能を持つ。


例

Issue作成

Todoへ追加

Issue完了

Doneへ移動

手動操作を減らせる。


Asterでの活用例

おすすめ構成


Hardware

ALEO回路設計
AB回路設計
部品選定

Software

PWM実装
CAN実装
PID実装

Documentation

MkDocs
Knowledge作成

Server

Node.js
WebSocket
REST API

Aster向けおすすめステータス

Idea
 ↓
Todo
 ↓
Doing
 ↓
Review
 ↓
Done

Idea

思いついた段階


Todo

やる予定


Doing

作業中


Review

確認待ち


Done

完了


Aster向けおすすめラベル

Hardware

hardware

Software

software

Documentation

docs

Bug

bug

Enhancement

enhancement

GitHub Projectsのメリット

  • タスク管理が簡単

  • GitHubと完全統合

  • Issueと連携可能

  • 無料

  • 小規模開発でも使いやすい


GitHub Projectsのデメリット

  • 高機能すぎる場合がある

  • Notionほど自由度は高くない

  • 慣れるまで少し時間がかかる


Asterでの運用例

個人開発なら

Idea
Todo
Doing
Done

の4列だけで十分。


例

Todo
 ├ STM32起動確認
 ├ PWM実装
 └ MkDocs整備

Doing
 └ CAN通信

Done
 ├ GitHub Pages
 ├ I2C設計
 └ PID資料作成

これだけでも開発状況がかなり見やすくなる。


まとめ

GitHub ProjectsはGitHub標準のプロジェクト管理機能である。

  • タスク管理

  • Issue管理

  • Pull Request管理

  • 進捗可視化

を一元管理できる。

Asterのようなハードウェア・ソフトウェア・ドキュメントが混在するプロジェクトでは、開発状況を整理するための中核ツールとして活用できる。

Notionに飽きたし、どうせ内部の開発をするのは私だけなので勝手に使うことにする。