Есть одна вещь, без которой в IT-проектах всё летит в ад быстрее, чем твоя зарплата успевает попасть на карту. Это ТЗ — техническое задание. Не та унылая простыня, что валяется в архивах ради галочки, а нормальный живой документ, который отвечает на главный вопрос: что мы вообще делаем и зачем.

ТЗ — не ритуал, а бронежилет

Любой проект — это обычно «давайте быстро сделаем». Менеджер сидит на двух стульях: клиент дышит в спину, команда бухтит, сроки горят. Программист сидит с красными глазами и ждёт, когда же ему кто-то наконец чётко расскажет, что пилить.

Хорошее ТЗ — это не формальность, а бронежилет для всех. Оно должно быть написано так, чтобы через полгода никто не тянул друг друга за горло. Чтобы в 3 часа ночи ты открыл документ и понял: ага, кнопка тут должна быть зелёной, а не фиолетовой, потому что вот пункт №17.

Что обычно пишут вместо ТЗ

Чаще всего приходит менеджер с презентацией на 5 слайдов и словами: «Ну тут всё понятно». Не понятно. Даже если ты десять лет клепаешь сайты — не понятно. Потому что «интернет-магазин как у Озона» и «одностраничник с корзиной» — это две разные галактики.

Вместо нормального ТЗ обычно есть:

  • «Референсы» — ссылки на чужие сайты.
  • Общие слова типа «красиво», «современно», «юзабельно».
  • Скетч на салфетке, сфотканный на телефон.
  • «Потом решим по ходу».

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

Как выглядит нормальное ТЗ

Нормальное ТЗ — это когда ты можешь открыть файл и сказать:

  • Кто пользователь.
  • Что пользователь может делать.
  • Что должно произойти после каждого его действия.
  • Какие ограничения и требования (безопа, законы, третьи сервисы).
  • Какие «не хотелки», а жёсткие условия.

Например:

Плохо: «Нужна регистрация».

Нормально: «Регистрация по почте и через Google, подтверждение по email, обязательная привязка телефона для двухфактора, без этого нельзя заказать товар».

Всё. Это уже спасает задницу разработчику и менеджеру. Потому что если клиент потом орёт «А где вход через ВКонтакте?», менеджер откроет ТЗ и скажет: «Смотри сам, дружок. Его тут нет».

Кто пишет ТЗ — менеджер или программист?

В идеале — оба. Менеджер собирает кашу из головы клиента, раскладывает её по полкам, а программист или тимлид сразу смотрит: а реализуемо ли это в срок и за деньги.

Если менеджер приносит «сырой бриф», а программист сразу кидается кодить — через месяц всё сгорит. Потому что никто не заложил время на то, что клиент вспомнит про мобильное приложение или интеграцию с кассой.

Почему программисту плевать на твоё ТЗ (если оно хреновое)

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

В нормальных конторах ТЗ делают вместе. Программист влезает туда, где надо: проверяет, не придумал ли менеджер невозможного. Манагер объясняет словами людей, что именно нужно бизнесу, чтобы не рожать у себя в голове «волшебные кнопки».

Чего стоит плохое ТЗ

Любая дырка в ТЗ — это дырка в твоём бюджете и времени. Любое «давайте так, а потом разберёмся» — это два переработанных выходных и созвон в воскресенье ночью. Любой недописанный пункт — это потом «допник» на 200 часов, который никто не заложил.

Ты думаешь, что это шутка? Вот пример: клиент не написал, что нужны права доступа для админов и модераторов. Программист сделал всё под «одного админа». Через два месяца проект растёт, надо делегировать права, а архитектура всё — мертва. Время? Переделка на месяц. Деньги? Новая смета. Виноват кто? Все.

Итог: нормальное ТЗ — это не скучно

Настоящее ТЗ — это не пыльный PDF, который читают юристы. Это живая карта твоего проекта. Оно убивает споры, закрывает лишние звонки, спасает программиста от бессмысленных правок и менеджера от бессонницы.

Если ты менеджер — не ленись спрашивать. Если ты программист — не бойся говорить «Стоп. Где это в ТЗ?». Это не придирка. Это разминирование твоей же задницы.

Никакой магии. Только ты, я, ноут и куча невесёлых вопросов. Ответишь на них до старта — сэкономишь деньги и нервы всем. Не ответишь — будем переписывать ночами и шептать про тебя гадости на кухне.

Хочешь нормальный проект — начни с нормального ТЗ. Всё остальное — лишние понты.