register

Как составить техническое задание и сэкономить 20% на стоимости проекта

Назад
03
Фев 2022

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

В сегодняшней статье мы поделимся нашим многолетним опытом и расскажем какие benefits дает данный документ для обеих сторон (заказчик и компания-разработчик), и какие моменты мы учитываем при написании ТЗ.

ПК

Что такое техническое задание?

Техническое задание — это согласованный заказчиком и исполнителем документ, который полностью описывает все требования к будущему сайту, порталу, сервису, CRM- или ERP-системе. Чем четче указаны все требования и пожелания, тем лучше обе стороны друг друга понимают, и тем выше шанс, что они останутся довольны результатом.

Согласованное ТЗ — это гарант получениям Заказчиком ожидаемых на старте результатов, а для команды исполнителей данный документ является залогом уверенность в том, что им не придется за неделю до дедлайна переделывать значительную часть функционала, нервно глотая кофе.

ПК

Польза наличия технического задания для клиента

  • Клиент может использовать ТЗ для того, чтобы понять, за что он платит деньги, какой сайт получит в итоге. Еще до начала разработки можно увидеть структуру, понять, как элементы будут взаимосвязаны между собой. И если что-то не устраивает, изменения можно внести в ТЗ до начала разработки.
  • Убедиться в том, что исполнитель имеет нужный опыт и навыки. Техзадание пишет технический писатель, проектный менеджер или тимлид, и если оно понятное, четкое, не содержит воды или двусмысленности, то это значит, что данная выбранная команда — настоящий специалист своего дела. Если же в техзадании каша из терминов и непонятных набросков, значит нужно бежать от таких исполнителей без оглядки.
  • Сверить готовую работу с ТЗ. Если в переданном сайте (CRM-системе, мобильном приложении) есть очевидные несоответствия документу, разработчики обязаны внести правки бесплатно, а если они отказываются, техзадание — 100%-й вариант выигрыша дела в суде.
    Пояснение: при подписании документов о сотрудничестве к основному договору обязательно прикрепляется техническое задание, которое подписывают обе стороны. Такой документ имеет юридическую силу и может помочь вам доказать правоту при возникновении каких-либо разногласий
  • Узнать реальную стоимость разработки сложного функционала. Невозможно оценить стоимость разработки сайта или приложения с большим функционалом, не видя картину целиком. ТЗ же позволяет разложить проект на отдельные модули, таким образом давая возможность оценить каждый из них отдельно. Обычно после написания проектной документации составляется бэклог — смета проекта. В этом документе указывается время на каждую из задач (отдельно оценивается клиентская часть, отдельно — серверная), которое умножается на стоимость одного часа работы программиста. Таким образом по итогу работ Заказчику предоставляется не только сам документ с техзаданием, то и детальная оценка проекта.

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

Зачем техническое задание исполнителю?

  • Необходимо для того, чтобы понять, что хочет увидеть заказчик. Перед составлением ТЗ на разработку сайта специалист задает клиенту множество вопросов, показывает готовые примеры, предлагает решения. Каждый выбор, описание каждой функции и элемента записывают в единый документ, который структурируется по разделам. Если этот документ проходит согласование у клиента – значит и заказчик, и исполнитель верно поняли друг друга, и техническое задание содержит все необходимые требования.
  • Застраховаться от внезапных изменений. За несколько лет работы мы сталкивались с ситуациями, когда клиент посередине процесса разработки решал внести значительные изменения в проект. Как правило, все начиналось с “а можно добавить еще одну маленькую фичу”, а заканчивалось на “а давайте из лендинга сделаем второй Amazon”. Именно в таких случаях очень выручает ТЗ, ведь все работы производятся только в соответствии с ним.
  • Не менее важное назначение ТЗ — доказать экспертность. Грамотно составленное техническое задание может переубедить даже сильно сомневающегося заказчика. Часто именно на этапе составления ТЗ наши потенциальные клиенты превращались в реальных – когда заказали лишь составление технического задания для проекта, а в по итогу увидели, что мы полностью понимаем их потребности.
  • Упростить и ускорить работу над проектом. Вся команда, которая работает над сайтом или приложением, опирается на ТЗ, как на основной свод законов. В качественном техзадании проработана структура будущего продукта, детально описан каждый из функциональных элементов, учтены условия интеграции со сторонними сервисами, при необходимости добавлены UML-диаграммы на основе user-stories, а также Mind Map, согласно карте сайта. Таким образом, после подготовки данного документа, команда не тратит время на выяснение нужд и требований, а достаточно быстро проектирует прототип и рисует дизайн-макет, без препятствий продвигается в написании программной части проекта. Без ТЗ же обе стороны ожидают бесконечные переговоры друг с другом, выяснения нужд и требований уже по ходу работы, что ведет к перелимитам по стоимости и срокам разработки, а также отрицательно влияет на качество написанного кода.

