メインコンテンツまでスキップ

第3章:「今必要」を決める技術(スコープの切り方)✂️🗺️

2026/01/11 時点の前提として、学習で使いやすい最新どころは .NET 10(LTS)+ C# 14 あたりが中心だよ〜💡(.NET 10 は 2025/11/11 リリースの LTS、最新パッチ 10.0.1 は 2025/12/9)(Microsoft) さらに Visual Studio 2026 は .NET 10 / C# 14 対応として案内されてるよ🧰✨(Microsoft)


0. この章でできるようになること🎯✨

この章が終わったら、あなたはこうなれる!🥳

  • 要件がドサッと来ても、「今やる範囲(MVP)」を自力で決められる✂️
  • 画面や機能をユースケース単位で切って、小さく完成させられる🏃‍♀️
  • 「今は作らない」をちゃんと宣言できる(未来に押し出せる)🧊
  • **受け入れ条件(Acceptance Criteria)**を短く書ける✅
  • AI(Copilot/Codex)に頼みつつ、盛られない指示ができる🤖🧯

1) まず“スコープ切り”のゴールを決めよう🏁💡

YAGNIのスコープ切りは、**「小さく完成」**がいちばん大事!🎀 完成っていうのは、ざっくり言うと👇

  • ✅ ユーザーの目的が1つ達成できる
  • ✅ 受け入れ条件が満たせる
  • ✅ 使ってフィードバックできる(=次の判断ができる)

ここでありがちな事故😇👇

  • 「一旦“便利機能”も入れちゃお♪」→ 終わらない♾️
  • 「将来の拡張に備えて抽象化しとこ♪」→ 迷子🌀
  • 「いつか必要になりそうだからDB設計もガチで♪」→ 目的消失🫠

今日の合言葉“次の一歩が決まる最小サイズ”にする👣✨


2) MVPの切り方:おすすめは「狭く深く」🍰✨

Narrow and Deep MVP

MVPって「小さく薄く」って勘違いされやすいんだけど、YAGNI的には “狭く深く” が強いよ💪

  • ❌ 小さく薄く:画面だけある、動かない、価値が弱い
  • ✅ 狭く深く:機能は少ないけど、最後まで目的達成できる

たとえば「タスク管理アプリ」なら👇

  • ❌ 10機能を薄く(登録も一覧も中途半端)
  • ✅ 3機能で深く(登録→一覧→完了、がちゃんとできる)

3) 切り方の基本:ユースケース単位で切る🏃‍♀️🧩

DDDを初めて触る人向けに、超ざっくり言うと…💡 ユースケース=ユーザーの目的(やりたいこと) だよ😊

ユースケースで切ると、MVPがめっちゃ作りやすい✨

例:簡易メモアプリ📝

  • ユースケースA:メモを追加する➕
  • ユースケースB:メモ一覧を見る📃
  • ユースケースC:メモを検索する🔎(←これは後回しでもいいかも?)

この章では、ユースケース=スコープの切れ目として扱うよ✂️


4) “今必要?”を決める3つの質問🧠❓❓❓

要件を見たら、1個ずつこれを当ててみてね👇

Q1. ユーザーの目的達成に必須?🎯

  • 「これが無いと目的が達成できない」→ MVP入り
  • 「あったら便利」→ だいたい 後回し⏭️

Q2. 受け入れ条件に書ける?✅

  • 受け入れ条件に落ちない機能は、だいたいフワフワ☁️
  • フワフワなものは、後で揉めやすい😇

Q3. 今これを作る“証拠”ある?🧾

  • 具体例:ユーザーからの要望、現行の痛み、期限、業務上の必須
  • 「いつか必要」だけなら、その“いつか”が来た時に作る🧊✨

5) スコープを切る“道具”3点セット🧰✨(これ超便利!)

(A) スコープ箱(In / Out / Later)📦

Scope Management

紙でもメモでもOK!まずこれを書く✍️

  • In(今回やる):MVPに入れる
  • Out(今回はやらない):やらない宣言
  • Later(次以降の候補):やるかも枠

👉 ポイント:Outを書けたら勝ち🏆(YAGNIが動き出す)


(B) “3画面ルール”📱✨

Three Screen Rule

初心者さんにめっちゃ効くルール!

  • MVPは 3画面以内 に押し込む

    • 例:登録 / 一覧 / 詳細
    • 例:入力 / 確認 / 完了

画面が増えたら、だいたいスコープ増えてる🚨


(C) “NOT-DO リスト”🧊📝

「今回はやらない」を、気持ちよく書くやつ!

例:

  • ❌ アカウント登録・ログイン
  • ❌ お気に入り
  • ❌ 高度な検索
  • ❌ 管理者画面
  • ❌ 通知・メール送信

これを書くと、チームでも自分でもブレにくいよ😊✨


6) 仕様を未来へ押し出す「未実装境界の明示」🧊🚧

「後でやる」を安全にするには、境界を見える化するのがコツ!

