コンテンツにスキップ

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に飽きたし、どうせ内部の開発をするのは私だけなので勝手に使うことにする。