RU | EN
0
icolory- продвижение сайтов

Для чего нужно техническое задание

     Применительно к веб-девелопменту техническое задание (оно же техзадание, сокра- щенно ТЗ) – это документ, который описывает требования к будущему сайту, его предполага- емые вид, составные части, устройство, функциональность и предназначение, а также регла- ментирует процесс его создания. С одной стороны, в нем фиксируются главные аспекты разработки в их логической и хронологической взаимосвязи, с другой – то, какими сред- ствами и по какому алгоритму будет достигаться цель. Попросту – что будет делаться, кем, как именно и когда. И главное – зачем.


     А нужно техническое задание по большому счету не веб-программисту и не дизайнеру. Оно нужно вам, и только вам. Ведь чей сайт по нему будет сделан? Конечно, ваш. А значит, не так страшен Word, как его малюют, и пора засучить рукава. Благо корпеть вам не над авто- рефератом диссертации и не над объяснительной запиской «начальству в зубы». Хотя авто- рефераты писать полезно ради более строгого структурирования материала в собственной голове, а объяснительная записка иногда заставляет воображение отправиться в головокру- жительный полет. Вам предстоит составить не что иное, как документ, из которого вырастет ваш сайт. Документ – это своего рода гарантия. Без него ваш интернет-магазин едва ли ста- нет золотоносной жилой, скорее, наоборот, превратится в какой-нибудь бесполезный сорняк, лишь отдаленно напоминающий торговую площадку, где даже нельзя будет добавить товар в «Корзину» без ошибки.


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


     Прежде чем обратиться к практике, следует уточнить: всегда ли писать ТЗ – прерога- тива заказчика? Смотря по обстоятельствам. Часто инициативу берет на себя исполнитель, особенно когда у клиента в голове лишь концепция в самых общих чертах («Мне бы новост- ной сайт типа Lenta.ru…» или «Хочу, чтобы было, как у Lamoda.ru, но в более строгой цвето- вой гамме и с симпатичными мопсами!»), а разработчик или аккаунт-менеджер (если выпол- нение проекта было поручено веб-студии) опытен и имеет в запасе набор гибко изменяемых типовых решений. Мы рассмотрим усредненную ситуацию, в которой вменяемый заказчик и трезво мыслящий исполнитель по очереди корректируют и дополняют документ до тех пор, пока он не будет устраивать обоих. Но представим, что в первом приближении «генплан сайта» готовите именно вы.


