EXERCISE 90分

総合演習:1週間のチーム活動シミュレーション

ストーリー

「いよいよ総合演習だね。これまで学んだことを全部使うよ」

「報連相、日報、質問、相談、ミーティング...全部ですか?」

「そう。1週間のチーム活動をシミュレーションしよう。新人エンジニアとして、チームの一員になったつもりでやってみて」


シミュレーション概要

あなたは3ヶ月目の新人エンジニアです。「社内ポータルサイト」プロジェクトに参加しています。

あなたの担当

  • タスク: 「お知らせ機能」のフロントエンド実装
  • 期限: 金曜日の夕方
  • チームメンバー:
    • 佐藤さん(上司・マネージャー)
    • 田中さん(先輩エンジニア・メンター)
    • 山田さん(同期・バックエンドAPI担当)

1週間のスケジュール

曜日予定
月曜プロジェクト開始、自己紹介
火曜実装中に技術的な問題発生
水曜進捗遅れが発生
木曜デイリースタンドアップで発言
金曜週報作成、タスク完了

Day 1(月曜日): 自己紹介と日報

シナリオ

プロジェクトのキックオフミーティングがありました。チームメンバーに自己紹介をする機会があります。その後、初日の日報を書きます。

Mission 1-1: 自己紹介を書く

キックオフミーティングでの自己紹介を書いてください(1〜2分で話せる内容)。

(ここに自己紹介を書く)
<details> <summary>解答例</summary>
「初めまして、山本と申します。今日からこのプロジェクトに
参加させていただきます。

入社3ヶ月目で、これまではフロントエンドの基礎研修を
受けていました。HTML/CSS、JavaScript、Reactの基本は
学んできましたが、実際のプロジェクトは初めてです。

今回は「お知らせ機能」のフロントエンド部分を担当します。
わからないことがたくさんあると思いますので、
ご迷惑をおかけするかもしれませんが、
積極的に質問して、早くチームの力になれるよう頑張ります。

よろしくお願いします」
</details>

Mission 1-2: 初日の日報を書く

Day 1の日報を書いてください。

今日やったこと:

  • キックオフミーティングに参加
  • 開発環境のセットアップ
  • 仕様書を読んで「お知らせ機能」の概要を理解
(ここに日報を書く)
<details> <summary>解答例</summary>
【日報】2026/02/02(月)

■ 本日の作業内容
1. プロジェクトキックオフミーティングに参加(1時間)
   - プロジェクト概要、スケジュール、役割分担を確認
   - チームメンバーと顔合わせ

2. 開発環境のセットアップ(2時間)
   - リポジトリのクローン
   - Node.js、npm パッケージのインストール
   - ローカルでの動作確認 → 正常動作

3. 仕様書の確認(2時間)
   - 「お知らせ機能」の要件定義書を熟読
   - 画面設計書でUIの確認
   - 不明点を3点メモ(明日確認予定)

■ 明日の予定
- 仕様の不明点を田中さんに確認
- お知らせ一覧画面のHTML骨組み作成開始

■ 所感
初日でしたが、チームの皆さんが親切で安心しました。
仕様書を読んでいて、APIのレスポンス形式について
不明点がありますので、明日確認します。

■ 困りごと
特になし
</details>

Day 2(火曜日): 技術的な問題 → 質問文作成

シナリオ

「お知らせ一覧画面」の実装を進めています。お知らせのデータを取得するAPIを呼び出したところ、エラーが発生しました。

状況:

  • GET /api/announcements を呼び出すとエラーが発生
  • エラーメッセージ: TypeError: Cannot read property 'map' of undefined
  • 仕様書ではレスポンスが { data: [...] } の形式だと記載されている
  • 実際のレスポンスを確認すると { announcements: [...] } になっていた
  • 自分で試したこと: コンソールログでレスポンスを確認、仕様書を再確認

Mission 2: 質問文を作成する

先輩の田中さんに質問するためのSlackメッセージを書いてください。

(ここに質問文を書く)
<details> <summary>解答例</summary>
田中さん、お知らせ一覧のAPI連携について質問があります。

■ やりたいこと:
お知らせ一覧画面で、APIからデータを取得して表示したい

■ 現状:
`GET /api/announcements` を呼び出すと、
`TypeError: Cannot read property 'map' of undefined`
というエラーが発生します。

■ 調べたこと:
1. コンソールログでレスポンスを確認したところ、
   実際のレスポンスは `{ announcements: [...] }` でした
2. 仕様書では `{ data: [...] }` と記載されています
3. 私のコードは `response.data.map(...)` としています

■ 考えられる原因:
仕様書とAPIの実装にずれがあるように見えます。

■ 質問:
1. APIの正しいレスポンス形式はどちらでしょうか?
2. 仕様書が古い場合、最新情報はどこで確認できますか?

お手すきのときに教えていただけると助かります。

ポイント:

  • やりたいこと・現状・調べたこと・考え・質問の構成
  • エラーメッセージを具体的に記載
  • 自分の考えを示している
</details>

Day 3(水曜日): 進捗遅れ → 相談文

シナリオ

水曜日の夕方です。「お知らせ機能」の進捗が予定より遅れています。

状況:

  • 期限: 金曜日の夕方
  • 現在の進捗: 全体の40%(予定では60%のはずだった)
  • 遅れの原因:
    • 火曜日のAPI問題の調査に予想外に時間がかかった(半日)
    • 仕様が想定より複雑だった(カテゴリ別フィルタリング機能があった)
  • 残りの作業:
    • お知らせ詳細画面(2時間)
    • カテゴリフィルタリング機能(3時間)
    • テスト(1時間)
    • レビュー対応(1時間)

