MVP CRITERIA

MVPの線引き
どこまで作れば「動いた」と言えるか

2日目の要件定義で、何を残し、何を捨てるかを自分で判断するための基準です。

主催:一般社団法人デジタル経営革新協会

合宿の配布資料

2026年7月に開催した「AIサービス開発合宿」の2日目、要件定義の時間に配布した資料です。その場で参加者に配ったものを、そのまま公開しています。

3日間という締切と、講師が同席していることを前提に書かれています。研修の実際をご覧いただくための公開です。

THE CRITERION

判断軸を「機能の数」に置かない

必要な機能を数え上げようとすると、要件は必ず膨らみます。「これも要る、あれも要る」は止まりません。だから判断の軸は、機能のリストではなく 一本の線が最初から最後まで通るか に置いてください。

  1. 実在するユーザーが架空のペルソナではなく、名前の言える誰か
  2. 実在する自分のドメインに来て仮のURLではなく、2日目に取得した独自ドメイン
  3. 実際にデータを登録し画面に出るだけでなく、データベースに残る
  4. 実際に届くメールを受け取り送信成功のログではなく、受信トレイに届く
  5. 実際に決済が通りテストモードではなく、本物のカードで
  6. その痕跡が残っている誰が・何を・いくら払ったかを、あとから自分で確認できる

合否はこの一本だけで判断します。この線が通っていれば、機能が1つしかなくてもシステムです。通っていなければ、画面が20枚あってもシステムではありません。

目指す状態は 「基盤は本物、中身は仮」。ビジネスモデル固有の作り込みは持ち帰りで構いません。持ち帰りの開発が乗る土台が本物であること、それがこの合宿の成果です。

FOR YOUR CLAUDE CODE

この基準を、あなたのClaude Codeにも渡す

あなたが基準を持っていても、実装しているのはClaude Codeです。同じ基準をClaude Code側にも持たせてください。そうすると、あなたが「あれも作って」と言ったときに、Claude Codeのほうから「それは合宿後に回しましょう」と止めてくれるようになります。

配布ファイル:camp-mvp.md

  1. ダウンロードしたファイルを、自分のプロジェクトのいちばん上の階層に CLAUDE.md という名前で置く
  2. すでに CLAUDE.md がある場合は、上書きせずに末尾へ追記する(「コピー」ボタンの内容を貼り付ければOK)
  3. Claude Code を再起動する(起動時に自動で読み込まれます)
  4. 読めているか確かめる ── 「MVP判断ルールを読んだ? 今日作らないものを3つ挙げて」と聞いて、管理画面・権限管理などが返ってくれば成功

中身は、このページと同じ判断基準に加えて、Claude Code向けの指示が書いてあります ── 依頼をそのまま実装せずに一度立ち止まること、残り時間を正直に見積もって伝えること、10分詰まったら講師を呼ぶよう促すこと、そして非エンジニアに専門用語をそのまま使わないこと。

FIVE QUESTIONS

迷ったときの判断根拠作らない理由を持つ

要件定義で本当に難しいのは「何を作るか」ではなく「何を作らないでいいか」です。捨てる判断には根拠が要ります。以下の5つは、その根拠です。

1. ユーザーと認証

判断根拠 ── 「2回目に来たとき、前回の続きが必要か」

必要ないなら、ログイン機能は作らないでください。1回きりで完結するなら、フォームとメールだけで足ります。会員登録・パスワード再設定・マイページを最初に作り始めると、それだけで合宿が終わります。

まず自分に問うてください ── 私のユーザーは、2回来ますか?

2. データ

判断根拠 ── 「消えたら困るか」

困るのは、次の3種類だけです。

  • お金の証跡(誰が・何を・いくら払ったか)
  • ユーザーが再訪したときに見たいもの
  • 自分が運用のために見たいもの

この3つに当てはまらない項目は、全部落として構いません。逆に、決済を組み込んでいるのに1つ目が抜けている設計は、その時点で破綻しています。

3. メール

判断根拠 ── 「メールはシステムが動いた証拠」

最小構成は2通です。本人宛の受付/完了通知と、運営(自分)宛の着信通知。リマインド・ステップメール・フォローアップは合宿では作りません。

先に知っておいてください。独自ドメインの差出人でPHPの標準関数などから送ると、DNSの認証設定次第で相手に届きません。「送信は成功しているのに届かない」は原因究明に半日かかります。最初から Resend の API 経由で送る前提で設計してください。設定手順は Resend チェックリスト にあります。

4. ホームページ(LP)

判断根拠 ── 「AB3CのC→B→Aが1画面から読み取れるか」

デザインの良し悪しの話ではありません。誰のためのもので(C)、何が得られて(B)、なぜあなたから受けるのか(A)。これが読み取れないLPは、ビジネスモデルがまだ固まっていない証拠です。つまりLPは、要件定義が終わっているかどうかの検査装置でもあります。1ページで十分です。

5. ドメインと決済

判断根拠 ── ここだけは妥協しない

自分のドメインを打ったら自分のシステムに着くこと。そして、テストモードではなく 実際に100円でも通してみること(確認後に返金すれば構いません)。この2つは「動いている感」の質が段違いで、何より自分自身の手応えが変わります。

DEMO SCRIPT

3日目に見せる操作を、いま1本書く

「要件を発表する」だと抽象論になります。そうではなく、3日目に人前で実際に操作する手順を、いまこの場で1本書いてください。空欄が埋まらないところが、決まっていないところです。

  1. 私が 〔誰〕 の立場で、〔URL〕 を開く
  2. そこには 〔何が得られるか〕 と書いてある
  3. 〔入力する情報〕 を入力して送信する
  4. 〔宛先〕〔件名〕 のメールが届く
  5. 〔金額〕 を決済する
  6. 最後に 〔ユーザーが受け取るもの〕 が表示される
  7. 裏側では 〔残るデータ〕 が記録されている

この台本が書けない場合、詰まっているのは要件定義ではありません。ビジネスモデルの C(誰が)と B(何を得るか)です。技術の相談ではなく、そちらを先に相談してください。

KEEP & CUT

切っていいもの/切ってはいけないもの

切ってはいけない(=合宿の成果)

  • 独自ドメインで開ける
  • SSL(https)が有効
  • メールが実際に受信トレイに届く
  • 決済が実際に通る
  • データが実際にDBに残る

作らなくていい(=持ち帰り以降)

  • 管理画面
  • 権限管理・複数ロール
  • パスワード再設定
  • メール文面の作り込み
  • ロゴ・レスポンシブの細部
  • エラー処理の網羅
  • ビジネスモデル固有の作り込み

TIME

要件は「残り時間の6割」で切る

3日目は13:00解散(残れる方は夕方まで)。ここから使える実働時間は、およそ1日半です。

要件として引き受ける量 ── 6割
デプロイ・不具合対応 ── 4割

残りの4割は、公開の詰まりと不具合対応で必ず消えます。これは見積もりが甘いという話ではなく、開発とはそういうものだという話です。「1日半で終わる量」ではなく「1日弱で終わる量」に切ってください。

運用ルールは2日目と同じです ── 10分詰まったら申告。一人で抱えた30分が、この合宿では一番高くつきます。

← 資料の一覧Claude Codeでウェブサイトを作る3日間プログラム