Техническое Задание. Зачем оно?

Разработка почти любого сайта начинается с написания Технического Задания, или ТЗ. Часто клиенты недоумевают: зачем на простую, казалось бы, визитку, "просто магазин" или -- случалось и такое! -- "обычный портал" писать многословное описание, иногда на десятки страниц? Попробую объяснить.

Чем Точка Зрения отличается от Технического Задания

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

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

Очевидно, что будущий сайт Заказчика с этих двух точек зрения может выглядеть -- и выглядит! -- очень по-разному:

  • Заказчик знает, как выглядит и что делает сайт.
  • Студия знает, как работает сайт.

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

На какие вопросы отвечает Техническое Задание

Хорошо написанное Техническое Задание отвечает на следующие вопросы:

  • что находится на сайте? Материалы каких именно типов (страница, статья, новость, деталь каталога, карточка товара, ...) есть на сайте?
  • как это показывается на сайте? На какие точно разделы разбит сайт, какие точно меню есть на сайте, как именно они связаны с материалами?
  • как сайт взаимодействует с посетителем? Что именно происходит при переходе со страницы на страницу, клику по ссылке, нажатии на кнопку? Как сайт реагирует на ошибочные действия?
  • как сайт взаимодействует с другими сайтами? Есть ли на нём реклама (какая и где точно)? Предоставляет ли сайт информацию другим сайтам (как именно)?
  • как сайт взаимодействует с владельцем сайта? Что и как владелец может менять на сайте?
  • как выглядит сайт? В идеале на все страницы сайта, диалоговые окна, результаты нажатия кнопок и т.д. должен иметься отдельный графический макет.
  • как делается сайт? Важной частью Технического Задания является список задач для исполнителя. Он разделяет процесс изготовления сайта на относительно небольшие детализированные задачи с ясными сроками выполнения.

Какие преимущества даёт Техническое Задание

Для Заказчика::

  • становятся ясными объемы работы, функционал получающегося сайта, затраты денег и времени на каждую часть сайта. В результате заказчик получает возможность обоснованно обдумать и решить, что именно из "желаемого" он хочет получить, за сколько и когда, а что именно имеет смысл отложить "на развитие"
  • "пошаговость" выполнения позволяет заказчику контролировать течение выполнения заказа, без слепого доверия к словам исполнителя.
  • безусловно уменьшаются затраты бюджета на "получилось не то, что хотелось, пришлось переделывать".
  • хорошо видно, как разработчик укладывается в сроки.
  • в ясно написанном Техническом Задании зафиксирована вся структура сайта и функционал каждого блока. Другими словами, это исчерпывающая документация на сайт.
  • Техническое Задание поможет при приёмке сайта не пропустить ни одного момента реализации, прошёлся по пунктам и видно - сделано/не сделано.

Для Студии:

  • в процессе его реализации вопросов к Заказчику возникает во много раз меньше. Экономится время, затрачиваемое на бесконечные согласования "по ходу дела" и, в конечном счёте, деньги Заказчика.
  • последовательность задач для реализации каждого пункта Технического Задания и время их выполнения определено до начала работ. Это позволяет гораздо точнее определить сроки реализации сайта, спланировать нагрузку на сотрудников.
  • многократно облегчается работа дизайнера. Он точно знает, что именно рисовать на макетах.
  • грамотно разработанное ТЗ ценно само по себе, его можно использовать и с другими разработчиками.