Шаг 4: Набросать лёгкий PRD
PRD (документ требований к продукту) — это просто ваши решения, собранные в одном месте. У него предсказуемый скелет — те же несколько разделов каждый раз:
PRD
├─ Проблема зачем это нужно
├─ Пользователь для кого
├─ Цель что делает, одной строкой
├─ В рамках что входит в v1
├─ Не-цели что v1 пропускает
├─ Истории как __, я хочу __, чтобы __
├─ Модель данных поля, которые хранишь
└─ Готово когда приёмочный тест
Держите его крошечным. Вот полноценный стартовый PRD, который можно передать AI:
# Book Tracker — Mini PRD
## Problem
I read a lot but lose track of what I've finished and what I thought of it.
## User
Me (a single user). No accounts needed for v1.
## Goal
A simple web app to add books, track reading status, and rate finished ones.
## In Scope (v1)
- Add a book (title, author)
- Set status: To Read / Reading / Finished
- List all books, filterable by status
- Rate finished books 1–5 stars
## Non-Goals (v1)
- User accounts / login
- Social features, sharing, recommendations
- Importing from other services
- Mobile / native apps
## Tech (keep it simple)
- Single-page web app
- Local browser storage (no backend for v1)
## Done When
I can add a book, change its status, rate it, and see my list
persist after a page refresh.
Обратите внимание на строку «Done When». Это ваш приёмочный тест — конкретный способ узнать, что вы выпустили v1. Всегда включайте его. Хорошее «Done When» — это то, что можно физически выполнить: кликни здесь, набери это, обнови, увидь то. Если ваше условие готовности читается как ощущение («когда будет отполировано», «когда будет приятно»), оно никогда не будет выполнено, потому что не с чем сверяться. Сделайте его сценарием, который можно вручить незнакомцу.
Писать PRD вручную не обязательно. Полезный ход — скормить AI ваши ответы из предыдущих шагов и дать ему собрать черновик, а затем отредактировать. Смысл редактирования, а не принятия целиком, в том, что вы должны понять и согласиться с каждой строкой — этот документ и есть источник истины, который вы будете снова и снова вставлять, так что ошибка здесь скопируется в каждую последующую сессию.