Узнать стоимость

Blog

Как составить ТЗ на веб-приложение: структура, требования и приёмка

Показываем, что включить в ТЗ на веб-приложение: цели, роли, сценарии, данные, интеграции, нефункциональные требования и критерии приёмки.

  • 01.08.2026
  • Автор: команда Paladin
К списку статей

Команда превращает бизнес-задачу в ТЗ для веб-приложения

Короткий ответ: хорошее ТЗ на веб-приложение описывает не все пиксели будущего интерфейса, а проблему, роли, сценарии, данные, ограничения и критерии готовности. Документ должен позволить бизнесу и команде одинаково понять, что строится в первой версии и как проверить результат. Чем выше цена ошибки, тем важнее зафиксировать правила до начала разработки.

ТЗ не обязано быть огромным. Оно обязано отвечать на вопросы: кто пользуется системой, какую задачу решает, какие данные входят и выходят, какие состояния бывают, что запрещено и что считается готовым. Если нужно разложить идею по функциям и границам MVP, обсудите задачу с Paladin Engineering на этапе подготовки.

Почему список экранов не заменяет ТЗ

Фраза «нужен личный кабинет с заявками» задаёт направление, но не решение. В ней не видно ролей, статусов, уведомлений, прав доступа, источников данных и исключений. Два подрядчика могут оценить такую задачу по-разному и оба формально окажутся правы: каждый достроит недостающие правила по-своему.

Техническое задание нужно не для бюрократии. Оно снижает количество дорогих догадок, помогает сравнить предложения и даёт основу для приёмки. При этом документ должен оставаться живым: изменения фиксируются с причиной, влиянием на сроки и ответственным за решение.

Цель, пользователи и границы

Начните с результата для бизнеса и пользователя. Не «сделать современный портал», а «сократить ручную передачу заявок между отделами» или «дать партнёру видеть статус заказа без переписки». Затем перечислите роли и явно укажите, что не входит в первую версию. Граница «не делаем» так же важна, как список функций.

Сценарии вместо каталога функций

Сценарий показывает последовательность действий: пользователь создаёт заявку, система проверяет обязательные поля, назначает исполнителя, отправляет уведомление, меняет статус и сохраняет историю. Для каждого шага нужны успешный путь, ошибка и отмена. Такой формат помогает заметить пропущенные состояния раньше, чем они превратятся в переделку.

Данные, роли и интеграции

Опишите сущности и связи: заявка, клиент, документ, комментарий, платёж или задача. Для каждого поля полезно указать тип, обязательность, источник, формат, срок хранения и кто имеет доступ. Отдельно перечислите внешние системы, способ обмена, частоту синхронизации, повторную отправку и поведение при недоступности API.

Раздел ТЗЧто зафиксироватьКак проверить
Цельпроблема и измеримый следующий шагвладелец подтверждает результат
Ролидействия и ограничения каждой ролиматрица доступа и тестовые аккаунты
Сценарииуспех, ошибка, отмена, повторсквозные приёмочные сценарии
Данныеполя, источники, формат, хранениеконтракт API и миграционные примеры
Нефункциональные требованияскорость, безопасность, доступностьизмеримые критерии и проверки

Как описать интерфейс, не превращая ТЗ в макет

Для каждого ключевого экрана достаточно указать цель, входные данные, доступные действия, состояния загрузки, пустой результат, ошибку и успешное завершение. Если есть прототип, он показывает расположение и переходы, но не отменяет текстовые правила. W3C WCAG 2.2 требует, чтобы элементы управления имели программно определяемые имя и роль, а ошибки ввода были идентифицированы и описаны.

Сложные элементы лучше сопровождать примерами: как выглядит заявка без вложения, что видит менеджер без права редактирования, что происходит при конфликте данных. Примеры не должны подменять требования, но помогают убрать двусмысленность и ускорить обсуждение.

Нефункциональные требования, о которых забывают

Безопасность и доступы

В ТЗ нужно указать модель ролей, чувствительные поля, журнал действий, требования к сессиям, резервным копиям, удалению и восстановлению. OWASP ASVS и NIST SSDF полезны как источники проверяемых практик: безопасность должна учитываться в архитектуре, коде, тестах и процессе поставки, а не появляться после обнаружения проблемы.

Производительность и устойчивость

Не пишите «быстро работает» без контекста. Опишите критичные операции, ожидаемую нагрузку, допустимое время ответа, поведение при недоступности интеграции и требования к фоновым задачам. Даже приблизительные, но проверяемые критерии лучше рекламных обещаний.

Доступность и поддержка

