PRD — что это и как его правильно писать

PRD — это Product Requirements Document, документ требований к продукту. Проще говоря — письменный ответ на вопрос: «Что именно мы делаем, зачем и как поймём, что получилось?»

PRD пишется до начала разработки. Это не техническая спецификация и не дизайн-документ. Это контракт между тем, кто ставит задачу, и тем, кто её выполняет.


Зачем нужен PRD

  • Синхронизация. Все участники понимают задачу одинаково — до старта, а не после релиза.
  • Scope control. Чётко зафиксировано, что входит в задачу, а что нет. Без PRD scope расползается незаметно.
  • Основа для ревью. Когда результат готов, вы сверяете его с PRD. Есть расхождения — есть разговор.
  • История решений. Через полгода никто не вспомнит, почему выбрали вариант А. PRD — это память проекта.

Из чего состоит PRD

1. Заголовок и метаданные

ПолеЧто писать
Название фичи/продуктаКороткое и понятное, как заголовок задачи
АвторКто написал PRD
ДатаКогда создан, когда обновлялся
СтатусDraft → Review → Approved → In Progress → Done
СтейкхолдерыКто принимает решение, кто делает, кто тестирует

2. Проблема (Problem Statement)

Что сейчас не так? Почему это важно? Кого это касается?

Хороший тест: если убрать этот раздел и показать PRD постороннему человеку — поймёт ли он, зачем всё это? Если нет — проблема описана плохо.

Пример плохо:

Нам нужна авторизация через OAuth.

Пример хорошо:

Сейчас пользователи регистрируются по email и паролю. 40% бросают процесс на втором шаге. Гипотеза: вход через Google/Apple сократит отток на этапе регистрации.

3. Цели и метрики (Goals & Success Criteria)

Что конкретно должно измениться после реализации? Формулируйте так, чтобы можно было проверить.

  • ✅ «Конверсия регистрации вырастет с 60% до 80%»
  • ✅ «Время ответа API не превысит 200ms на p95»
  • ❌ «Улучшить пользовательский опыт» — это не метрика, это пожелание

4. Scope — что делаем и что НЕ делаем

Это самый важный раздел для тех, кто пишет PRD впервые. Без него задача всегда разрастается.

✅ В scope❌ Вне scope
OAuth через Google и AppleOAuth через Facebook и GitHub
Веб-версияМобильное приложение (отдельный PRD)
Базовый онбординг после входаПолная переработка онбординга
Правило: если что-то явно не указано как «в scope» — значит, этого в задаче нет. Не додумывайте.

5. Пользовательские сценарии (User Stories)

Опишите, как реальный человек будет пользоваться тем, что вы делаете. Формат:

Как [кто], я хочу [что], чтобы [зачем].

Пример:

Как новый пользователь, я хочу войти через Google одним кликом, чтобы не придумывать и не запоминать пароль.

Для каждого сценария полезно описать happy path (всё идёт по плану) и edge cases (что может пойти не так).

6. Функциональные требования

Что система должна делать — конкретно, проверяемо, без воды.

  1. При нажатии «Войти через Google» система перенаправляет на OAuth consent screen
  2. После успешной авторизации создаётся аккаунт или выполняется вход
  3. Если email из OAuth совпадает с существующим аккаунтом — предложить связать аккаунты
  4. При ошибке OAuth — показать сообщение с кнопкой «Попробовать снова»

7. Нефункциональные требования

То, что не про «что делает», а про «как хорошо делает»:

  • Производительность: OAuth flow завершается за < 3 секунд
  • Безопасность: токены хранятся в httpOnly cookies, refresh token ротируется
  • Доступность: uptime 99.9%
  • Совместимость: Chrome, Safari, Firefox последних двух версий

8. Зависимости и риски

Что может заблокировать или сломать работу:

  • Зависимость от Google OAuth API — если API изменится, потребуется адаптация
  • Нужен доступ к Google Cloud Console для настройки OAuth credentials
  • Риск: если пользователь удалит Google-аккаунт, потеряет доступ → нужен fallback

9. Таймлайн и этапы

ФазаЧтоСрок
1Backend: OAuth endpoints + token management1 неделя
2Frontend: UI кнопок + редиректы3 дня
3Тестирование + edge cases2 дня
4Деплой + мониторинг1 день

10. Открытые вопросы

Всё, что ещё не решено. Этот раздел обязателен — он показывает, что автор честен в оценке готовности документа.

  • Нужно ли поддерживать «Sign in with Apple» на первом этапе?
  • Какой fallback, если OAuth-провайдер недоступен?
  • Кто отвечает за настройку OAuth credentials в production?

Частые ошибки

ОшибкаПочему плохоКак правильно
Писать PRD после разработкиДокумент превращается в формальностьPRD пишется до первой строки кода
Описывать решение вместо проблемыКоманда не понимает «зачем», только «что»Сначала проблема, потом решение
Размытые критерии успехаНевозможно понять, получилось или нетКонкретные числа и проверяемые условия
Нет раздела «вне scope»Scope расползается, сроки срываютсяЯвно фиксировать, что НЕ входит в задачу
Слишком длинный PRDНикто не читает, документ бесполезен1–3 страницы для типовой фичи
Нет открытых вопросовСоздаёт иллюзию, что всё понятноЧестно фиксировать неизвестное

Чеклист: PRD готов?


Минимальный шаблон для старта

Если вы пишете PRD впервые — начните с этой структуры:

## Проблема
Что не так сейчас?

## Цель
Что должно измениться? Как измерим?

## Scope
Что делаем / Что НЕ делаем

## Сценарии
Как пользователь будет это использовать?

## Требования
Что конкретно должна делать система?

## Открытые вопросы
Что ещё не решено?
Главное правило: PRD — это не бюрократия. Это инструмент, который экономит время и нервы. Короткий и честный PRD лучше длинного и формального.

Есть вопросы по теме — Telegram: t.me/pimenov

© 2026 ИП Пименов Сергей Викторович ИНН 616271176890 ОГРН 316619600255641