システム開発でガントが使われる理由
開発案件では、複数人が異なる工程を進め、レビュー待ちや仕様変更によって予定も変わります。タスクリストだけでは、各作業がどの期間に行われるか、どこで作業が重なるかを把握しにくいことがあります。
基本の工程例
| 工程 | タスク例 | 確認したいこと |
|---|---|---|
| 要件定義 | 要求整理、対象範囲、完了条件 | 何を作るかが曖昧でないか |
| 設計 | 画面、データ、API、権限等の設計 | 実装に必要な前提が揃っているか |
| 実装 | 機能・画面・API単位の開発 | 担当と完了条件が明確か |
| テスト | 単体、結合、受入確認 | 修正期間も含めているか |
| リリース | 移行、公開、本番確認 | 公開準備を1タスクで潰していないか |
実際の工程名は開発手法・規模・契約形態で異なります。上表を標準工程として固定するのではなく、自分のプロジェクトに合わせて増減します。
「設計」「実装」だけでは粗すぎる
大項目だけをガントに置くと、「実装70%」の中で何が終わり、何が残っているか分かりません。機能、画面、API、バッチ、レビューなど、担当と完了条件を置ける単位まで分けます。
一方、コードの細かな変更1件ずつまでガントに入れると更新量が増えます。日々の開発タスクはカンバン、フェーズや期間管理はガントと分ける方法もあります。比較はカンバンとガントチャートの違いで整理しています。
実装とテストは重なりを前提に考える
全機能の実装が終わってから一括でテストする案件だけではありません。機能単位でレビュー・確認を進めるなら、実装とテストが一部重なることがあります。ガントではこの重なりを同じ時間軸で確認できます。
レビュー・修正も予定へ入れる
「実装5日」の中にレビューと修正を暗黙に含めると、進捗判断が難しくなります。重要なレビューや受入確認は独立タスクとして置き、修正のための時間も現実的に見積もります。
仕様変更が起きたら古い予定を放置しない
システム開発では変更が発生します。予定との差を隠すより、現在の見通しへ更新し、影響するタスク・担当・リリース日を見直します。更新方法はガントチャートで進捗管理する方法で詳しく扱っています。
依存関係・クリティカルパスをどう考える?
一般的なプロジェクト管理では、前の作業が終わらないと始められない依存関係やクリティカルパスを扱うことがあります。ただし、すべてのガントツールが同じ機能を持つわけではありません。
開発ガントの例
| タスク | 担当 | 期間の考え方 |
|---|---|---|
| 認証要件整理 | PM/設計 | 仕様合意まで |
| ログイン画面実装 | フロントエンド | 実装+レビューを分けてもよい |
| 認証API実装 | バックエンド | 画面と一部並行可能 |
| 結合確認 | 開発/QA | 両実装後の確認期間 |
| 修正 | 担当者 | 確認結果を反映する期間 |
| リリース | PM/開発 | 本番反映・初期確認 |
複数案件を同時に持つ場合
個別開発ガントだけでなく、複数プロジェクトの期限・担当・進捗を一覧で見る必要が出ます。横断管理は複数プロジェクトの進捗を管理する方法で整理しています。