Зафиксируйте клавиатурную навигацию, тексты ошибок, контраст, мобильный сценарий и поддержку браузеров. Добавьте требования к логам, мониторингу, документации и передаче доступов. Это влияет на стоимость, но помогает не строить систему, которую нельзя безопасно сопровождать.

Критерии готовности и приёмка

Каждая крупная функция должна иметь критерий приёмки: входные данные, действие, ожидаемый результат и исключение. Формулировка «пользователь может изменить статус» слабее, чем «менеджер с ролью X выбирает статус Y, система сохраняет автора и время изменения, а пользователь без права редактирования видит только историю».

  • проверить сценарий с валидными данными
  • проверить пустые, граничные и неверные значения
  • проверить роли и прямой доступ к запрещённому действию
  • проверить повторную отправку и сбой внешней системы
  • проверить мобильный экран и клавиатурную навигацию
  • проверить логи, уведомления и сохранение истории

Как разделить MVP и backlog

В первую версию попадает сквозной сценарий, который можно использовать и проверить. Отдельный список backlog хранит идеи, редкие исключения, расширенную аналитику и автоматизацию, без которой процесс всё ещё закрывается вручную. Такое разделение делает оценку честнее и позволяет обсуждать не «весь продукт», а ближайший проверяемый результат.

Веб-приложение можно подготовить поэтапно: discovery и карта процессов, прототип ключевого пути, техническое ТЗ, разработка MVP, интеграции, тестирование и поддержка. Paladin Engineering может подключиться к разработке веб-приложения или помочь провести предпроектный разбор до фиксации объёма.

Чек-лист готовности ТЗ

  • названы бизнес-проблема, пользователи и ожидаемый результат
  • есть границы MVP и список того, что сознательно отложено
  • описаны роли, права и основные сущности данных
  • для ключевых сценариев указаны успех, ошибка, отмена и повтор
  • интеграции имеют владельца, формат обмена и поведение при сбое
  • нефункциональные требования измеримы или обозначены как допущения
  • есть критерии приёмки и тестовые примеры
  • зафиксирован процесс изменения требований и история решений

Как Paladin Engineering может помочь

Мы помогаем перевести бизнес-идею в карту сценариев, прототип, техническое задание и план MVP. На раннем этапе особенно полезно отделить обязательные правила от пожеланий, найти сложные интеграции и заранее определить, как команда и заказчик будут принимать результат.

Если у вас есть черновик требований или только описание проблемы, оставьте заявку — обсудим контекст, риски и следующий разумный шаг без обещаний точной оценки до прояснения задачи.

FAQ: ТЗ на веб-приложение

Кто должен писать ТЗ?

Лучший результат обычно получается совместно: бизнес отвечает за цели и правила процесса, аналитик помогает формализовать сценарии, а техническая команда проверяет реализуемость и риски.

Нужно ли описывать каждую кнопку?

Нет. Важнее поведение, роли, данные и состояния. Детали интерфейса фиксируются там, где они влияют на сценарий, доступность или приёмку.

Можно ли начать разработку без полного ТЗ?

Можно начать с discovery или прототипа, но нельзя оставлять неизвестными ключевые сценарии, ограничения и критерии готовности. Иначе оценка будет условной.

Как часто менять ТЗ?

Менять можно, если фиксировать причину, влияние и решение. Неконтролируемые изменения опаснее самого факта изменений.

Что важнее: прототип или ТЗ?

Они решают разные задачи. Прототип показывает путь и интерфейс, а ТЗ описывает правила, данные, интеграции, ограничения и проверяемый результат.

Комментарии

Вопрос от редакции 01.08.2026
Какие данные нужно согласовать до начала работ над темой «Как составить ТЗ на веб-приложение: структура, требования и приёмка»?
Paladin Engineering 01.08.2026
Сначала фиксируем основной сценарий, обязательные данные, роли, исключения и критерий готовности. Это позволяет отделить первую проверяемую версию от пожеланий, которые можно оставить в backlog.
Вопрос от редакции 01.08.2026
Что чаще всего становится причиной переделок?
Paladin Engineering 01.08.2026
Не сама технология, а неоговорённые правила: кто принимает решение, какие поля обязательны, что происходит при ошибке и как система обменивается данными с внешними сервисами.
Вопрос от редакции 01.08.2026
Как подготовиться заказчику до встречи с разработчиком?
Paladin Engineering 01.08.2026
Соберите примеры текущего процесса, типовые исключения, список пользователей и ограничения по данным. Необязательно заранее знать стек — важнее показать реальную задачу и ожидаемый результат.