В данной статье мы рассмотрим такой частый вопрос, как составить техническое задание на разработку сайта. Статья не претендует на звание профессионального руководства, но при этом позволит значительно облегчить общение заказчика и разработчиков сайта. Материал может дополняться, так как мир web-технологий не стоит на месте и развивается семимильными шагами, ну и что-то мы можем просто забыть при первом написании статьи.
Основы. Цели, аудитория, внешний вид.
Первым делом нужно описать цели создания сайта, чего клиент ждёт после его появления и публикации в сети интернет. Например, привлечение новых клиентов, увеличение продаж, облегчение выбора пользователя среди большого ассортимента товара, удобство оформления заявок. Очень часто клиент сам не до конца понимает, для чего ему это нужно, поэтому с целями нужно определиться на первом этапе.
Следующим этапом нужно определить целевую аудиторию. Если конечными пользователями сайта будут розничные покупатели, вероятнее всего, это будет интернет-магазин, а если представители бизнеса, то, скорее всего, будет модель B2B, то есть бизнес будет продавать другому бизнесу, а это совсем другой подход при создании сайта. Тонкости в данной публикации рассматривать не будем, так как это тема отдельной большой статьи.
Далее внешний вид. Нельзя сказать, что дизайн сайта определяет его успех, но, конечно, непосредственное влияние есть, и не маленькое. Но внешний вид всегда можно изменить в будущем, как и любую часть сайта в целом. На популярных биржах фриланса очень часто мелькают задания по редизайну сайта. В данном случае нужно определиться с цветами, шрифтами и форматом сайта. Если с цветами и шрифтами всё понятно, то с форматом несколько сложнее. Самым частым вариантом бывает ширина сайта в 1200 пикселей и адаптивность при более низких разрешениях. То есть сайт подстраивается под ширину экрана перемещением блоков в более узкую область экрана, а если экран большой, то по бокам пользователь видит просто белые поля. Другой распространённый вариант - это широкоформатный дизайн с заполнением области экрана целиком. Конечно, по использованию полезного пространства на экране второй вариант предпочтительнее, но будет ли на сайте такое количество контента, чтобы заполнять его на всём экране? На этот вопрос также нужно ответить на первом этапе составления технического задания.
Выбор платформы. CMS или Framework?
С основами определились, далее черёд не простого выбора. В данной статье не будем рассматривать все преимущества, а определим лишь коренные отличия.
CMS (система управления сайтом), проще сказать, движок сайта. Их существует огромное множество: Joomla, Wordpress, MODX, Drupal, 1C-Bitrix и др.
Framework это скорее набор скриптов, которые облегчают разработку сайта программистам, их также очень много: Laravel, Yii, Codeigniter и др.
На этапе составления ТЗ нужно определиться, с чем будет проще работать заказчику и есть ли необходимость использования framework'а, так как разработка на нём это значительно большие трудозатраты программиста, придётся писать больше кода, следовательно, и стоимость сайта выйдет дороже, но при этом главное преимущество - это скорость работы сайта и отсутствие излишков в коде.
Движки же наоборот значительно проще использовать, так как большую часть функционала они уже содержат в себе, например, формы добавления страниц, редактирование метатегов, добавление товаров, формы для импорта и экспорта информации через файл и многое другое. Но этот плюс также является и минусом - сайт получается сборной солянкой внутри, так как разработчики CMS пытаются охватить максимально большую аудиторию, внедряют в них максимум возможностей и функционала, что в большинстве случаев конечному пользователю и не нужно.
Вывод можно сделать такой: если сайт будет простым, то есть тексты, картинки и просто информация, либо сайт, наоборот, планируется очень не типичный, с индивидуальным функционалом и возможностями не типичными обычным сайтам, то есть смысл обратить свой взор к фреймворкам. Ну а если нужно, как можно быстрее и дешевле стартовать, не взирая на внутренние излишки и не самую высокую производительность, то ваш выбор - это CMS.
Структура сайта.
Структура сайта имеет очень большое влияние на успех сайта в целом. Если сайт будет хорошо продуман, связь страниц будет простая и при этом доступная обычному пользователю, как сейчас обычно говорят интуитивно понятная, то пользователям сайта будет удобно им пользоваться, а это, в свою очередь, будет положительно влиять на SEO продвижение сайта в поиске.
Под структурой понимаются 2 вещи: размещение блоков на странице и связь страниц сайта в целом через меню или ссылки в теле страницы.
Сначала рассмотрим блоки.
Есть уже устоявшиеся расположения блоков, от которых лучше не отходить, например, логотип должен быть слева и сверху сайта, корзина интернет-магазина справа вверху, контакты отдельной страницей на последнем пункте меню и т.д. Конечно, описывать каждый блок не нужно, это работа web-дизайнера, но в ТЗ не будет лишним перечислить блоки на каждой странице сайта или общим списком, а дизайнер по логике сам их распределит. Например так:
- телефон
- обратный звонок
- слайдер
- адрес
- карта проезда
- корзина
- сравнение товаров
- избранные товары и т.д.
Очень полезным в данной ситуации будет описать не типичные страницы. Например, заказчик фотограф хочет сделать сайт с портфолио, но при этом он ещё продаёт рамки. Конечно, ради одних рамок ему нет смысла делать полноценный интернет-магазин, таким образом, в ТЗ он указывает страницу, которая, например, будет называться "Витрина", а в блоках страниц указывает, что на странице нужны блоки с изображением, названием и ценой за каждую рамку. Таким образом, пользователи смогут оценить и возможности фотографа, и узнают, что дополнительно он ещё продаёт рамки.
Структура страниц.
Иногда в погоне за красотой, эффектностью, уникальностью владельцы сайтов достигают своих целей, но при этом не получают необходимой отдачи от сайта, он вроде есть, но толку от него нет. Это типичная ошибка. Сайт в первую очередь должен быть удобным. Взять к примеру главную страницу Яндекс, на ней нет ничего лишнего, кроме поля ввода запроса. Так же и любой сайт должен содержать то, чего от него ожидают пользователи, а именно: если сайт - это интернет-магазин, то на первых местах у него должны быть каталог, поиск, корзина и т.д. Структура страниц должна отражать пользовательский спрос. Чтобы при возникновении вопроса пользователь тут же мог определить, где получить на него ответ. В техническом задании нужно описать список страниц, которые наиболее важны, в идеале, даже каталог товаров и услуг, нужно описать в порядке популярности, иначе программист реализует вывод просто в алфавитном порядке. Так же на данном этапе нужно описать страницы, которые не являются типичными, например, если человек оказывает услуги, но при этом хочет отобразить на сайте вакансии в его фирме, если интернет-магазин оказывает услуги к своим товарам, если фирма хочет корпоративный сайт, но вдобавок ей нужна интеграция с каким-нибудь сервисом, на практике подобных примеров бывает огромное множество. Если в тех задании заказчик укажет страницу с названием "Витрина" в структуре сайта, менеджер в любом случае спросит, что она будет из себя представлять, даже если не будет описания в техническом задании, хуже будет если заказчик не укажет о желании иметь такую страницу на конечном сайте, ооох тогда будет разборок)).
Наполнение контентом.
Самый спорный и сложный момент, на котором часто возникают проблемы: не имея базы товаров, трудно наполнить интернет-магазин, не имея описаний услуг и утверждённых цен к ним, трудно будет наполнить сайт услуг, не имея фотографий одежды, интернет-магазин одежды совсем не будет продавать. В идеале, с техническим заданием предоставить исполнителю и весь контент, который будет размещён на сайте, такой, вроде бы, пустяк, может в разы ускорить разработку сайта.
На данном этапе нужно определиться, кто, каким образом, в каком объёме будет заниматься наполнением сайта.
Тонкости и дополнение.
В последнюю очередь, стоить описать нетривиальные потребности заказчика, приведу несколько примеров:
- У заказчика уже есть сайт, который интегрирован с маркетплейсом яндекс-маркет и ему не только нужна интеграция нового сайта с ним, но и товар полностью должен быть таким же на новом сайте;
- Заказчик не собирается сам заниматься наполнением сайта, но у него есть менеджер, которому он может это поручить, но при этом менеджер не должен видеть информацию о продажах сайта и его статистику;
- У заказчика товары поставляют несколько поставщиков и ему нужно, чтобы товары от поставщиков попадали на сайт автоматически.
Подобные вещи обычно не реализованы в CMS и требуют дополнительных трудозатрат от программистов, к тому же очень часто такие задачи требуют отдельного технического задания, а как составить техническое задание на доработку функционала или разработку нового, мы рассмотрим уже в следующей статье. Спасибо за внимание.
Если вам потребуется помощь, с радостью поможем в составлении технического задания. С уважением, интернет-агентство один-клик26.рф.