プロジェクト管理視点から見るGitHubのススメ

本投稿は TECOTEC Advent Calendar 2024 の5日目の記事です。

こんにちは。次世代デジタル基盤開発事業部の樋口です。普段はWeb開発案件業務に従事しています。

みなさんは好みのプロジェクト管理ツールはありますか?

BacklogJira などさまざまありますが、私は GitHub に統合されている GitHub Projects が自分の開発経験の中で一番プロジェクト管理しやすく、開発効率が良かったと感じています。

今回は GitHub Projects を利用するメリットと課題をプロジェクト管理視点で記載しようと思います。

docs.github.com

要件と開発が一元管理できる

プロジェクト管理とソースコード管理とを同一のプラットフォームで行えるため、開発プロセス全体がシームレスになります。

例えばスクラム開発の場合、プロダクトへの要件をまとめたリストをプロダクトバックログとして用意しますが、これをGitHub 上の Issue として作成し、そこから派生するスプリントバックログや実装タスクへ関連付ける形で作成することで、そのプロダクトが現在どのような実装状況にあるのか把握しやすくなります。

また、開発者視点では自身の担当しているチケットの元となる要件まで遡ることができる、実装意図や要件の背景を把握しやすくなります。

これらのチケットの紐づけは、別のプロジェクト管理ツールで運用する場合も実現は可能ですが、GitHub に統一することで自動参照リンクの恩恵を受けることができます。

例えば以下のように紐づけるルールで運用したとします。

  • プロダクトバックログ用 Issue
  • 開発用 Issue
    • 対応したプルリクエストへ関連付ける
    • description や コメント内で関連する Issue やソースコードに関連付ける
  • プルリクエスト
    • 関連する Issue へ関連付ける
  • Gitコミットコメント
    • 関連する Issueへ関連付ける

上記のような運用を心がけると、プロダクトバックログから実装まで追跡することができるため、開発者はタスクの背景情報を即座に確認でき、PMはコードの変更状況を把握しやすくなります。 また、ソースコードやコミットコメントから Issue やプルリクエストを辿ることができるため、第三者や新規メンバーが参入した際に発生するプロジェクトのキャッチアップにかかるコストが軽減されます。

このように要件チケットとソースコードまでの変更を直接関連付けることで、トレーサビリティが向上し、PM含めたチームメンバー間のプロジェクトに対する相互理解が促進され、プロジェクトの透明性が向上するメリットが有ります。

プロジェクト管理と実装進捗のズレを防げる

プロジェクト管理ツールとソースコード管理ツールが異なる場合、多く発生するのが、管理チケットと実装状態とのズレです。

例えば、実装が完了したのにチケットの状態が「対応中」のままだったり、プロジェクト管理上のステータスと実装ステータスがズレる場合が多々あります。

これに対して GitHub Projects 上では、Issue やプルリクエストを ビュー 上に直接リンクし可視化できるため、実装の進捗状況をリアルタイムに反映できます。また、ワークフローを設定することで、Issue やプルリクエストの状態に応じて自動的に Issue のステータスをビュー上で反映することができ、進捗状態を正しく把握することができます。

進捗状態が正しく把握できる環境下では、リアルタイムの進捗把握や効率的なリソースの分配、リスクの早期発見などメリットが有ります。

プロジェクトの状況把握、分析が容易になる

プロジェクトを運営するうえで、プロジェクトの実績を踏まえた振り返りは、プロジェクトの成功と、継続的な改善に必要不可欠です。

私が利用する大きな理由は、GitHub リポジトリとシームレスに連携できる点も大きいですが、GitHub Projects の Insights という機能を使って分析情報を可視化できる点にあります。

GitHub Projects は用途に合わせてカスタムフィールドを追加することができ、管理や開発プロセスに合わせてチケットの情報をカスタマイズすることができます。

Insights は GitHub Projects に紐づいている Issue の情報を用いて進捗の時系列表示や、チケットの情報を使ったグラフの作成が可能です。イテレーション毎のベロシティや、プロジェクト全体のチケット消化状態、評価期間中の不具合の検出率など、実態に即した状況分析や振り返りを実施したい場合に利用できます。

機能としては非常にシンプルですが、カスタムフィールドをプロジェクトの特性に合わせて設定できるため汎用性が高く、GitHub と統合されているメリットとも合わさり、実装状況に合わせてプロジェクト状況が可視化されるため、PM視点では状況把握やデータに基づいた意思決定の材料になり、プロジェクト管理の効率化につながります。

docs.github.com

課題に思うところ

GitHub Projects で課題に思うところは、Issueの親子関係がタスクリストでしか表現が出来ないところです…と執筆時点で思っていましたが、 sub-issues がPublic Previewで公開されていました。

この Issue の親子関係が改善されれば、より柔軟な管理ができる可能性があるため、今後を期待したいと思います。

docs.github.com

まとめ

GitHub Projects でプロジェクト管理をする場合の私の思う利点と意見を書かせてもらいました。

プロジェクト管理方法は、案件毎の背景や状況、特殊な事情によってなかなか自分なりのベストを尽くしたプロジェクト管理の方法が実現できない場合が有ります。そんな状況下でも自分なりのベストプラクティスを模索しながら日々改善できればと思います。

この記事が少しでも参考になる方がいれば幸いです。

テコテックの採用活動について

テコテックでは新卒採用、中途採用共に積極的に募集をしています。
採用サイトにて会社の雰囲気や福利厚生、募集内容をご確認いただけます。
ご興味を持っていただけましたら是非ご覧ください。 tecotec.co.jp