Day 3 まとめ
概要
- 日程: Day 3 / セッション 11
- 時間: [15:50-16:00]
- 形式: 振り返り
- ゴール: 自チームの開発で採用する「設計アプローチ/アーキテクチャ/永続化/通信/実行方式/開発手法」を意思決定し、それぞれの選定理由を1文で説明できる
- 学習形式: 振り返り対話
導入(2分)
Day 3、お疲れさまでした。今日は「どう作るか」を1日かけて掘り下げました。設計アプローチ、アーキテクチャ、永続化、通信、実行方式、開発手法と、6つの大きな意思決定の軸を学んだはずです。
明日のDay 4では、これらの意思決定を実装に変換します。「意思決定が曖昧」だと、実装中に手戻りが頻発します。最後の10分で、自チームの選択を整理しましょう。
本編(5分)
1. Day 3の意思決定マップ
今日学んだ「どう作るか」の意思決定は、おおむね次の6軸にまとめられます。
flowchart TD
Theme["自チームの開発テーマ"]
Theme --> A["設計アプローチ
DOA/OOAD/ROA等"] Theme --> B["アーキテクチャ
MVC/MVVM/DDD"] Theme --> C["永続化
ファイル/RDB/KVS"] Theme --> D["通信
REST/JSON等"] Theme --> E["実行方式
Web/モバイル/PaaS"] Theme --> F["開発手法
Scrum/XP/Git"] A --> Impl["Day 4 実装"] B --> Impl C --> Impl D --> Impl E --> Impl F --> Impl
DOA/OOAD/ROA等"] Theme --> B["アーキテクチャ
MVC/MVVM/DDD"] Theme --> C["永続化
ファイル/RDB/KVS"] Theme --> D["通信
REST/JSON等"] Theme --> E["実行方式
Web/モバイル/PaaS"] Theme --> F["開発手法
Scrum/XP/Git"] A --> Impl["Day 4 実装"] B --> Impl C --> Impl D --> Impl E --> Impl F --> Impl
2. チェックリスト
以下を埋められれば、Day 4にスムーズに入れます。
| 項目 | 自チームの選択 | 選定理由(1文) |
|---|---|---|
| 設計アプローチ | 例: ROA(REST中心) | URI設計が自然なWeb APIを作るから |
| アーキテクチャ | 例: MVVM | フロントをリアクティブに作るから |
| 永続化 | 例: RDB(SQLite) | 整合性が必要、JOINで集計するから |
| 通信 | 例: REST + JSON | クライアントとサーバを疎結合にするから |
| 実行方式 | 例: Web + PaaS(Vercel) | 配布不要・即更新・無料で動かせるから |
| 開発手法 | 例: 軽量Scrum + GitHub Flow | 4日間で繰り返しデモを出すから |
3. 明日のDay 4で何をするか
flowchart LR
D4S1["イントロ・実装方針"] --> D4S2["apiaryでAPIモック"]
D4S2 --> D4S3["API実装"]
D4S3 --> D4S4["UI実装・結合"]
D4S4 --> D4S5["仕上げ"]
D4S5 --> D4S6["発表資料"]
D4S6 --> D4S7["確認テスト"]
D4S7 --> D4S8["復習"]
D4S8 --> D4S9["成果発表"]
ここまで5セッションがハンズオン実装。後半が確認テストと成果発表です。今日決めた6軸の意思決定が、すべての実装作業の前提になります。
💬 AIに聞いてみよう
- 「自チームの選択(〜〜)でDay 4を進める上で、注意すべき落とし穴を3つ教えて」
- 「明日apiaryを使う前に、私たちが準備しておくべきことは?」
- 「私たちの選択で『これは後から変えにくい』ものはどれ?」
振り返り(3分)
課題
チームで以下を実施してください。
- 上のチェックリスト6項目を埋める
- AIに「この選択は妥当か? 4日間で完成可能か?」を相談
- 「Keep(続ける)/Problem(問題)/Try(試す)」を1つずつ書く
成果物
- 6軸の意思決定が埋まったチェックリスト(Day 4の入場券)
- KPTメモ
🔄 振り返りチェック
- 6軸すべてに「採用するもの」と「理由」が答えられますか?
- 設計アプローチ・アーキテクチャ・開発手法のうち、自分が最も学びになったものを1つ挙げられますか?
- 明日Day 4で最初にやるべきことを言えますか?
Day 3のキーワードまとめ
| カテゴリ | キーワード |
|---|---|
| 設計思想 | UNIX哲学、KISS、DRY、YAGNI |
| 設計アプローチ | POA、DOA、MDA、SOA、ROA、OOAD |
| アーキテクチャ | 3層、MVC、MVVM、DDD、GoFパターン |
| 永続化 | ACID、ファイル/RDB/KVS、ORM、インピーダンスミスマッチ、CAP/BASE |
| 通信 | RPC、SOAP、REST、JSON、XML、HTTPメソッド、ステートレス |
| 実行方式 | ネイティブ/Web/モバイル/ハイブリッド、IaaS/PaaS/SaaS |
| 開発手法 | ウォーターフォール、アジャイル、XP、Scrum、Git-flow、WIP PR |
補足資料
- 参考リンク: 今日の各セッション補足資料を参照
- 発展課題: 自チームの意思決定をAIに「批評」してもらう(弱点・代替案を提示してもらう)
学習ガイド
想定される質問と回答例
| 質問 | ヒント |
|---|---|
| まだ決められない項目がある | 「とりあえずの選択」でOK。Day 4で動かしながら見直せる |
| 複数の選択肢で迷う | チームで多数決ではなく「失敗したとき直しやすいか」で選ぶ |
| この意思決定、本物の現場でもこんなに大量に必要? | はい。ただし熟練者は「定番セット」を持っているので即断する。今日が定番化の第一歩 |
つまずきやすいポイント
| つまずきポイント | ヒント |
|---|---|
| 「正解」を求めすぎる | 設計に正解はない。チームで合意した選択が「自分たちの正解」 |
| 意思決定が抽象的なまま明日に持ち越し | 1文で書けるレベルまで具体化する。「決めた風」はNG |
| 6軸全部完璧にしようとして時間切れ | 設計アプローチ・通信・実行方式の3つだけでも合意できればOK |