プロジェクト管理ツール TIPS
ご無沙汰しております、アシアル笹亀です。
ブログを書くのは、大変久しぶりになります。弊社もフルリモートワークへの切り替えを初めて、2年が経とうとしております。リモートワークが中心になると進捗状況や課題などが把握しにくくなり、プロジェクトの管理や進行の難易度は高くなっている印象をうけております。プロジェクトの進行をスムーズにするにはツールの利用は不可欠です。どのような考えをもとに選定をするのがいいのかをまとめてみました。
プロジェクト管理で利用するツールはなるべく少なく(統一)させたい・・
私もやってしまい、よくやりがちなことなのですが、プロジェクト管理をするにあたってのツール導入は、管理する役割ごとに利用するツールを分けがちです。役割というのは下記のようなものを想定しております。
- プログラム管理
- タスク管理
- 課題管理
- スケジュール管理
- 進捗管理
- 工数管理
なるべくプロジェクト管理するツールは上記の役割を複数こなせるツールを選択し、利用するツールをなるべく少なくするようにしたいです。プロジェクトメンバーやクライアントによって利用するツールが違うなどがなくなり、良いと思います。
プロジェクトで良く利用するツールについて
プロジェクト管理ツールもそうですが、その他にもプロジェクトを円滑に進行・管理をするために必要不可欠となっているツールの利用もあります。カッコ内の役割は独断と偏見とイメージで区分けしており、プラグインを入れたりすればできるというのは覗いておりますので、ご理解・ご了承くださいませ
- GitHub, GitLab(※プログラム管理、タスク管理、課題管理)
- Redmine(タスク管理、※課題管理、スケジュール管理、進捗管理、工数管理)
- Backlog(タスク管理、※課題管理、スケジュール管理、進捗管理、工数管理)
- JIRA(※タスク管理、課題管理)
- GanttPro(タスク管理、※スケジュール管理、進捗管理、工数管理)
- Microsoft Project(タスク管理、※スケジュール管理、工数管理)
- Slack(※チャット)
- Teams(※チャット)
- Googleドライブ(ドキュメント作成、※ドキュメント共有)
- Zoom(※リモート会議)
※:主な利用用途
上記以外にも、弊社のプロジェクトではプロジェクトごとに制約があったりしてツールが利用できない場合もあり、その場合は別のものを代替にして、臨機応変に組み合わせを変えております。サービス間で連携できるものはなるべく連携をしておくのがオススメです。利用するシステムを統一できるので管理はもちろんですが、関連付けができるようになるためです。例えば、課題をRedmineで管理しており、プログラムをGitHubへ管理していた場合にて、RedmineへGitHubをサービス連携しておくと、Redmineで登録した課題と関連したプログラムの修正内容を関連付けできるようになります。開発の工程と課題を結びつけることができるので、プログラム修正でどれが対応したものかを把握できるようになり、プロジェクト管理する側としては便利になります。
良く使う組み合わせのご紹介
制約などが無いプロジェクトの場合でよく利用する組み合わせは、プログラム管理・タスク管理・課題管理でGitHubを選定し、クライアントとのスケジュール管理としてRedmine、Backlog、GanttProを選定することが多いです。
GitHubでタスクと課題管理できる
GitHubはプログラムを管理するツールだけではなく、課題管理やタスク管理も備わった機能を持っております。英語なので少しわかりにくいですが、GitHubもIssuesとProjetctsの機能を利用すれば、課題管理とタスク管理をプログラム管理しているものと関連付けをさせることができます。
上図のように、GitHub Issuesで課題の登録など管理が行なえます。Issueにはタグ付けのようなLabelをつけたり、Milestoneでタスクをグループ化して簡易的な進捗管理もおこなたり、Projectsへの関連付けすることも可能です。Projectsに関連づけすると下図のようにタスク管理としてIssueを1つのカードとしてタスク管理をすることができます。
最近の弊社では、Issuesはエンジニアやマネージャーが課題やタスクを起票するだけではなく、テスターの方がバグを報告する先として利用することもしております。実際にテスターがバグを発見し、エンジニアに報告する際にIssuesを利用して、報告をしてもらいました。
上図のように、エンジニアはどの修正がどのバグに対応したものかの関連付けがされていて把握がしやすくなっているのとマネージャーやテスターの視点で見た際にもGitの修正したcommitなどにも関連したり、Labelなどでfixedなどを付与することで、対応済みかどうかの判断がタイムラインを参照することで行えます。GitHubだけでも、利用を工夫することで複数の役割を担えます。
Projectsを利用する一例としては、スクラム開発でスプリントごとにプロジェクトを区切り、GitHubだけでプログラム管理をしつつ、タスク管理や課題管理をするというのが一例としてあります。
まとめ
プロジェクト管理のツールや利用方法について、ご紹介をさせていただきました。ツールも一つに特化した機能ではなく、複数の機能を持ったより便利になってはいますが、使いや機能の存在を知らないと勿体ないことをしているかもしれません。昨今、プロジェクト管理も工夫や変化が求められるとおもっております。ツールに限った話ではないかもしれませんが、変化を恐れず新しいものの利用も積極的にしないと良し悪しの判断もできず、柔軟性も無くなってしまい、非効率なことをいつまでもやってしまっている、気づいたらそんな状況下になってしまっているかもしれません。