プログラマーのスケジュール管理に役立つガントチャートとは？

## はじめに
「初めてプロジェクトのマネジメントするけど、何からやれば良い？」
「ルーティーンワークなのに、いつも締切を守れない...」

そんなあなたには**ガントチャート**が役立つかもしれません！

この記事では、プロジェクトのスケジュール管理に役立つガントチャートについて解説していきます。


## 対象者
この記事は下記のような人を対象にしています。

- 駆け出しエンジニア
- プログラミング初学者
- 工程の多い作業を任されたけど、どうやったらいいかわからない人
- ルーティーンワークでいつも納期を越えてしまう人

## 結論
ガントチャートは工程が多いルーティーンワークの管理に最適。
※工程が少ないタスクや、未経験のタスクには不向きなことが多いので要注意。

## ガントチャートとは
ガントチャートとは、縦軸にタスク、横軸に日付などを設定した、プロジェクトの進捗管理表です。
担当者が多く、工程が細かいプロジェクトの管理に利用されます。

下記の画像は私がある会社を退職する際のTODOをガントチャートで管理していた例です。
![ガントチャート.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2157342/425610d1-6ac7-0ef3-a3ed-8a9b0fec9f7e.png)

### ガントチャートのメリット

:::note
- プロジェクト全体の進捗度が見える化できる
- メンバーの現状が見える化できる
:::

ガントチャートのメリットは<font color="Blue">「全体が見えやすくなる」</font>ことにつきます。
参加しているメンバー全員で共有すれば、プロジェクトやメンバーごとのタスクの進捗が見える化できます。

とはいえ、ガントチャートでの管理にも向き不向きがあります。
ガントチャートの管理に向いているプロジェクトは下記の通りです。

:::note
- 工程が多い
- ルーティーンワークが多く、全てのタスクの洗い出しが容易
- クライアントと何度も仕事をしたことがあり、全てのタスクの洗い出しが容易
:::

### ガントチャートのデメリット

:::note alert
- タスクの洗い出しが不完全だと機能しない
- QAや障害の管理が漏れやすい
:::

ガントチャートは元々、工場のライン作業のような、「同じ動作を何度も繰り返す」作業の管理のために作られたフレームワークです。
そのため、仕様変更が多いソフトウェア開発には向かないこともあります。

例えば、初めて触れる言語/フレームワークを使用する場合や、初めての取引先とのプロジェクトでは、<font color="Red">見積もり時に全てのタスクを洗い出すことは不可能</font>でしょう。
結局、お尻の方がふんわりしたなんちゃってガントチャートを作ることになります。

また、QAや障害のように、開発の途中で発生したタスクをガントチャートに反映させるのはかなりの手間です。
大規模部プロジェクトでは「進捗管理のみを専門に行う人員」を雇うこともできますが、なかなかそうはいかないはず。
そういった場合は、カンバン/チケット方式でタスクを片付けていくやり方の方が向いているでしょう。


## ガントチャートの書き方
それでは実際にガントチャートを作成する手順を解説します。

### 1.タスクを洗い出す
まずは、必要な手順(タスク)を箇条書きで書き出します。
書き出す時のコツは下記の通りです。

:::note
タスク洗い出しのコツ
- 思いついた順に書く。順番は後で並べ替えれば良いです。
- 優先度は無視して書き出す。優先度は後でつけましょう。
- たたき台ができたら、経験豊富なメンバー・上司にみてもらう。
- タスクの依存関係を把握する。
- タスクの難易度・必要スキルを把握する。
- どこまでやったら完了か、明確にする。
:::

### 2.タスク担当者を割り当てる
タスクの洗い出しが終わったら、担当者をアサインしてきましょう。
アサイン時のコツは下記の通りです。

:::note
タスクのアサインのコツ
- 同じ人に締切の近いタスクを集中させない。
- タスクの難易度・必要スキルを意識する。
:::


### 3.タスクの開始日・終了日を設定
最後にタスクの開始日・終了日を設定します。
タスクの期日設定のコツは下記の通りです。

:::note
タスク期日設定のコツ
- スケジュールがタイトになりすぎないように余裕を持つ。
- 金曜の夜を〆切にしない。かわいそうです。
- 月曜〆切も避けたい。休日返上しちゃうから。
:::

## ガントチャートが作れるツール
ガントチャートを作れるツールを紹介します。

### エクセル、スプレッドシート
エクセルやスプレッドシートのような表計算ソフトを、方眼紙のように使えばガントチャートは作成できます。
ただし、日付の記入などがかなり面倒なため、おすすめできないです。

### Asana(Instagantt)

https://asana.com

タスク管理ツールAsanaではガントチャートが作れます。
タスクを作成するだけで、プロジェクトのガントチャートが作成できるのでかなりおすすめです。
残念ながら、有料プランのみの機能となります。

別ツールのInstaganttを利用すれば、Asanaで無料でガントチャートを作成できるようになるのでおすすめです！

https://instagantt.com/

### ClickUp

https://clickup.com/

個人的におすすめNo.1は**ClickUp**です！
なんといっても、無料で使える機能が多すぎる、タスク管理ツールの金字塔と言っても過言ではないです。
タスクリストをリストビュー、ガントチャートビュー以外にもさまざまなビューに切り替えできます。
目的に合わせて見た目を変えながら、タスク管理しましょう。

### backLog

https://backlog.com/ja/

「英語のツールは嫌だなぁ...」というあなたにはbacklogがおすすめ。
日本の企業が提供しているツールなので、基本的に日本語だけで利用できます。
残念ながら有料のみの機能ですが、ガントチャートも利用できます。

### REDMINE

https://redmine.jp/

「とにかく無料がいい！」という人にはRedmineがおすすめです。
オープンソフトウェアで、無料で利用できます。
ガントチャートも利用できます。
ただし、プログラマ向けのツールのため、UIはちょっととっつきづらい部分があるかもです...。

### Jira

https://www.atlassian.com/ja/software/jira

「アジャイル開発したいけど、ガントチャートも使いたい！」というチームにはJiraがおすすめ。
カスタマイズ性が高く、同時並行して複数にプロジェクトを進めやすいです。

### Elegantt for Trello

https://chrome.google.com/webstore/detail/elegantt-the-leading-gant/jdongfcbejkjibhkbekkjcckophhjcjj?hl=ja

カンバン形式で有名なTrelloでガントチャートを使用できるようにするchrome拡張機能です。
Trelloを元々使用している人にはおすすめですね。

### notion

https://www.notion.so/ja-jp/product

メモアプリで有名なnotionですが、ガンとチャートビューもサポートされています。
ただし、複数人で使用する場合は有料ですので要注意です。

## おわりに
ガントチャートについてまとめました。
ルーティーンワークが多い×多工程のプロジェクトであれば、ガントチャートで管理してみてはいかがでしょうか？

## 参考記事
[実際の業務で大活躍！フリーで使えるガントチャート10選](https://techacademy.jp/magazine/10802)
[【初心者必見】ガントチャートの作り方・注意点・ツールを詳しく紹介](https://lychee-redmine.jp/blogs/project/tips-ganttchart-wayofmaking/)
[若手SE必見！ガントチャート入門のための5つのポイント](https://www.innopm.com/blog/2017/03/06/108623/)
[【2022年最新】プロジェクト管理ツールおすすめ13選！正しい選び方を解説！](https://tech-stock.com/magazine/project-management-tools/)