よく使う“見える化”の例👀✨

  • 画面に「準備中(Coming Soon)」を出す(今は導線だけ)🚧
  • APIは 501 Not Implemented にする(今は入口だけ)🧱
  • TODO を残すんじゃなく、Issue化してリンクする🔗
  • 仕様書に「Out / Later」を明記して、迷いを消す🧊

👉 YAGNIって「作らない」だけじゃなくて、“作らないことを管理する” なんだよね☺️


7) ミニ演習📝:要件をMVPに削る(3画面以内)📱✂️

お題:学食モバイル注文(キャンパス向け)🍛🥤

要件が来ました!ドーン!📄💥

要件リスト(ぜんぶ欲しいと言われた)

  1. メニューを見る📖
  2. 注文する🛒
  3. 注文履歴を見る🧾
  4. アレルギー情報表示🥜⚠️
  5. クーポン適用🎟️
  6. お気に入り登録⭐
  7. 検索🔎
  8. 決済(クレカ/Pay)💳
  9. 混雑状況表示🧍‍♀️🧍‍♂️
  10. 管理者がメニューを更新🧑‍🍳

Step 1:ユースケースを1つに絞る🎯

まず「このMVPの目的」を1文にするよ✍️

例: **「学生がメニューを見て、注文が完了できる」**🍛✅

これで、入れるべきものが見えやすくなる!


Step 2:3画面に押し込む📱✨

たとえばこう👇

  1. メニュー一覧(商品と価格が見える)📖
  2. カート(個数変更できる)🛒
  3. 注文完了(注文番号が出る)🎉

この時点で、かなりYAGNIできてる✂️✨


Step 3:スコープ箱に入れる📦

In(今回やる)✅

  • メニュー一覧を見る
  • カートに入れる / 個数変更
  • 注文確定(※決済は“後で”でもOKにしやすい)

Out(今回はやらない)❌

  • お気に入り
  • 混雑状況
  • 管理者画面
  • クーポン
  • 検索

Later(次以降の候補)⏭️

  • 注文履歴
  • アレルギー(重要なら In に入れてもOK!)
  • 決済(導入コスト次第)

✅ アレルギーは「価値」や「必須度」が高いことが多いから、今回入れる判断も全然アリだよ🥜⚠️ ただし入れるなら「表示するだけ」にして、入力や管理機能は後回しがYAGNI的に安全☺️


Step 4:受け入れ条件を書く✅(短く!強く!)

ここがこの章のキモ!🔥 例(自然言語でOK)👇

  • ✅ メニュー一覧が表示され、商品名と価格が見える
  • ✅ 商品をカートに追加できる
  • ✅ カートで個数を増減できる
  • ✅ 注文確定を押すと「注文完了」になり、注文番号が表示される

コツ:“できる/できない”が判定できる文章にする😊✅


8) AI活用🤖:盛らせないプロンプト集🧯✨

Copilot / Codex に投げるときは、最初に「制約」を渡すのがコツだよ〜!🎀

(1) MVP削り出し用✂️

以下の要件から「MVP(今必要な範囲)」だけを提案して。
条件:
- 3画面以内
- 拡張性や汎用化は考えない
- “今は作らない”項目もOutとして明示して
- 受け入れ条件(箇条書き)も付けて
要件:
(ここに要件リスト)

(2) 受け入れ条件を強くする✅

次の受け入れ条件を、テスト可能な形に言い換えて。
- あいまいな表現を禁止(例:すぐ、いい感じ)
- 例外ケースは「必要なら」最小限だけ
受け入れ条件:
(ここに箇条書き)

(3) “それ今いる?”レビュー👀🚨

このMVP案に「YAGNI違反(作り込みすぎ)」がないかレビューして。
- 今必要な理由が弱い項目を指摘
- 代替案(後回し方法)も提案
MVP案:
(ここにIn/Out/Later)

9) ちょいDDDishにするなら(初心者向け)🧠🌷

DDDをガチでやる前でも、スコープ切りで効く小ワザがあるよ✨

  • 用語を揃える(ユビキタス言語)

    • 「注文」「カート」「メニュー」…呼び方を統一する📚
  • ユースケース名を動詞で書く

    • 「注文する」「一覧を見る」みたいにする🏃‍♀️
  • データ構造を先に完璧にしない

    • “今”必要な属性だけでOK(後で増やす)🧊

10) 章末チェック✅ミニクイズ(3問)🧠✨

  1. 「検索」って要件が来た。MVPに入れる判断基準は?🔎
  2. “Later”に送るとき、最低限なにを残すと安全?🧊
  3. 受け入れ条件がフワフワなとき、まず何をする?☁️→✅

11) この章の成果物📦(提出物イメージ)

あなたのフォルダにこれがあればOK!🎉

  • MVP_Scope.md

    • In / Out / Later
    • 3画面案
  • AcceptanceCriteria.md

    • MVPの受け入れ条件(5〜10個くらい)✅
  • NotDoList.md(短くてOK)🧊


おつかれさま!🌸 次章につながる一言✨

第3章で「MVPが切れた」ら、次は “小さく作って育てる実装スタイル” に行けるよ〜🧱🌿 「作らない」だけじゃなくて、“後で足せるように小さく作る” ができると最強🥳✨