Mission 3: 相談文を作成する

上司の佐藤さんに進捗遅れを相談するメッセージを書いてください。

(ここに相談文を書く)
<details> <summary>解答例</summary>
佐藤さん、お知らせ機能の進捗について相談させてください。

■ 状況:
金曜日が期限ですが、水曜日時点で進捗が40%です。
当初の予定では60%完了しているはずでした。

■ 遅れの原因:
1. 火曜日にAPIのレスポンス形式が仕様書と異なっており、
   調査と修正に半日かかりました
2. 仕様を詳しく確認したところ、カテゴリ別フィルタリング機能が
   あることがわかり、想定より作業量が増えました

■ 残りの作業と見積もり:
- お知らせ詳細画面: 2時間
- カテゴリフィルタリング: 3時間
- テスト: 1時間
- レビュー対応: 1時間
- 合計: 7時間(木・金で対応可能な時間は約10時間)

■ 自分の考え:
残り時間を考えると、金曜日に間に合わせることは可能ですが、
余裕がありません。以下の2案を考えました。

案1: 金曜日の期限を守る(フィルタリング機能も含む)
     → バッファがないため、リスクあり

案2: フィルタリング機能を次週に延期し、
     基本機能(一覧・詳細)を金曜日に確実に完成させる

■ 相談したいこと:
どちらの案で進めるべきでしょうか?
また、他に対策があれば教えてください。

ポイント:

  • 遅れを早めに報告している
  • 原因を具体的に説明している
  • 代替案を自分で考えて提示している
  • 判断を仰いでいる
</details>

Day 4(木曜日): デイリースタンドアップ発言準備

シナリオ

木曜日の朝のデイリースタンドアップです。佐藤さんとの相談の結果、案2(基本機能を優先)で進めることになりました。

状況:

  • 昨日の進捗: お知らせ詳細画面を完成(進捗60%)
  • 今日の予定: テストとレビュー依頼、余裕があればフィルタリング着手
  • 困りごと: 特になし(方針が決まったため)

Mission 4: デイリースタンドアップの発言を準備する

(ここに発言を書く)
<details> <summary>解答例</summary>
「昨日はお知らせ詳細画面を完成させました。
進捗は60%で、基本機能の実装は完了しています。

今日はテストコードを書いて、夕方までに田中さんに
レビュー依頼する予定です。
余裕があればフィルタリング機能に着手します。

佐藤さんと相談の結果、基本機能を金曜に確実に
完成させる方針になりましたので、予定通り進められそうです。

特に困りごとはありません」

ポイント:

  • 昨日・今日・困りごとの3点を簡潔に
  • 進捗率を数字で示している
  • 方針の共有も含めている
</details>

Day 5(金曜日): 週報作成

シナリオ

金曜日の夕方です。基本機能は無事完成し、レビューも通りました。週報を作成します。

今週の成果:

  • お知らせ一覧画面、詳細画面を実装完了
  • テストコード作成、レビュー対応完了
  • フィルタリング機能は来週に延期

来週の予定:

  • フィルタリング機能の実装
  • 追加テスト

学び:

  • APIの仕様確認の重要性
  • 遅れに気づいたら早めに相談することの大切さ

Mission 5: 週報を作成する

(ここに週報を書く)
<details> <summary>解答例</summary>
【週報】2026/02/02(月)〜 02/06(金)

■ 今週の成果
1. お知らせ機能の基本実装完了
   - お知らせ一覧画面: API連携、ページネーション対応
   - お知らせ詳細画面: 詳細表示、前後の記事リンク
   - テストコード作成・レビュー対応完了

2. 進捗: 基本機能100%、フィルタリング機能は来週に延期
   - 当初予定よりも遅れましたが、佐藤さんと相談の上、
     基本機能を優先する方針で進めました

■ 来週の予定
- フィルタリング機能の実装(月〜火)
- 追加テストと動作確認(水)
- お知らせ機能の完全完了を目指す

■ 今週の学び・気づき
1. APIの仕様は必ず実際のレスポンスで確認する
   - 仕様書と実装にずれがあることがある

2. 遅れに気づいたら早めに相談する
   - 水曜日の時点で佐藤さんに相談したことで、
     優先順位の判断を早期に得られた

3. 見積もりにはバッファを含める
   - 今回の経験を次回の見積もりに活かす

■ 困りごと・相談事項
特になし

■ 来週に向けて
フィルタリング機能は仕様が明確なので、
来週前半に完了させる予定です。

ポイント:

  • 成果を具体的に記載
  • 遅れの理由と対応も報告
  • 学び・気づきを言語化している
  • 来週の見通しを示している
</details>

達成度チェック

DayMission完了
1自己紹介を書いた[ ]
1日報を書いた[ ]
2質問文を作成した[ ]
3相談文を作成した[ ]
4デイリースタンドアップの発言を準備した[ ]
5週報を作成した[ ]

スキルチェックリスト

  • 報連相の使い分けができた
  • 日報・週報を適切に書けた
  • 質問文で3点セット(やりたいこと・現状・試したこと)を使えた
  • 相談文で代替案を提示できた
  • デイリースタンドアップのフォーマットを使えた

まとめ

この演習で実践したこと:

Dayコミュニケーションスキル
Day 1自己紹介・日報報告
Day 2質問文作成質問
Day 3相談文作成相談・エスカレーション
Day 4デイリー発言ミーティング発言
Day 5週報作成報告

次のステップへ

1週間のチーム活動シミュレーション、お疲れさまでした!

次は最後の「卒業クイズ」です。Month 6で学んだすべての内容から出題されます。


推定所要時間: 90分