ПК

Кто должен составлять техническое задание?

В нашей практике были ситуации, когда заказчик приходил со своим ТЗ, однако чаще всего этот документ представлял собой лишь перечень “хотелок”, без деталей и точного описания функционала. Клиент не должен составлять сам техническое задание, поскольку он может не знать всех особенностей веб или мобильных проектов, ему намного легче доверить эту задачу, подрядчикам, которые на этом специализируются.

Главная задача нашего технического писателя — это получение информации о целях, задачах будущего программного продукта. Для обозначения вышеперечисленных тезисов важно как можно глубже окунуться в бизнес клиента, дабы понять все процессы изнутри. К примеру, вы — владелец оффлайн сети магазинов, у вас грамотно налажен бизнес и вы поняли, что следующий шаг — это выход на площадку ecommerce.

Мы, как компания-разработчик, должны получить все данные о вашем бизнесе:

  • используете ли Вы систему учета (например, 1С)
  • какие пользовательские роли планируете добавить на сайте (клиент, менеджер, логист)
  • каково Ваше УТП
  • какая у вас целевая аудитория.

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

При составлении технического задания мы руководствуемся следующими принципами:

  1. Информативность — ТЗ должно быть максимально информативным, не оставляющим места для двусмысленности
  2. Понятность — каждая задача, описанная в ТЗ, выделена и визуально разграничена- то есть понятно, где закончился и где начался следующий пункт
  3. Точность — в документе не должны использоваться абстрактные фразы, например, “удобная навигацию” или «красивое превью пользователя».
  4. Наглядность — для достижения понимания, как будут выглядеть сложные интерфейсы, или же для наглядного пояснения сложных взаимосвязанных функций, к техзаданию могут быть прикреплены изображения, добавлены схемы, таблицы, графики и диаграммы.
  5. Качество — во время написания ТЗ мы анализируем сайты с похожим функционалом, обращаемся к уже выполненным нами подобные проекты, чтобы сделать будущий продукт качественнее, нежели у конкурентов

ПК

От теории к практике: как составить ТЗ на разработку сайта

Полноценное техническое задание должно грамотно раскрывать следующие темы:

  • Цели и задачи проекта
    Данный пункт может быть принят несерьезно, однако опыт показывает, что именно первые страницы документа, описывающие суть проекта, боли, с которыми сталкивается бизнес, его цели и задачи, несут огромную ценность для людей, которые впервые открывают ТЗ. Здесь также могут быть зафиксированы желания заказчика, и ожидаемый результат (например, автоматизация бизнеса или разработка магазина с нуля). Здесь также возможно добавить описание УТП, ЦА и способы монетизации будущего проекта.
  • Требования к дизайну
    В данном пункте может быть описана навигация, связь экранов, очередность компонентов. В плане пожеланий по визуальной составляющей — перечисляются основные цвета сайта, указываются пожелания Заказчика по стилистике.
  • Требования к используемым технологиям
    На этом этапе прописываются требования к функциональной части проекта. Здесь указываются подробные технические требования к верстке, cтеку используемых технологий, требования к хостингу или выделенному серверу
  • Описание программной части
    Данная часть ТЗ — основная, в ней должны быть детально прописаны все страницы сайта и их секции; функционал проекта (например, авторизационный модуль, оформление заказа); пользователи, их роли и функционал личных кабинетов
  • Маркетинговые составляющие
    В этом пункте фиксируются SEO-требования к проекту: структура сайта, правила генерирования хлебных крошек, метатегов и прочее.

ПК

Стоимость разработки технического задания

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

Простые проекты

К данному типу проектов относятся лендинги, сайты-визитки и корпоративные сайты. Основная цель подобных проектов — презентация услуг компании или одного человека.

Для данного типа проектов написание технической спецификации занимает не более нескольких дней, поскольку содержание ТЗ остается прежнем, основные блоки и функционал повторяются из проекта в проект с небольшими изменениями. Если появляется какой-то нюанс, то мы детально описываем его в документации. Техзадание для данного типа проектов может занимать не более 20-30 страниц А4.

Сложные проекты

Для высоконагруженных сайтов и сложных систем с множеством взаимосвязей создание технического задания обычно занимает не менее одного месяца (приблизительно 160 часов рабочего времени). Объем такого ТЗ может быть 80-120 страниц, в нем очень подробно описывается весь функционал проекта, пользовательские сценарии, требования к верстке и поддержке браузерами, перечень сторонних сервисов и описание методов интеграций с ними.

