開発プロジェクトのWBS・ガントチャート・かんばん作成
概要
- 日程: Day 9 / セッション 3
- 時間: 11:10-12:40(90分)
- 形式: 実習(ハンズオン実習、AIサポートあり)
- ゴール:
- 行動: 自チームの開発について全タスクを洗い出し、WBS・ガントチャート・かんばんを作成できる
- 条件: Day5-8の設計書を入力にして、AIにクリティカルパスをレビューしてもらいながら
- 基準: 90分以内に、(1)WBSが3階層以上で末端30件以上、(2)ガントチャートでDay10-17に収まる、(3)かんばんが役割別に担当者割当済み、(4)Day14中間発表のマイルストーンが置かれている
- 学習形式: AI協働型(ハンズオン実習、グループワーク)
導入(5分)
直前のセッションで身近なテーマでかんばんを作りました。手法そのものは身についたはずです。
ここからは本番。自チームの開発プロジェクトで同じことをやります。違いはひとつ、入力が設計書になるということ。
設計書(画面一覧・機能一覧・テーブル定義書・CRUD図・機能設計書)を見ながら、「この機能を実装するには何時間?」「誰が担当する?」を1つずつ決めていきます。難しそうに聞こえますが、設計が良くできていれば、タスク分解は自然と進みます。
そして守るべき3つの制約があります。
- 期間は Day10-17 の 7日間(実装6日+プロトタイプ1日)
- Day14は中間発表(ここで「動くもの」がないとつらい)
- Day17で実装完了(Day18からは発表準備)
この箱の中に収まる計画を作ります。
本編(10分)
1. 設計書からタスクを導く手順
設計書のどこを見ればタスクが見えるか、対応表で示します。
| 設計書 | 見るべきもの | 導かれるタスク例 |
|---|---|---|
| 画面一覧 | 画面ごとの行 | 「ログイン画面を実装」「予約一覧画面を実装」 |
| 機能一覧 | 機能ごとの行 | 「予約登録機能を実装」「予約キャンセル機能を実装」 |
| テーブル定義書 | テーブルごとの行 | 「会員テーブル作成」「予約テーブル作成」 |
| ER図 | リレーション | 「会員ー予約のJOIN処理を実装」 |
| CRUD図 | C・R・U・Dの組み合わせ | 「予約のCRUD一式を実装」 |
| 機能設計書 | 入力チェック・ボタン動作 | 「予約フォームの入力バリデーションを実装」 |
ここがポイント
設計書1行=タスク1つ以上が原則です。設計書にない機能を勝手に実装してはいけませんし、設計書にある機能を忘れてもいけません。設計書とタスクの一覧を突き合わせて漏れチェックすることが品質を守ります。
2. 役割とタスクを結びつける
Day1で決めた役割をもう一度思い出します。
- PM(プロジェクトマネージャ)
- リーダ
- サブリーダ
- デザイン担当
- 開発担当
各役割が主に担当するタスク種別の例。
| 役割 | 主に担当するタスク |
|---|---|
| PM | スケジュール調整、かんばん運用、中間発表の段取り |
| リーダ | 設計とコードの整合性チェック、難所の実装 |
| サブリーダ | レビュー、CIや環境整備、リーダ不在時のカバー |
| デザイン担当 | UI実装、画面遷移の繋ぎ込み、見た目調整 |
| 開発担当 | 機能実装、テーブル操作、テスト |
ここがポイント
役割は専属担当ではなく主担当です。全員が自分の役割以外のタスクも経験することで、相互補完が効きます(Day1で学んだ「相互学習による個人能力の拡大」)。
3. クリティカルパスとマイルストーン
クリティカルパスは、「これが遅れたら全体が遅れる」一本の経路です。開発プロジェクトでよくあるクリティカルパスは下のようなものです。
この線上のタスクは1日も遅らせられません。逆に、この線から外れたタスク(CSSの細かい調整・エラーメッセージの文言修正など)は遅れても全体に影響しません。
マイルストーンは、節目を明示する印です。本研修では以下を必ず置きます。
コラム
クリティカルパスという考え方は、1950年代にデュポン社のエンジニアたちが化学プラントの建設プロジェクトを効率化するために編み出した手法(CPM: Critical Path Method)が始まりです。当時、何百という工事タスクのどれを優先すべきかが分からず、ある日決定的に重要な「最長経路」だけを最適化すればよいと気づいたのです。70年経った今もソフトウェア開発で使われ続けているのは、「全部頑張る」は不可能で、「肝心なところを外さない」が現実解だからです。
ここがポイント
クリティカルパス上のタスクには**バッファ(予備時間)**を持たせます。本研修では「Day13までに中間発表用の動くもの」を目標にしておくと、Day14に余裕が生まれます。
実習・演習(70分)
課題
自チームの開発プロジェクトについて、以下を作成してください。
1. タスクの洗い出し(20分)
- 設計書(画面一覧・機能一覧・テーブル定義書・CRUD図・機能設計書)を見ながら、必要なタスクをすべて付箋・スプレッドシート・カードに書き出す
- 1人あたり最低10枚以上書く(5人チームなら50枚以上の素材ができる)
- AIに「以下の設計書からタスクを洗い出してください」と渡して、自分たちの洗い出しと突き合わせる
2. WBS作成(20分)
- 洗い出したタスクを階層構造に整理する(3階層以上)
- 例: 「予約システム実装」→「予約機能」→「予約登録・予約変更・予約キャンセル」→末端タスク
- 末端タスクは「半日以内に完了」の粒度
- 30件以上の末端タスクが目安
3. ガントチャート作成(15分)
- WBSの末端タスクをDay10-17の時間軸に配置
- 依存関係(〜が終わらないと〜は始められない)を矢印で示す
- 中間発表(Day14)までに「動くもの1セット」が完成するように配置
- 担当者ごとに行を分けると、並行作業が見える
4. かんばん化(10分)
- 各タスクを「カード」化(前セッションの4要素+担当役割)
- Todo列に、Day11の朝に取りかかる順序で並べる
- 全タスクが「担当者・所要時間・成果物・終了条件・役割」を持つ
5. AIにクリティカルパスをレビュー依頼(5分)
- AIにWBSとガントチャートを見せて以下を聞く
- 「このガントチャートでクリティカルパスはどれですか?」
- 「Day14の中間発表に間に合うリスクはありますか?」
- 「漏れているタスクはありますか?」
成果物
- タスクの洗い出し: 末端タスク30件以上
- WBS: 3階層以上の階層図
- ガントチャート: Day10-17の時間軸、担当者別の行、依存関係、中間発表マイルストーン入り
- かんばん: 全タスクが4要素+役割を持ち、Todo列に並んでいる
ヒント
- 完璧を目指さない。7割で動かして、走りながら更新する前提で作る
- 各タスクに「これが遅れたら誰に影響するか」を一言メモすると、依存関係が見える
- バッファタスク(明示的に「予備時間」と書いたカード)をDay13とDay17に置くと、リカバリが効く
- 「実装」だけでなく「テスト」「ドキュメント更新」「資料準備」も忘れない
- AIに「私たちの開発テーマは〇〇です。WBSが妥当か評価してください」と全体レビューを頼む
AIへの問いかけ例
- 「以下のテーブル定義書から、必要な実装タスクを末端レベルで列挙してください」
- 「私たちの計画では、Day14の中間発表でログイン機能と予約一覧を見せる予定です。Day13までに動かすには、どのタスクを最優先すべきですか?」
- 「メンバーAの担当タスクが10枚、Bが3枚と偏っています。どう調整するのが良いですか?」
- 「『デザイン調整』というタスクは何時間を見積もるのが現実的ですか?理由も教えてください」
チェックリスト(提出前確認)
- 末端タスク30件以上ある
- 全タスクに担当者がいる(「全員」「未定」はない)
- 全タスクに終了条件が「〜が完成している」形式で書かれている
- ガントチャートがDay10-17に収まっている
- Day14の中間発表前に「動くもの1セット」が並んでいる
- Day17で全タスク完了予定
- バッファタスクが最低1件入っている
- AIにレビューしてもらい、指摘されたリスクを文書化した
まとめ(5分)
このセッションでは、自チームの開発プロジェクトについて、WBS・ガントチャート・かんばんを完成させました。
明日からの実装期間(Day11-17)では、このかんばんを毎日朝会と終会で動かします。
- 朝会: 今日やるTodoを宣言、Doingに移す
- 終会: 終わったDoingをDoneに動かす、新しいTodoを並べる
計画は生き物です。やってみて違ったら更新する、想定外が起きたら相談して修正する。この柔軟さと記録の両立が、チーム開発を成功させます。
最後に、完成したかんばんをチームで声に出して読み合わせしてください(話す&行う)。「明日の朝、〇〇さんは△△から始めます」と1人ずつ宣言できれば、計画は身につきます。
🔄 振り返りチェック
以下の問いに答えられるか確認してみましょう。
- 自チームのクリティカルパスはどのタスクの連なりですか?
- Day14の中間発表で「動くもの」として何を見せる予定ですか?
- 計画が遅れ始めたら、最初に何をしますか?
答えに自信がない場合は、該当部分を読み返すか、AIに質問してみてください。
補足資料
- 関連用語: バーンダウンチャート、ベロシティ、スプリントレビュー
- 発展課題: バーンダウンチャート(残タスク数を時間軸でプロット)を毎日更新してみる
- 参考: 実装期間中、毎日の終会でかんばんを更新します。Day14中間発表ではこのかんばんを使って進捗報告します
学習ガイド
想定される質問と回答例
| 質問 | ヒント |
|---|---|
| 設計書の機能が多すぎて7日に収まりません | 機能の優先順位を「中間発表で見せたい核」「あったら良い」「無くても困らない」の3段階に分け、後ろから削る勇気を持つ。MVP(Minimum Viable Product)の発想です |
| 担当者ごとに偏りが出てしまいました | スキル差は仕方ない部分もありますが、「ペア作業」で経験者と未経験者を組ませる手があります。スピードは落ちますが、相互学習が進みます |
| 中間発表(Day14)で何を見せれば良いですか? | 「ペルソナがCJM(To-Be版)の最重要シーンを通れる」状態を最低ラインに。1機能でもいいので「最初から最後まで動く線」を1本通す |
| ガントチャートとかんばん、どちらを毎日見るのですか? | 毎日触るのはかんばん。ガントチャートは週1で「計画との乖離」を確認する位置づけが現実的です |
| バッファタスクは何のために置くのですか? | 想定外(環境構築でハマる・誰かが体調不良・想定より難しかった)を吸収するため。バッファを使い切らなかったら、品質向上に回せます |
つまずきやすいポイント
| つまずきポイント | ヒント |
|---|---|
| タスクが粗すぎて「予約機能実装(3日)」のような塊になる | 「予約登録API実装」「予約一覧画面実装」のように、半日で完了する粒度まで分解する |
| 依存関係を全部の矢印で引いて読めなくなる | 「絶対に前のタスクが終わらないと始められない」関係だけ引く。並行できるものは引かない |
| AIに丸投げして自分たちで考えなくなる | AIは観点を提供する道具。「私たちのテーマ・スキル・残時間で本当に正しいか」は人間が判断する |
| 中間発表(Day14)を意識せず後半に詰め込む | 「Day13までに動くものを1本」をマイルストーンに必ず置く。後半に積むと取り返しがつかない |
| 個人タスクだけ並べてチームの繋ぎ込み作業を忘れる | 「結合作業」「全体動作確認」のタスクを必ず入れる。バラバラに作ったものを繋ぐ時間が一番ハマりやすい |