Последовательность действий


     За редким исключением начинать «стыковку космических модулей» (налаживание контакта «клиент – разработчик» в масштабах сайтостроительства – процесс столь же ответ- ственный) разумнее не с техзадания, а с диалога о концепции интернет-проекта, который вы замыслили. В очном ли порядке, по Skype или по e-mail – дело десятое, хотя мы все-таки рекомендуем начать с коммуникации в режиме реального времени. Вам важно донести до потенциального исполнителя, что будет представлять собой ваш сайт в целом и каким вы его видите. Так или иначе, перед ознакомительной беседой вам имеет смысл набросать тезисы будущей концепции. На бумаге или в любом текстовом редакторе.


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


     Изложите свои соображения. Например: «Сайт представляет собой каталог гитарных аккордов к популярным песням. Источники заработка – реклама и партнерские программы с онлайн-сервисами для прослушивания лицензионной музыки. Главная фишка проекта – интеллектуальный механизм распознавания песни, напеваемой посетителем в микрофон…» Правда, последняя фраза имеет смысл, если у вас скопилась энная сумма (порядок – сотни тысяч и миллионы долларов) и вам их не жалко потратить, так что будьте разумны. Мы предполагаем, что вы по меньшей мере бегло изучили ту часть интернет-рынка, в которую собираетесь выйти со своим сайтом, и объективно взвесили собственные возможности.


     После того как вы покажете набросок концепции исполнителю, самое время будет вступить с ним в диалог. Если вам встретился профессионал, то он станет тактично зада- вать наводящие вопросы по существу проекта. Скорее всего, их будет много, и вам придется М. М. Боде, А. Б. Бабаев, Н. В. Евдокимов. «Создание сайтов» 12 проявить терпение. У вас есть шанс, что называется, еще на берегу понять сильные и сла- бые стороны своего замысла. Обмениваясь мыслями с подлинным мастером веб-разработки, вы на ранней стадии можете исправить свой замысел и усовершенствовать бизнес-идею, на которой зиждется проект. Следовательно, вам нужна конструктивная дискуссия, а не одно- стороннее перечисление того, чего вы хотите или что умеет исполнитель.


     Вставим небольшую ремарку к теме человеческого фактора: поскольку телепатическая функциональность по досадному недоразумению пока не прошита в мозгу каждого инди- видуума на Земле, недопонимания в любой коммуникации неизбежны. Поэтому, когда вам кажется, что слова вашего собеседника могут быть истолкованы двояко, или вы даже не догадываетесь, о чем он говорит («Раз сервер у вас в Воронеже, а торговать вы собираетесь на всю Россию, вам надо будет прикрутить CDN. Ну и архитектуру спроектировать надеж- ную»), не стесняйтесь переспрашивать и добиваться точных, прозрачных формулировок.


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


     Постепенно от общего переходите к частному. Обязательно спросите потенциального исполнителя: «Какими программными средствами вы планируете пользоваться, чтобы реа- лизовать проект?» Хотя звучит эта фраза, как в анекдоте: «Рядовой Кузнецов, повторите, что вы сказали, после того как ваш сослуживец уронил бочку с солидолом вам на ногу?» – «Товарищ майор, я ответил, не нарушая устава: “Иванов, ввиду своей близорукости вы нанесли мне физический ущерб, прошу не усугублять его”». В реальности общение будет примерно таким:

               – А на чем вы думаете написать мой сайт? Что предпочтительно?

               – На PHP 5.5 в связке с MySQL. Сервер – nginx.

               – Почему именно nginx? Мне советовали Apache.

               – Нельзя сказать, какой сервер объективно лучше. Каждый имеет свои достоинства. У нашей студии семь сайтов, похожих на ваш, были сделаны на nginx, так что схема прекрасно отработана. Мы гарантируем, что от nginx вашему проекту будет только польза.

               – Ладно. Есть ли какие-то особые требования к хостингу?

               – А у вас сейчас есть хостинг? Или будете покупать его исходя из наших рекомендаций?


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


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

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

               • предназначение и задачи сайта;

               • роли заказчика и исполнителя;

               • структура сайта;

               • содержание;

               • краткий список сервисов и возможностей.


     «Ну что за бюрократия “роли заказчика и исполнителя”!» – поморщится читатель, нетерпимый к канцелярскому языку. Тем не менее сколь скучно название раздела, столь М. М. Боде, А. Б. Бабаев, Н. В. Евдокимов. «Создание сайтов» 13 важен он сам. К сожалению, случается, что если круг обязанностей исполнителя подробно не оговорен, то заказчик после месяца сотрудничества понимает, что создание дизайна в задачу разработчика не входит (обратное было бы странно). Или наоборот, не имея четкой договоренности относительно своих обязанностей, исполнитель ограничивается кодингом, а за верстку сайта и не думает браться.


     Список разделов вы вправе изменять, расширять и сокращать исходя из своих потреб- ностей. Помните упомянутое ранее расплывчатое пожелание анонимного заказчика: «Мне бы новостной сайт типа Lenta.ru…»? Справедливости ради необходимо отметить, что в ряде случаев на стадии обсуждения концепции допустимо или даже желательно указать, на какие интернет-проекты вы ориентируетесь, какие вам нравятся больше, а какие меньше. Ни ваш драфт2 , ни первая версия технического задания (будь она хоть подробнее некуда) – это не «окончательная бумажка», которой вожделел профессор Преображенский в «Собачьем сердце». Почти наверняка изменения и повторные согласования понадобятся. Чем чаще и подробнее они закрепляются сперва в концепции, затем в ТЗ, тем лучше.


     Маленький совет, который, мы уверены, облегчит вам жизнь и приблизит момент открытия сайта. Именовать файлы с концепцией или техническим заданием следует так, чтобы с первого взгляда становилось ясно, кто автор редакции документа и является ли она актуальной. Например, ProjectSpecification0.1.doc. Здесь Project – название проекта, Specification – тип документа (в нашем случае техзадание; это может быть и Concept – «кон- цепция»), а первая цифра маркирует версию, отправленную исполнителю; если это 0, значит, она еще не выслана и вы шлифуете документ собственными силами. Тогда 0.2 может обо- значать новую редакцию документа, сделанную вами же и никому больше не показываемую. Когда же исполнитель ответит вам, прислав документ со своими уточнениями, вы создадите с учетом его поправок и ваших собственных доработок (версии 0.2) файл под номером 1.3.


     При работе над ТЗ вам не помешает попробовать себя в амплуа занудливого параноика: «Новостной блок фиксированного размера находится на главной странице вверху справа, под шапкой. В нем отображаются четыре последние добавленные новости (с возможностью закрепить с помощью админки произвольно выбранную на верхней позиции). Длина текста – до двух строк. Под каждой новостью слева внизу шрифтом на два кегля меньше того, кото- рым набран анонс новости, указана дата в формате DD.MM.YYYY, например 15.08.2013».


     Пишущий такие формулировки в техническом задании не «человек дождя», хотя, оче- видно, впадает в крайность. Он не страдает аутизмом, и если болеет, то лишь за успех интер- нет-проекта. Смотрите сами, готовы ли вы вообразить будущий сайт настолько подробно или лучше такие мелкие подробности закреплять постепенно с каждой новой версией доку- мента. Между прочим, нередко графический эскиз страницы гораздо красноречивее текста (см. далее в подразделе «Как оно выглядит»).



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


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

               • Термины и определения.

               • Назначение технического задания.

               • Обязанности исполнителя и заказчика.

               • Назначение и задачи сайта.

               • Описание работы сервиса и механики сайта.

               • Структура сайта и его составляющие.

               • Дизайн сайта.

               • Требования к технической и программной реализации сайта.

               • Условия сдачи и приемки.

     

     Критически важно, чтобы из технического задания явствовали объективные критерии того, выполнена та или иная задача или нет. Недвусмысленность формулировок заранее отсекает риск многих претензий и разочарований как со стороны заказчика, так и со стороны исполнителя.

     Никто не отменял каверзных законов Мерфи: если возможны разночтения, с высо- кой долей вероятности будет выбрано большее из зол. Гладко было на бумаге, да забыли про овраги. А также про тектонические трещины, вблизи которых сейсмическая активность столь сильна, что, вероятно, скоро никаких оврагов не будет. И про то, что овраги заодно с полями и лесами находятся в частной собственности. Вообще попробуйте отнестись к ТЗ как к брачному контракту. Вам ведь со своим сай- том потом жить и жить.