Страница:
Анар Бабаев, Николай Евдокимов, Михаил Боде
Создание сайтов
Технический редактор Е. Семенова
Литературные редакторы О. Журавлева, Е. Семенова
Художник Л. Адуевская
Корректоры О. Андросик, И. Мивриньш
Верстка Л. Соловьева
© ООО Издательство "Питер", 2014
Все права защищены. Никакая часть электронной версии этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами, включая размещение в сети Интернет и в корпоративных сетях, для частного и публичного использования без письменного разрешения владельца авторских прав.
© Электронная версия книги подготовлена компанией ЛитРес ()
Литературные редакторы О. Журавлева, Е. Семенова
Художник Л. Адуевская
Корректоры О. Андросик, И. Мивриньш
Верстка Л. Соловьева
© ООО Издательство "Питер", 2014
Все права защищены. Никакая часть электронной версии этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами, включая размещение в сети Интернет и в корпоративных сетях, для частного и публичного использования без письменного разрешения владельца авторских прав.
© Электронная версия книги подготовлена компанией ЛитРес ()
«Кнопка Бабло» и «Контекстная реклама. Учебник». Соавтор следующих инструментов и сервисов: конструктор сайтов Setup.ru, сайт знакомств нового поколения Lovetime.com, модуль управления контекстной рекламой в системе SeoPult. Автор семинаров по интернет-маркетингу, Докладчик многих отраслевых конференций. Занимается освоением и практическим применением новых технологий в рекламе.
Николай Евдокимов – интернет-предприниматель, директор по развитию компании AppInTop, стратегический директор и сооснователь SeoPult. В 2004 году открыл компанию «Лаборатория контента». В 2006 году стал сооснователем интернет-холдинга Unmedia. В 2009 году запустил автоматизированную систему поискового продвижения SeoPult. В 2013 году стал директором по развитию компании AppInTop. Является соавтором книг «Контекстная реклама. Учебник», «Раскрутка. Секреты эффективного продвижения сайтов».
Михаил Боде – журналист, редактор. В 2003–2004 годах – выпускающий редактор интернет-издания «ВебИнформ». Впоследствии работал в журналах Upgrade и «Секрет фирмы», онлайн-издании Drive.ru, сотрудничал с ИД «Манн, Иванов и Фербер». В 2010–2012 годах – редактор программы «Рунетология», соавтор и редактор программы «Рунет сегодня» на «Финам FM». С 2012 года – главный редактор онлайн-телеканала SeoPult.TV. Соавтор книги «Раскрутка. Секреты эффективного продвижения сайтов».
Алексей Трошин – эксперт по веб-разработке и интернет-маркетингу. Первый коммерческий сайт создал в 2002 году, первый интернет-магазин вывел в плюс в 2005-м, участвовал в развитии крупнейших порталов Рунета: «Авто. ру» и «Банки. ру», создавал первый российский интернет-магазин, вышедший на IPO, – «Ютинет. ру», участвовал в развитии SaaS-системы управления задачами «Мегаплан». Занимал пост директора по развитию системы Setup.ru. Профессионал в области гибкой разработки программного обеспечения.
Анастасия Андреева – специалист по юзабилити. Работала над сайтами Rabota.ru и Joblist.ru. Аналитик и разработчик интерфейсов в ряде проектов, включая центр дистанционного обучения Xerox, сайты Группы ВТБ, Юниаструм-банка и Олимпиады в Сочи – 2014, мобильные приложения для платежной системы Wellpay! Аналитик и консультант по юзабилити в проектах разной тематики. Специализируется на нестандартных задачах, аудитории. Вела рассылку Setup.ru.
Алексей Пучков – руководитель Setup.ru. Первый сайт создал в 1997 году. С тех пор профессионально занимается интернет-проектами. Имеет более 50 успешно реализованных проектов. Работал в крупнейших интернет-холдингах Рунета, владел собственным онлайн-бизнесом. В настоящее время – руководитель проекта Setup.ru.
Константин Козлов – руководитель техподдержки Setup.ru.
Олеся Егозина – руководитель отдела тестирования Setup.ru.
Особую благодарность выражаем Анастасии Подгорновой – художнику, автору обложки.
Предисловие. Для кого эта книга и какая от нее польза
В названии нашей книги кроется легкая провокация. Казалось бы, если создание сайта – это просто, зачем одни люди готовят и выпускают огромные бумажные «кирпичи», в которых досконально разбираются технологии веб-разработки, а другие охотно покупают эти фолианты? Уж не хотим ли мы сказать, что наше практическое руководство, притом не самое толстое, одним махом побьет все прочие издания той же тематики, включая энциклопедические? Ни в коем случае. Но соль в том, что львиная доля книг в секциях «Компьютеры и Интернет» не про то, как открыть сайт.
Вы сейчас находитесь в книжном магазине? Зайдите в отдел «Строительство и ремонт» или «Дизайн». Или, если сидите за компьютером, откройте сайт Ozon.ru и загляните в соответствующую рубрику. Полистайте одно издание, другое, третье. Едва ли хоть в одном из них вы найдете подробную инструкцию о том, как стать маляром, штукатуром или каменщиком. Большей частью даже справочная литература, за вычетом малотиражной узкоспециализированной, не содержит таких рекомендаций. Вы прочтете про выбор материалов, про то, как работать с архитектурным планом, как развить свой вкус, чувство стиля, но не про «курс молодого кровельщика». Зато в отделе компьютерной и околокомпьютерной литературы сплошь конкретика: учебники по языкам программирования PHP, JavaScript, Perl, по серверным технологиям, по графическим редакторам Photoshop и Adobe Illustrator. Впору впасть в эйфорию: бери да учись, делай все сам – пошаговые инструкции прилагаются. Однако, как ни парадоксально, благодаря полученной информации велик риск оказаться в ловушке. Вы покупаете очередной «самоучитель PHP» и вдруг по вскользь оброненным словам автора понимаете, что неплохо бы овладеть искусством настройки сервера – нужны еще одна-две книги. Потом, как оказывается, надо изучить веб-верстку, стандарты HTML5, таблицы CSS3. И наконец, вы осознаете, что штудировать надо было не PHP, а, скажем, Ruby. Да и теория объектно-ориентированного программирования не помешает. А к созданию сайта приступить так и не удалось: знания еще не капитальные и столько всего нужно усвоить.
Если вы не подросток с большим количеством свободного времени и у вас есть постоянная работа в сфере, отличной от программирования и дизайна, спустя сколько-то месяцев вы с удивлением обнаружите себя в положении вечного студента: изучение теоретической премудрости ни на полшага не приблизит вас к запуску своего проекта в Сети. Покупать все эти талмуды в конечном счете имеет смысл только в двух случаях: при условии, что вы решили на досуге расширить свой кругозор или же задумали стать профессионалом в веб-разработке и делать сайты для других. Погрязая в трясине технической информации, вы скорее отдаляетесь от цели. Спору нет, терпеливый человек с развитым интеллектом постепенно, года за два-три, овладеет азами (только азами!) веб-разработки, хотя книг ему будет мало: понадобятся консультации у более опытных коллег, скрупулезный анализ чужого программного кода и т. д. А без наставника вдобавок легко наломать дров и изучить уйму лишнего. Но, скорее всего, сайт вам нужен сейчас. Или по меньшей мере в обозримом будущем. Уж точно не через два года. Как же быть?
Секрета никакого нет. Для того чтобы создать сайт, нужны не технические навыки, а управленческие. Сайтостроительство в его современном виде – это давно не забава «сделай все сам», а комплекс разнородных работ, которые, во всяком случае для новичка, неподъемны. Но если знать, какие действия входят в цикл веб-разработки, и понимать критерии, определяющие качество выполнения задач, и разбираться в том, какое дело кому поручить, цель становится достижимой. Ваша задача – грамотно координировать действия исполнителей, каждый из которых будет профи в своем деле, и, видя картину в комплексе, выдерживать общую линию. Разумеется, воображение и смекалка вам тоже понадобятся: чтобы сделать красивый, простой и при этом затягивающе привлекательный сайт, нужно знать фундаментальные принципы веб-разработки, но куда важнее интеллект и здравый смысл.
По большому счету вам будет достаточно и одной лишь нашей книги, чтобы понять, как запустить свой первый сайт. Но если вы захотите углубиться в веб-разработку, то рекомендуем вам методично изучать те книги и статьи, которые мы будем упоминать в дальнейшем – фактически в каждой главе.
Так насколько же легко создать сайт? К сожалению или, наоборот, к счастью, нельзя получить его так же, как раздобыл пожитки и транспортное средство Терминатор, сказав первому встречному: «Мне нужна твоя одежда и мотоцикл». Но между тем работы над веб-проектом легко алгоритмизируются и раскладываются на стадии. Для простоты и наглядности мы будем разбираться с созданием интернет-ресурса в хронологической последовательности: с чего начинать, куда двигаться дальше – ступенька за ступенькой. Однако прежде чем браться за дело, советуем вам дочитать нашу книгу до конца, чтобы вы, еще лишь фантазируя о функциональности будущего сайта, держали в голове все сопряженные с веб-разработкой риски и возможности. Возможно, вы раньше участвовали в создании сайта на каком-то этапе. Например, приложили руку к прототипированию, или тестировали интерфейсы, или придумывали новые фишки, или искали программистов и дизайнеров на проект. Все равно постарайтесь не пропускать главы: надеемся, даже в тех вопросах, в которых вы неплохо ориентируетесь, мы сумеем пополнить ваш багаж знаний.
В первом разделе «Дело техники» рассматриваются подготовительные работы к грядущей «интернет-стройке», этапы планирования и выбора подрядчиков: как продумывать функциональность сайта, что входит в техническое задание на его разработку, какие люди понадобятся для реализации проекта и т. д. Дальше в блоке «Форма и содержание» мы предметно разбираемся с тем, что будет у сайта внутри: от текстового контента до проектирования интерфейсов, от дизайна до дополнительных сторонних модулей. Следующий раздел «Риски и возможности» посвящен вводу вашей будущей площадки в более широкий контекст: понадобится ли вам мобильное приложение или хватит мобильной версии, каким образом защитить сайт от внешних угроз, как увязать интернет-представительство компании с ее реальными бизнес-процессами. Наконец, блок «Продвижение сайта» рассказывает о том, как «оживить» площадку, наполнив ее аудиторией.
Для восприятия текста не требуется технических навыков. Термины и понятия, обойтись без которых никак нельзя, мы по мере сил расшифровываем сразу же, в тексте, или приводим ссылки на источники, в которых сложные темы растолкованы доступным языком. И главное, в книге нет длиннющих «простыней» с программным кодом. Не то чтобы мы намеренно задались целью отказаться от цитирования скриптов и команд (например, кое-где мы все-таки упоминаем теги), как знаменитый ученый и популяризатор науки Уильям Хокинг в своей «Краткой истории времени» решил обойтись без математических формул. Мы постарались сделать так, чтобы они были просто не нужны в повествовании: положа руку на сердце, признаем, что человеку, не являющемуся профессиональным веб-мастером или программистом, такие пассажи не дают толком ничего, кроме сладкого чувства причастности к высокой IT-кухне либо, напротив, грустного недоумения. Помимо всего прочего, технологии имеют свойство устаревать. Ну а методы планирования и управления командами меняются медленнее.
Рассчитана наша книга на всех, кому нужен сайт, но кто не имеет богатого опыта в запуске интернет-проектов. Она в равной степени подходит для предпринимателя, осваивающего Сеть маркетолога или начинающего веб-мастера. Владелец бизнеса, например, с ее помощью лучше поймет, как вести дела в Интернете и как обращаться с онлайн-аудиторией, а маркетолог повысит свою квалификацию и расширит доступный ему арсенал инструментами, которые эффективны в цифровых средах. Да и тому, кто захотел открыть отдельный личный блог, возможно некоммерческий, издание будет не менее полезно.
Кстати, пусть даже вы вознамерились освоить одно из ремесел веб-разработки во всех его тонкостях, начать эту эпическую историю лучше c панорамного обзора, чтобы понять, из чего вообще состоит разработка сайта. Да и точкой отсчета в карьере интернет-продюсера или веб-программиста, смеем надеяться, наша книга способна послужить. Итак, начинаем движение.
Вы сейчас находитесь в книжном магазине? Зайдите в отдел «Строительство и ремонт» или «Дизайн». Или, если сидите за компьютером, откройте сайт Ozon.ru и загляните в соответствующую рубрику. Полистайте одно издание, другое, третье. Едва ли хоть в одном из них вы найдете подробную инструкцию о том, как стать маляром, штукатуром или каменщиком. Большей частью даже справочная литература, за вычетом малотиражной узкоспециализированной, не содержит таких рекомендаций. Вы прочтете про выбор материалов, про то, как работать с архитектурным планом, как развить свой вкус, чувство стиля, но не про «курс молодого кровельщика». Зато в отделе компьютерной и околокомпьютерной литературы сплошь конкретика: учебники по языкам программирования PHP, JavaScript, Perl, по серверным технологиям, по графическим редакторам Photoshop и Adobe Illustrator. Впору впасть в эйфорию: бери да учись, делай все сам – пошаговые инструкции прилагаются. Однако, как ни парадоксально, благодаря полученной информации велик риск оказаться в ловушке. Вы покупаете очередной «самоучитель PHP» и вдруг по вскользь оброненным словам автора понимаете, что неплохо бы овладеть искусством настройки сервера – нужны еще одна-две книги. Потом, как оказывается, надо изучить веб-верстку, стандарты HTML5, таблицы CSS3. И наконец, вы осознаете, что штудировать надо было не PHP, а, скажем, Ruby. Да и теория объектно-ориентированного программирования не помешает. А к созданию сайта приступить так и не удалось: знания еще не капитальные и столько всего нужно усвоить.
Если вы не подросток с большим количеством свободного времени и у вас есть постоянная работа в сфере, отличной от программирования и дизайна, спустя сколько-то месяцев вы с удивлением обнаружите себя в положении вечного студента: изучение теоретической премудрости ни на полшага не приблизит вас к запуску своего проекта в Сети. Покупать все эти талмуды в конечном счете имеет смысл только в двух случаях: при условии, что вы решили на досуге расширить свой кругозор или же задумали стать профессионалом в веб-разработке и делать сайты для других. Погрязая в трясине технической информации, вы скорее отдаляетесь от цели. Спору нет, терпеливый человек с развитым интеллектом постепенно, года за два-три, овладеет азами (только азами!) веб-разработки, хотя книг ему будет мало: понадобятся консультации у более опытных коллег, скрупулезный анализ чужого программного кода и т. д. А без наставника вдобавок легко наломать дров и изучить уйму лишнего. Но, скорее всего, сайт вам нужен сейчас. Или по меньшей мере в обозримом будущем. Уж точно не через два года. Как же быть?
Секрета никакого нет. Для того чтобы создать сайт, нужны не технические навыки, а управленческие. Сайтостроительство в его современном виде – это давно не забава «сделай все сам», а комплекс разнородных работ, которые, во всяком случае для новичка, неподъемны. Но если знать, какие действия входят в цикл веб-разработки, и понимать критерии, определяющие качество выполнения задач, и разбираться в том, какое дело кому поручить, цель становится достижимой. Ваша задача – грамотно координировать действия исполнителей, каждый из которых будет профи в своем деле, и, видя картину в комплексе, выдерживать общую линию. Разумеется, воображение и смекалка вам тоже понадобятся: чтобы сделать красивый, простой и при этом затягивающе привлекательный сайт, нужно знать фундаментальные принципы веб-разработки, но куда важнее интеллект и здравый смысл.
По большому счету вам будет достаточно и одной лишь нашей книги, чтобы понять, как запустить свой первый сайт. Но если вы захотите углубиться в веб-разработку, то рекомендуем вам методично изучать те книги и статьи, которые мы будем упоминать в дальнейшем – фактически в каждой главе.
Так насколько же легко создать сайт? К сожалению или, наоборот, к счастью, нельзя получить его так же, как раздобыл пожитки и транспортное средство Терминатор, сказав первому встречному: «Мне нужна твоя одежда и мотоцикл». Но между тем работы над веб-проектом легко алгоритмизируются и раскладываются на стадии. Для простоты и наглядности мы будем разбираться с созданием интернет-ресурса в хронологической последовательности: с чего начинать, куда двигаться дальше – ступенька за ступенькой. Однако прежде чем браться за дело, советуем вам дочитать нашу книгу до конца, чтобы вы, еще лишь фантазируя о функциональности будущего сайта, держали в голове все сопряженные с веб-разработкой риски и возможности. Возможно, вы раньше участвовали в создании сайта на каком-то этапе. Например, приложили руку к прототипированию, или тестировали интерфейсы, или придумывали новые фишки, или искали программистов и дизайнеров на проект. Все равно постарайтесь не пропускать главы: надеемся, даже в тех вопросах, в которых вы неплохо ориентируетесь, мы сумеем пополнить ваш багаж знаний.
В первом разделе «Дело техники» рассматриваются подготовительные работы к грядущей «интернет-стройке», этапы планирования и выбора подрядчиков: как продумывать функциональность сайта, что входит в техническое задание на его разработку, какие люди понадобятся для реализации проекта и т. д. Дальше в блоке «Форма и содержание» мы предметно разбираемся с тем, что будет у сайта внутри: от текстового контента до проектирования интерфейсов, от дизайна до дополнительных сторонних модулей. Следующий раздел «Риски и возможности» посвящен вводу вашей будущей площадки в более широкий контекст: понадобится ли вам мобильное приложение или хватит мобильной версии, каким образом защитить сайт от внешних угроз, как увязать интернет-представительство компании с ее реальными бизнес-процессами. Наконец, блок «Продвижение сайта» рассказывает о том, как «оживить» площадку, наполнив ее аудиторией.
Для восприятия текста не требуется технических навыков. Термины и понятия, обойтись без которых никак нельзя, мы по мере сил расшифровываем сразу же, в тексте, или приводим ссылки на источники, в которых сложные темы растолкованы доступным языком. И главное, в книге нет длиннющих «простыней» с программным кодом. Не то чтобы мы намеренно задались целью отказаться от цитирования скриптов и команд (например, кое-где мы все-таки упоминаем теги), как знаменитый ученый и популяризатор науки Уильям Хокинг в своей «Краткой истории времени» решил обойтись без математических формул. Мы постарались сделать так, чтобы они были просто не нужны в повествовании: положа руку на сердце, признаем, что человеку, не являющемуся профессиональным веб-мастером или программистом, такие пассажи не дают толком ничего, кроме сладкого чувства причастности к высокой IT-кухне либо, напротив, грустного недоумения. Помимо всего прочего, технологии имеют свойство устаревать. Ну а методы планирования и управления командами меняются медленнее.
Рассчитана наша книга на всех, кому нужен сайт, но кто не имеет богатого опыта в запуске интернет-проектов. Она в равной степени подходит для предпринимателя, осваивающего Сеть маркетолога или начинающего веб-мастера. Владелец бизнеса, например, с ее помощью лучше поймет, как вести дела в Интернете и как обращаться с онлайн-аудиторией, а маркетолог повысит свою квалификацию и расширит доступный ему арсенал инструментами, которые эффективны в цифровых средах. Да и тому, кто захотел открыть отдельный личный блог, возможно некоммерческий, издание будет не менее полезно.
Кстати, пусть даже вы вознамерились освоить одно из ремесел веб-разработки во всех его тонкостях, начать эту эпическую историю лучше c панорамного обзора, чтобы понять, из чего вообще состоит разработка сайта. Да и точкой отсчета в карьере интернет-продюсера или веб-программиста, смеем надеяться, наша книга способна послужить. Итак, начинаем движение.
Дело техники
Глава 1. Техзадание: последний раз себя спрашиваю!
Вы задумали сделать сайт (а раз купили нашу книгу, то наверняка решили окончательно). Поняли, для достижения каких целей он вам необходим. Выкроили в своем графике время под проект и попытались подсчитать, во сколько приблизительно он вам обойдется. Вдохновились демотиваторами на тему онлайн-бизнеса в социальной сети «ВКонтакте». Меланхолично пролистали в книжном магазине пухлые самоучители по JavaScript и PHP и укрепились в мысли, что своими руками станете ваять код как-нибудь в другой раз, не раньше, чем назреет потребность открыть четвертый-пятый интернет-ресурс. Не исключено, что вы даже подыскали дизайнера и программиста-фрилансера или присмотрели веб-студию, которая обещает сделать все под ключ. Но пусть даже вы сами готовы сесть штудировать языки веб-программирования и учиться настройке серверов – советуем подождать. Приглашать на работу программистов тоже рано. В случае с тонким ремеслом сайтостроения девиз «Ввяжемся в драку, а там посмотрим» хорош лишь при условии, что за блицкригом скрыт глубокий стратегический расчет, вербализация которого потребует не одного лишь залихватского «ввяжемся», а сотен слов и, возможно, десятков иллюстраций. Зато при должном планировании после драки не придется махать кулаками. Разберемся, как это планирование осуществляется, медицински выражаясь, «в норме».
Для чего нужно техническое задание
Применительно к веб-девелопменту[1] техническое задание (оно же техзадание, сокращенно ТЗ) – это документ, который описывает требования к будущему сайту, его предполагаемые вид, составные части, устройство, функциональность и предназначение, а также регламентирует процесс его создания. С одной стороны, в нем фиксируются главные аспекты разработки в их логической и хронологической взаимосвязи, с другой – то, какими средствами и по какому алгоритму будет достигаться цель. Попросту – что будет делаться, кем, как именно и когда. И главное – зачем.
А нужно техническое задание по большому счету не веб-программисту и не дизайнеру. Оно нужно вам, и только вам. Ведь чей сайт по нему будет сделан? Конечно, ваш. А значит, не так страшен Word, как его малюют, и пора засучить рукава. Благо корпеть вам не над авторефератом диссертации и не над объяснительной запиской «начальству в зубы». Хотя авторефераты писать полезно ради более строгого структурирования материала в собственной голове, а объяснительная записка иногда заставляет воображение отправиться в головокружительный полет. Вам предстоит составить не что иное, как документ, из которого вырастет ваш сайт. Документ – это своего рода гарантия. Без него ваш интернет-магазин едва ли станет золотоносной жилой, скорее, наоборот, превратится в какой-нибудь бесполезный сорняк, лишь отдаленно напоминающий торговую площадку, где даже нельзя будет добавить товар в «Корзину» без ошибки.
Составление технического задания вопреки стереотипу – не подготовительный этап в создании интернет-проекта. Это самая настоящая работа, скрупулезная, требующая вдумчивости и терпения не меньше, чем программирование и верстка. Первичная проектная документация, напомним, нужна не кому-нибудь, а вам, однако смысл ее в том, чтобы четко сформулировать ваши идеи и желания и сопоставить их с возможностями подрядчика.
Прежде чем обратиться к практике, следует уточнить: всегда ли писать ТЗ – прерогатива заказчика? Смотря по обстоятельствам. Часто инициативу берет на себя исполнитель, особенно когда у клиента в голове лишь концепция в самых общих чертах («Мне бы новостной сайт типа Lenta.ru…» или «Хочу, чтобы было, как у Lamoda.ru, но в более строгой цветовой гамме и с симпатичными мопсами!»), а разработчик или аккаунт-менеджер (если выполнение проекта было поручено веб-студии) опытен и имеет в запасе набор гибко изменяемых типовых решений. Мы рассмотрим усредненную ситуацию, в которой вменяемый заказчик и трезво мыслящий исполнитель по очереди корректируют и дополняют документ до тех пор, пока он не будет устраивать обоих. Но представим, что в первом приближении «генплан сайта» готовите именно вы.
А нужно техническое задание по большому счету не веб-программисту и не дизайнеру. Оно нужно вам, и только вам. Ведь чей сайт по нему будет сделан? Конечно, ваш. А значит, не так страшен Word, как его малюют, и пора засучить рукава. Благо корпеть вам не над авторефератом диссертации и не над объяснительной запиской «начальству в зубы». Хотя авторефераты писать полезно ради более строгого структурирования материала в собственной голове, а объяснительная записка иногда заставляет воображение отправиться в головокружительный полет. Вам предстоит составить не что иное, как документ, из которого вырастет ваш сайт. Документ – это своего рода гарантия. Без него ваш интернет-магазин едва ли станет золотоносной жилой, скорее, наоборот, превратится в какой-нибудь бесполезный сорняк, лишь отдаленно напоминающий торговую площадку, где даже нельзя будет добавить товар в «Корзину» без ошибки.
Составление технического задания вопреки стереотипу – не подготовительный этап в создании интернет-проекта. Это самая настоящая работа, скрупулезная, требующая вдумчивости и терпения не меньше, чем программирование и верстка. Первичная проектная документация, напомним, нужна не кому-нибудь, а вам, однако смысл ее в том, чтобы четко сформулировать ваши идеи и желания и сопоставить их с возможностями подрядчика.
Прежде чем обратиться к практике, следует уточнить: всегда ли писать ТЗ – прерогатива заказчика? Смотря по обстоятельствам. Часто инициативу берет на себя исполнитель, особенно когда у клиента в голове лишь концепция в самых общих чертах («Мне бы новостной сайт типа Lenta.ru…» или «Хочу, чтобы было, как у Lamoda.ru, но в более строгой цветовой гамме и с симпатичными мопсами!»), а разработчик или аккаунт-менеджер (если выполнение проекта было поручено веб-студии) опытен и имеет в запасе набор гибко изменяемых типовых решений. Мы рассмотрим усредненную ситуацию, в которой вменяемый заказчик и трезво мыслящий исполнитель по очереди корректируют и дополняют документ до тех пор, пока он не будет устраивать обоих. Но представим, что в первом приближении «генплан сайта» готовите именно вы.
Обратите внимание
Техническое задание на создание сайта имеет юридическую силу не в отдельности, а как приложение к договору на оказание услуг.
Последовательность действий
За редким исключением начинать «стыковку космических модулей» (налаживание контакта «клиент – разработчик» в масштабах сайтостроительства – процесс столь же ответственный) разумнее не с техзадания, а с диалога о концепции интернет-проекта, который вы замыслили. В очном ли порядке, по 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».
Да, первый кирпичик в здании сайта – это концепция, а не пункт 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».