Страница 3 из 15
Техническое задание на создание сайта имеет юридическую силу не в отдельности, а как приложение к договору на оказание услуг.
Последовательность действий
За редким исключением начинать «стыковку космических модулей» (налаживание контакта «клиент – разработчик» в масштабах сайтостроительства – процесс столь же ответственный) разумнее не с техзадания, а с диалога о концепции интернет-проекта, который вы замыслили. В очном ли порядке, по Skype или по e-mail – дело десятое, хотя мы все-таки рекомендуем начать с коммуникации в режиме реального времени. Вам важно донести до потенциального исполнителя, что будет представлять собой ваш сайт в целом и каким вы его видите. Так или иначе, перед ознакомительной беседой вам имеет смысл набросать тезисы будущей концепции. На бумаге или в любом текстовом редакторе.
Да, первый кирпичик в здании сайта – это концепция, а не пункт 1.0 в ТЗ. Написанная в вольной форме, она призвана дать общее понимание того, как будет выглядеть и что будет собой представлять сайт, а если он коммерческий, то на чем будет зарабатывать. Вы же, наверное, определились, что собираетесь делать – интернет-магазин обуви для мягких игрушек или сайт с гитарными аккордами, а значит, думали, какую пользу он будет приносить аудитории и как его монетизировать, иначе говоря, извлекать из него прибыль?
Изложите свои соображения. Например: «Сайт представляет собой каталог гитарных аккордов к популярным песням. Источники заработка – реклама и партнерские программы с онлайн-сервисами для прослушивания лицензионной музыки. Главная фишка проекта – интеллектуальный механизм распознавания песни, напеваемой посетителем в микрофон…» Правда, последняя фраза имеет смысл, если у вас скопилась энная сумма (порядок – сотни тысяч и миллионы долларов) и вам их не жалко потратить, так что будьте разумны. Мы предполагаем, что вы по меньшей мере бегло изучили ту часть интернет-рынка, в которую собираетесь выйти со своим сайтом, и объективно взвесили собственные возможности.
После того как вы покажете набросок концепции исполнителю, самое время будет вступить с ним в диалог. Если вам встретился профессионал, то он станет тактично задавать наводящие вопросы по существу проекта. Скорее всего, их будет много, и вам придется проявить терпение. У вас есть шанс, что называется, еще на берегу понять сильные и слабые стороны своего замысла. Обмениваясь мыслями с подлинным мастером веб-разработки, вы на ранней стадии можете исправить свой замысел и усовершенствовать бизнес-идею, на которой зиждется проект. Следовательно, вам нужна конструктивная дискуссия, а не одностороннее перечисление того, чего вы хотите или что умеет исполнитель.
Вставим небольшую ремарку к теме человеческого фактора: поскольку телепатическая функциональность по досадному недоразумению пока не прошита в мозгу каждого индивидуума на Земле, недопонимания в любой коммуникации неизбежны. Поэтому, когда вам кажется, что слова вашего собеседника могут быть истолкованы двояко, или вы даже не догадываетесь, о чем он говорит («Раз сервер у вас в Воронеже, а торговать вы собираетесь на всю Россию, вам надо будет прикрутить CDN. Ну и архитектуру спроектировать надежную»), не стесняйтесь переспрашивать и добиваться точных, прозрачных формулировок.
Со своей позиции попробуйте понять, какие стороны своего бизнеса вы, возможно, описали недостаточно подробно или не описали вообще. Изнутри любой отрасли, профессии, культуры многие явления и факты кажутся очевидными, хотя для человека извне они подчас оказываются откровением.
Постепенно от общего переходите к частному. Обязательно спросите потенциального исполнителя: «Какими программными средствами вы планируете пользоваться, чтобы реализовать проект?» Хотя звучит эта фраза, как в анекдоте: «Рядовой Кузнецов, повторите, что вы сказали, после того как ваш сослуживец уронил бочку с солидолом вам на ногу?» – «Товарищ майор, я ответил, не нарушая устава: “Иванов, ввиду своей близорукости вы нанесли мне физический ущерб, прошу не усугублять его”». В реальности общение будет примерно таким:
– А на чем вы думаете написать мой сайт? Что предпочтительно?
– На PHP 5.5 в связке с MySQL. Сервер – nginx.
– Почему именно nginx? Мне советовали Apache.
– Нельзя сказать, какой сервер объективно лучше. Каждый имеет свои достоинства. У нашей студии семь сайтов, похожих на ваш, были сделаны на nginx, так что схема прекрасно отработана. Мы гарантируем, что от nginx вашему проекту будет только польза.
– Ладно. Есть ли какие-то особые требования к хостингу?
– А у вас сейчас есть хостинг? Или будете покупать его исходя из наших рекомендаций?
И так далее. Однако в самом документе предпочтительно использовать нейтральный стиль с официальными, но необязательно канцелярскими формулировками. Возьмите за правило: техническое задание не тайна за семью печатями, поэтому оно должно быть понятно без устных пояснений и дополнительных консультаций тому, кто откроет его впервые.
В конце каждой онлайн– или офлайн-встречи фиксируйте, чья очередь вносить изменения в концепцию (а далее в ТЗ), и оговаривайте сроки правок.
Итак, по итогам первых согласований черновик легким движением руки и напряженной работой мозга превращается в концепцию, которая вскоре сформируется в полновесное техзадание. Концепцию можно сегментировать, например, следующим образом:
• предназначение и задачи сайта;
• роли заказчика и исполнителя;
• структура сайта;
• содержание;
• краткий список сервисов и возможностей.
«Ну что за бюрократия “роли заказчика и исполнителя”!» – поморщится читатель, нетерпимый к канцелярскому языку. Тем не менее сколь скучно название раздела, столь важен он сам. К сожалению, случается, что если круг обязанностей исполнителя подробно не оговорен, то заказчик после месяца сотрудничества понимает, что создание дизайна в задачу разработчика не входит (обратное было бы странно). Или наоборот, не имея четкой договоренности относительно своих обязанностей, исполнитель ограничивается кодингом, а за верстку сайта и не думает браться.
Список разделов вы вправе изменять, расширять и сокращать исходя из своих потребностей. Помните упомянутое ранее расплывчатое пожелание анонимного заказчика: «Мне бы новостной сайт типа Lenta.ru…»? Справедливости ради необходимо отметить, что в ряде случаев на стадии обсуждения концепции допустимо или даже желательно указать, на какие интернет-проекты вы ориентируетесь, какие вам нравятся больше, а какие меньше.
Ни ваш драфт[2], ни первая версия технического задания (будь она хоть подробнее некуда) – это не «окончательная бумажка», которой вожделел профессор Преображенский в «Собачьем сердце». Почти наверняка изменения и повторные согласования понадобятся. Чем чаще и подробнее они закрепляются сперва в концепции, затем в ТЗ, тем лучше.
Маленький совет, который, мы уверены, облегчит вам жизнь и приблизит момент открытия сайта. Именовать файлы с концепцией или техническим заданием следует так, чтобы с первого взгляда становилось ясно, кто автор редакции документа и является ли она актуальной. Например, ProjectSpecification0.1.doc. Здесь Project – название проекта, Specification – тип документа (в нашем случае техзадание; это может быть и Concept – «концепция»), а первая цифра маркирует версию, отправленную исполнителю; если это 0, значит, она еще не выслана и вы шлифуете документ собственными силами. Тогда 0.2 может обозначать новую редакцию документа, сделанную вами же и никому больше не показываемую. Когда же исполнитель ответит вам, прислав документ со своими уточнениями, вы создадите с учетом его поправок и ваших собственных доработок (версии 0.2) файл под номером 1.3.
При работе над ТЗ вам не помешает попробовать себя в амплуа занудливого параноика: «Новостной блок фиксированного размера находится на главной странице вверху справа, под шапкой. В нем отображаются четыре последние добавленные новости (с возможностью закрепить с помощью админки произвольно выбранную на верхней позиции). Длина текста – до двух строк. Под каждой новостью слева внизу шрифтом на два кегля меньше того, которым набран анонс новости, указана дата в формате DD.MM.YYYY, например 15.08.2013».
2
Драфт (от англ. draft – «черновик», «предварительный план») – здесь: набросок концепции ТЗ, краткая декларация о намерениях.