GitHub の Projects を使っている
僕がアプリを作ったり UI を作ったりエンジニアリングのお手伝いをしているところ*1があり、そこでのタスク管理はすべて対象リポジトリへの issue ベースで行っていたのだが、それを Projects に移したらめちゃくちゃ体験が良かったので今更ながら GitHub Projects が良いという記事を書くことにした。
今北産業むけ
- label つき issue ですべて管理するのは量が多くなると大変
- issue だけでは分かりづらかった進捗が Github Projects だと可視化できて良い
- milestone と併用もいいかも
- Github Actions を発火させてもっと楽にする運用を探してる
普段の運用
提供したアプリや、lit-element で提供している UI package の調子が悪い、機能追加してほしいなど日々いろいろな要望が出てくるがそれ自体は issue で管理している。(lit-element についてはかなりつらいので移行したい)
一緒にやっている相手が長年の友達かつ機械やソフトウェアに強いという背景があったので、問題や要望が上がるたびに issue を label 付きで上げてもらって緊急度が高いものから着手したり、issue ベースで議題に上げたりしている。
ソフトウェアの保守・運用フェーズではこの isssue 運用で特に問題はなかったのだが、大きめの開発に着手したときに進捗が分かりづらかったり僕が技術的に試したいことをタスクボードとして issue 化したときにごちゃごちゃになって何がどうなってるのかわからなくなるという問題が(個人的に)発生していた。
GithubProjects 導入
issue を GithubProjects に import するだけで使えるのでかなり簡単。表示方法も Table, Board, Roadmap の3種類選べるので見せたい UI に合わせて変えることもできる。1枚目が Table で2枚目が Board。Roadmap は使いこなせてない.....
一番良かったことは label で filter して新しい View を作ることができること。僕が技術的に試したいことを別 View だけに表示して分けることで要望と技術調査の項目を分けることができてスッキリ管理できるようになった。
カスタムフィールドを設定することも可能でこれで priority を設定している。
GithubActions と組み合わせる
projects から issue を作ったら対象のリポジトリに issue ができるのだが、issue から projects へ issue が同期されることはないので actions を書く必要があるっぽい
GitHub で issue を作成したら自動で project に追加する方法 - ぺのめも
こういうのと組み合わせたりすると面白そうだなーって思った(custom field の Number か Date を使って PR がマージされる時間をデータとして溜め込んでおく?みたいな Metrics for issues, pull requests, and discussions - The GitHub Blog