Кроме того, крупные проекты делятся на итерации – и под каждую итерацию готовится отдельное ТЗ, так как один функционал тянет за собой появление другого при реализации следующего этапа.

К примеру, в первой итерации может разрабатываться торговая площадка, как каталог товаров и услуг, а во время второго этапа — функционал для заработка платформы (система монетизации), которая будет включать несколько комбинированных моделей: premium-аккаунт, плата за количество опубликованных объявлений и тп.

Стоимость технического задания привязывается к ориентировочной стоимости проекта и составляет 10% от нее. То есть, чем сложнее и больше сайт или приложение, тем больше будет цена на техническое задание к проекту. Ниже приведена примерная стоимость технического задания для разных типов проектов

Тип проектаОриентировочная стоимость проекта до ТЗСтоимость ТЗ (10%)
Корпоративные сайтыот $3 000от $300
Интернет магазиныот $7 000от $700
Системы автоматизацииот $15 000от $1 500
Маркетплейсыот $20 000от $2 000

ПК

К чему приводит отсутствие ТЗ

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

  1. Лишние затраты
    Когда нет технического документа, отсутствует четкий порядок реализации функционала, появляется огромная вероятность превысить планируемые расходы на разработку продукта. Так, часто клиенты начинают разработку с дизайна, отложив ТЗ на потом. Подобное приводит к тому, что походу написания ТЗ появляются дополнительные функции, какой-то модуль вовсе убирается, и дизайн нужно будет перерисовывать. Подобное связано с тем, что дизайнер не является техническим специалистом и, к сожалению, не может самостоятельно, без технического задания, продумать все user-stories, грамотно отразить в макете весь функционал проекта.
  2. Нет видения порядка реализации модулей
    В ТЗ описывается каждая итерация проекта, то есть какой модуль и в каком порядке должен быть реализован. Подобный подход позволяет запуститься в сети уже после первого майлстоуна. Напротив же, когда отсутствует ТЗ, программисты могут стартовать с тех модулей, которые не несут выгоды для заказчика, однако могут быть проще в разработке.
  3. UX сайта или приложения При отсутствии анализа конкурентов и предпочтений аудитории, повышается вероятность того, что программист сделает проект так, как он его видит. Фильтрация, добавления товаров будут реализованы не так, как было бы проще и удобнее для покупателя, а как легче для программиста, что может вызвать волну негативных отзывов от будущие клиентов сайта
  4. Сложное дальнейшее развитие проектаЕсли при разработке проекта не пишется документация к проекту, то при попытке внесения доработок в будущем повышается риск столкнуться с тем, что другая компания не сможет разобраться с ним. Подобное упущение с отсутствием ТЗ, приведет к трате большого количества денег на review кода, и далеко не факт, что ваш проект кто-то возьмется дорабатывать.

ПК

Case Study

Мы разрабатывали CRM-систему для компании, где более 4000 клиентов, а менеджеров по работе с клиентами всего 6. Нам нужно было оптимизировать работу сотрудников так, чтобы формирование базы данных клиентов и обработке их заявок происходила в пару кликов, а в конце дня/месяца/года формировались отчеты по количествам продаж.

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

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

Выяснив эти проблемы, мы вместе с SЕО-компанией еще раз обсудили, что нужно автоматизировать и занялись доработкой проекта. Как итог, доработка сайта заняла еще дополнительные 250 часов, что вылилось в незапланированные расходы для компании.

ПК

В поисках идеального ТЗ

На практике идеального ТЗ не бывает, все равно возникают доработки и нюансы, которые не были учтены. Но наличие грамотного ТЗ дает возможность уменьшить количество таких недоработок, что значит – сохранить ваши средства, а это 15-20% от эстимейта и во временном, и в денежном выражении.

Грамотное и полное ТЗ — первая ступенька к успешному проекту. Это фундамент, на котором все держится. Если вы хотите, чтобы ваш проект полностью соответствовал всем вашим ожиданиям, то можете оставить свои данные, и наш технический писатель свяжется с вами для написания ТЗ для вашего проекта.

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

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

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

Ilya Smyrnov

Автор: Ilya Smyrnov

Должность: CEO, Business analyst

Биография: Более 8 лет занимаюсь анализом бизнесов клиентов и повышаю их эффективность с помощью внедрения IT-решений.

Спасибо за ваш интерес!

Мы с вами свяжемся в ближайшее время