
PMF 前に技術負債をどこまで許容するべきか
捨ててもよい負債と、初期から残してはいけない負債を分ける。
この記事の結論
- PMF 前は すべてを綺麗に作る必要はありません。むしろ全部を最初から整えると、検証速度が落ちます。
- 一方で、データモデル・認証・権限・セキュリティ・課金まわりの負債は致命的 です。後から直すコストが大きく、事業の継続性を脅かします。
- 許容できる負債は、UI の粗さ、一部の手運用、分析の簡易化、テストカバレッジの低さなど、「事業が成立しなければ作り直せる範囲」 です。
- AI 生成コードが増えるほど、負債を意図的に管理する仕組み (ADR、CLAUDE.md / AGENTS.md、定期レビュー) が重要になります。
- 「壊れてはいけない部分だけ守る」という実践論で進めるのが現実的です。
「PMF 前なので、コードは雑でいいですよね」
スタートアップ CTO や創業者からよく聞く言葉です。半分は正しいです。事業仮説が外れれば、コードは捨てる前提 なので、綺麗に作るより、速く検証するほうが価値があります。
ただし、すべてを雑にすると、PMF が見えてきたタイミングで詰みます。データが壊れている、認証が抜けている、課金で事故が起きる。これらは「PMF 後に直せばいい」では済まない領域です。
この記事では、PMF 前のスタートアップで、許容できる技術負債 と 許容してはいけない負債 を分けて整理します。
PMF 前の開発で大事なこと
PMF (Product-Market Fit) 前の開発で最も大事なのは、事業仮説の検証速度 です。コードの綺麗さや、テストカバレッジ、ドキュメントの量よりも、
- 仮説を 1 つ確かめる時間
- ユーザーから出た要望を反映する速度
- 失敗とわかったら捨てる柔軟性
が優先されます。
Anthropic の創業者向けプレイブックでも、AI ネイティブ・スタートアップの MVP 段階では、アーキテクチャとセキュリティの実装に集中して技術負債を抑える べきだが、それ以外は速度優先、という方向性が示されています (The founder's playbook / Anthropic)。
「全部を綺麗に作る」のは、PMF 後のリソースがある段階の話。PMF 前は 「壊れてはいけない部分だけ守る」 が現実解です。
許容できる負債
PMF 前で許容できる負債を整理します。
UI の粗さ
- デザインシステムは未整備で OK (Tailwind の素の状態でよい)
- レスポンシブが完璧でなくてもいい (PC でだけ動けば、初期顧客には十分な場合あり)
- アニメーションや細部の作り込みは不要
手運用
- 管理画面なし、Excel + Notion で代替
- 通知は手動メール
- 月次レポートは手集計
- 一部の機能は「依頼すれば対応」運用
分析の簡易化
- A/B テストなし
- ダッシュボードは Mixpanel / PostHog 任せ
- カスタム分析は SQL を直接叩く
テストカバレッジの低さ
- E2E テストはなし (主要フローを手動で確認)
- 単体テストはドメインの中心だけ
- カバレッジ指標は気にしない
ドキュメントの少なさ
- README だけで十分
- ADR は重要判断だけ書く
- API ドキュメントは省略可
これらは 「事業が伸びたら直す」「事業が止まったら捨てる」 で問題ない領域です。
許容してはいけない負債
逆に、PMF 前でも絶対に手を抜いてはいけない領域があります。
データモデル
- 状態遷移と履歴
- 整合性 (注文と入金、予約と取消)
- マルチテナント設計
- データの単一の真実
理由: 後から直すと、過去のデータが復元できない。事業が伸びるほど、データモデルの作り直しコストが指数的に増えます。
認証
- ライブラリは Clerk / Firebase Auth / Auth0 / Supabase Auth など標準を使う
- セッション管理、トークン取扱いは安全に
- 多要素認証の選択肢を残す
理由: 認証の不備は、情報漏えいに直結。事故が 1 件起きると、それまでの売上が消えるレベルのインパクトがあります。
権限
- データアクセス層で強制
- 画面の if 文だけで判定しない
- API レベルで毎回チェック
理由: 「他社のデータが見える」という事故は、SLA 違反、損害賠償、契約解除につながります。
セキュリティ
- SQL インジェクション、XSS、CSRF の防御
- 秘密情報のリポジトリへの混入防止
- 依存ライブラリの既知脆弱性チェック
理由: 一度漏えいすると、データを取り戻せません。
課金
- Stripe Webhook の冪等性
- 解約・返金フロー
- 二重課金防止
理由: 「課金で事故った」という事故は、信頼失墜と返金対応で大きな損失になります。
これらの領域で負債を作ると、PMF 後に直そうとした時には、すでに本番顧客のデータと業務が動いている ので、直すこと自体が事故リスクになります。
詳しくは Vibe Coding で作ったシステムが、本番で使えない理由 で 8 つの破綻パターンとして整理しています。
AI 生成コードで増えやすい負債
AI ツール (Cursor / Claude Code / Codex) で実装が速くなった結果、負債が積み上がるスピードも速くなりました。具体的には:
- AI に「機能を追加して」と頼むと、既存の設計判断を踏まずに新規ロジックを書く
- AI が独自スタイルで実装し、コードベースの一貫性が落ちる
- AI が依存ライブラリを勝手に追加する
- AI がテストを書かない、または「動くことだけ確認するテスト」を書く
Anthropic のセキュリティ解説でも、AI を使った脆弱性管理のボトルネックは 「発見」ではなく「検証・トリアージ・修正」 に移っている、と整理されています (Using LLMs to Secure Source Code / Anthropic)。AI で速く書ける時代こそ、判断と修正に人間の時間を集中させる必要がある ということです。
ここまでで「自社の技術負債を整理したい」と感じたら、診断フェーズから相談するのが現実的です。
負債を管理する仕組み
PMF 前でも、負債を 意図的に管理する 仕組みは入れておきます。完璧に綺麗にする必要はありませんが、何が負債で、いつ直すかは把握しておきます。
ADR (Architecture Decision Records)
重要な技術判断を、1 ページの文書に残します。「なぜこの設計にしたか」「将来直すべきか」を書いておくと、後で見直すときに迷いません。
CLAUDE.md / AGENTS.md
「触ってはいけないファイル」「直したい部分」をプロジェクト文脈ファイルに書きます。AI も人間も、ここを参照することで負債を踏まない判断ができます。
月次の負債レビュー
月 1 回、「これは直さないと事故るか」を判断する 30 分の会議を持ちます。負債リストを更新し、優先順位を決めます。
「直す予算」を月次で確保
毎月、開発工数の 10〜20% を 負債解消の予算 として確保します。これがないと、機能追加だけが優先され、負債は積み上がる一方になります。
致命的な負債を判断するチェックリスト
「これは致命的か、許容できるか」を判断するチェックリストです。
| 観点 | 致命的 | 許容できる |
|---|---|---|
| データ | 過去データが壊れる可能性 | UI 表示の不整合 |
| 認証 | 他人になりすませる | UI のログイン体験が悪い |
| 権限 | 他社・他部門のデータが見える | 自分のデータの表示順がおかしい |
| 課金 | 二重課金、返金漏れ | 領収書の文面が古い |
| セキュリティ | SQL インジェクション、漏えい | パスワード強度が弱い設定 |
| 個人情報 | ログに PII が残る | ユーザー名の表示桁数 |
致命的なものは 即時対応、許容できるものは 記録だけ残して PMF 後 に扱う、と分けます。
min's での負債管理スタイル
min's では、技術負債の管理を以下の形で支援しています。
診断 (1〜2 週間)
- 既存コードベースを読み、ADR を一覧化
- データ・認証・権限・課金・セキュリティの 5 領域で負債を分類
- 致命的なものと許容できるものを仕分け
直す優先順位の提案
- 「いま直すべき」「PMF 後に直す」「捨ててよい」の 3 段階
- 各項目の修正コストと、放置した場合のリスクを提示
修正並走
- 致命的な負債の修正を、社内チームと並走
- ADR を更新しながら進める
- CLAUDE.md / AGENTS.md に反映
費用感は、診断 50〜100 万円、修正は規模に応じて 100〜500 万円が典型的です。
技術負債のレビューを相談したい方へ
min's では、PMF 前のスタートアップの技術負債診断、致命的な負債の特定、修正並走を支援しています。
以下のような状態であれば、ご相談ください。
-
PMF 前だが、コードの状態に不安がある
-
AI で作ったコードが、どこまで使えるか判断したい
-
致命的な負債と許容できる負債を分けたい
-
負債管理の運用ルールを作りたい
次に読む記事
参考
- The founder's playbook / Anthropic — AI 生成 MVP の技術負債とアーキテクチャ・セキュリティ実装
- Using LLMs to Secure Source Code / Anthropic — AI セキュリティレビューにおける検証・トリアージ・修正の重要性