Классическая история из мира корпоративной веб-разработки: генеральный директор выделяет солидный бюджет на создание нового B2B-портала. Маркетолог пишет документ на 3 страницы с названием «Требования к сайту», где указывает, что сайт должен быть «современным», «продающим» и «интегрированным с 1С». Агентство берет проект в работу, спустя 4 месяца сдает результат. И тут начинается кошмар.
Оказывается, что "интеграция с 1С" в понимании агентства - это ручная выгрузка Excel-файла раз в сутки. А в понимании заказчика - это обмен в реальном времени с учетом трех разных типов цен для дилеров. Начинается конфликт, взаимные обвинения, проект уходит в долгострой, а бюджет раздувается в два раза.
Корень зла: «Бриф» вместо Технического Задания
Самая большая иллюзия бизнеса заключается в том, что заполненного брифа (опросника из 20 вопросов) достаточно для старта разработки. Бриф - это маркетинговый инструмент. Он нужен, чтобы агентство поняло вашу нишу, целевую аудиторию и задачу верхнего уровня. На основе брифа можно нарисовать концепт дизайна или написать тексты, но нельзя писать код.
ТЗ не пишется бесплатно. Это результат этапа аналитики, который занимает от 2 до 6 недель и оплачивается отдельно. Если агентство готово взять в разработку B2B-портал за 5 миллионов рублей без оплачиваемой предпроектной аналитики - бегите. Вы станете спонсором их экспериментов.
Разница между плохим и хорошим ТЗ
| Формулировка заказчика (в Брифе) | Формулировка архитектора (в ТЗ) |
|---|---|
| «Поиск должен быть умным и искать по всему каталогу». | «Реализация поиска на базе Elasticsearch. Поиск осуществляется по полям: Название (вес 10), Артикул (вес 15), Бренд (вес 5). Допустимо до 2 опечаток. Результаты выдаются в формате выпадающего списка с миниатюрами (до 5 элементов) с задержкой 300мс после ввода». |
| «Нужна интеграция цен с 1С». | «Двусторонний обмен через REST API. 1С - мастер-система. Выгрузка типов цен (Опт, Розница, Дилер) происходит каждые 30 минут инкрементарно (только измененные узлы). При авторизации на сайте скрипт проверяет группу пользователя и применяет соответствующий тип цен к товарам в корзине». |
| «Сайт должен быстро работать». | «Время ответа сервера (TTFB) не должно превышать 400мс. Метрика LCP (Largest Contentful Paint) на мобильных устройствах не более 2.5 секунд при 3G-соединении (проверка через Google Lighthouse)». |
Структура правильного ТЗ на разработку портала
Чтобы документ защищал вас в суде и был понятен программисту, он должен содержать следующие обязательные разделы.
1. Глоссарий терминов
В B2B-разработке одни и те же слова значат разное. Например, "Личный кабинет дилера" для вас - это портал с заказами и документами. А для менеджера агентства - это просто страница с формой обратной связи. Все термины (Лид, Товарное предложение, SKU, Авторизация) должны быть расшифрованы на первой странице.
2. Архитектура баз данных (ER-диаграмма)
Документ должен описывать, какие сущности существуют в системе и как они связаны. У товара может быть несколько категорий? У пользователя может быть несколько компаний-юридических лиц (для выставления счетов)? Если это не заложить на уровне архитектуры БД в самом начале, переделать это потом будет стоить миллионы.
3. Спецификация API и интеграций
Около 70% бюджета сложных проектов сгорает на интеграциях. В ТЗ должно быть четко прописано:
- С какими внешними системами идет обмен (1С, amoCRM, МойСклад, логистические службы).
- В каком формате передаются данные (JSON, XML).
- Кто инициирует запрос (сайт дергает 1С или 1С пушит на сайт).
- Сценарии обработки ошибок (что делает сайт, если сервер 1С недоступен в момент оформления заказа).
4. Сценарии использования (Use Cases)
Просто нарисовать макеты страниц недостаточно. Программист должен понимать логику переходов. Описание сценария выглядит так: "Пользователь нажимает кнопку [Оформить]. Если сумма заказа < 50 000 руб, показывается ошибка [Минимальная сумма]. Если условия выполнены, сайт отправляет POST-запрос в CRM, переводит статус корзины в [Ожидает оплаты] и перенаправляет на страницу [Успех]".
Ошибки заказчиков при согласовании ТЗ
Многие руководители со стороны клиента не читают ТЗ, потому что оно написано "слишком техническим языком". Они пролистывают 100 страниц текста, смотрят на красивые прототипы в конце и подписывают документ. Это фатальная ошибка.
Техническое задание - это ваш контракт. Если вы подписали документ, в котором написано "интеграция 1С раз в сутки", вы не сможете требовать от программистов обмена в реальном времени, даже если вам это критично нужно для бизнеса. Поэтому, если в вашей компании нет сильного IT-директора (CTO), нанимайте независимого технического консультанта для приемки ТЗ у агентства.
Нужна надежная B2B-разработка?
В LavrAgency процесс создания технического задания - это не формальность, а фундамент. Наши архитекторы погружаются в ваши бизнес-процессы, изучают структуру вашей 1С и пишут документацию, по которой можно построить бесперебойный e-commerce продукт. Если вам нужен предсказуемый результат без переплат на этапе разработки, оставьте заявку на проектирование.
Заказать разработку портала