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

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

   Едва ли не главное для технического задания (после смыслового наполнения, конечно) – четкая структура и простое, понятное форматирование. В конечном счете ТЗ должно представлять собой доработанную и обросшую деталями концепцию, в идеале – вплоть до внешнего вида и механики работы страницы каждого типа в отдельности. Возможна следующая рубрикация ТЗ.
   • Термины и определения.
   • Назначение технического задания.
   • Обязанности исполнителя и заказчика.
   • Назначение и задачи сайта.
   • Описание работы сервиса и механики сайта.
   • Структура сайта и его составляющие.
   • Дизайн сайта.
   • Требования к технической и программной реализации сайта.
   • Условия сдачи и приемки.
 
   Критически важно, чтобы из технического задания явствовали объективные критерии того, выполнена та или иная задача или нет. Недвусмысленность формулировок заранее отсекает риск многих претензий и разочарований как со стороны заказчика, так и со стороны исполнителя.
   Никто не отменял каверзных законов Мерфи: если возможны разночтения, с высокой долей вероятности будет выбрано большее из зол. Гладко было на бумаге, да забыли про овраги. А также про тектонические трещины, вблизи которых сейсмическая активность столь сильна, что, вероятно, скоро никаких оврагов не будет. И про то, что овраги заодно с полями и лесами находятся в частной собственности.
   Вообще попробуйте отнестись к ТЗ как к брачному контракту. Вам ведь со своим сайтом потом жить и жить.

Как оно выглядит

   Форма подачи информации в техническом задании остается на ваше усмотрение и зависит от того, кто ваш подрядчик и каков его опыт, насколько сложна внутренняя логика сайта, делаются ли в одной фирме дизайн, программирование и верстка или нет. Существуют отраслевые стандарты по составлению ТЗ, включая предписываемый IEEE[3]. Кроме того, простите за грубость, в интернет-фольклоре есть «правило 34», которое звучит так: «Про это есть порно». Так вот, можно было бы сформулировать и «правило 34.1»: «Про это есть ГОСТ». И по формату техзадания на разработку сайта ГОСТ имеется, и номер его – 34.602-89.
   Разумным решением будет попробовать использовать шаблоны ТЗ на разработку сайта, которые легко найти в Интернете, и если рамки исходного образца окажутся вам тесны, то творчески его переработать. Можно продумать структуру документа и самому, исходя лишь из здравого смысла и опираясь на наши рекомендации.
   Визуализацию в техзадании использовать крайне желательно (рис. 1). Это может быть нарисованная в любом графическом редакторе блок-схема, отображающая модули так, как они должны быть расположены на той или иной веб-странице. Как в театре шекспировской эпохи, когда в отсутствие декораций прислужники выносили на сцену особые таблички – титлы, призванные обозначить место действия: «Лес», «Тронная зала». В нашем случае – «Шапка», «Форма поиска» и т. д.
   Рис. 1. Техническое задание на редизайн портала Banki.ru, реализованное в доступной графической форме – с использованием стикеров
 
   Самый наглядный, но, к сожалению, едва ли не утопический вариант – подробный, с зачатками дизайна, эскиз страницы каждого типа (например, в случае с интернет-магазином – титульная страница, страница продуктовой категории, страницы отдельных товаров, «Корзина» и пр.). Он обладает существенными преимуществами, однако требует владения графическими редакторами – как правило, подразумевается Photoshop, – по крайней мере на любительском уровне. Почему этот вариант скорее утопический? Потому что редкий заказчик располагает глубокими познаниями в проектировании интерфейсов и вместе с тем, пусть даже он собаку съел на веб-проектах, не навязывает дизайнеру свое художественное видение, а лишь указывает ему реперные точки.
   Комплексное, наглядное представление сайта также обеспечивают mind maps – дословно «ассоциативные карты» (рис. 2). Эта техника позволяет отобразить проект в виде древовидной схемы, на которой каждому элементу (понятию, модулю) соответствует блок, причем в одном блоке не должно быть больше трех-четырех слов. Ассоциативные карты помогают с легкостью обнаруживать логические противоречия там, где при сопоставлении отдельных эскизов страниц это заняло бы часы, и смотреть на план сайта «с высоты птичьего полета».
   Понять, эффективны ли механизмы сайта «вживую», дает возможность его прототип – макет той или иной степени интерактивности (см. главу 2 «Создание прототипа: анатомия сайта»). Для сборки таких «боевых моделей» предназначен целый арсенал инструментов, в том числе онлайновых, например зарубежный Balsamiq.com и российский Guimachine.ru.
   Рис. 2. Mind map на проектирование сайта
 
   Составляя техническое задание, обсуждая отдельные его пункты с исполнителем, вы действительно, как отмечено в названии главы, в последний раз спрашиваете себя, чего вы хотите от сайта и какие возможности должны быть заложены в его фундамент.
   Исключительно ваш сознательный выбор на стадии подготовки ТЗ определяет, легче или сложнее вам будет дальше.

http://habrahabr.ru/post/138749/

Глава 2. Создание прототипа: анатомия сайта

   Допустим, концепция вашего интернет-проекта в общих чертах согласована с исполнителем. Логично, что необходимы чертежи, по которым она будет претворена в жизнь. В том числе чертежи почти в буквальном смысле слова. А теперь перейдем к знакомству с прототипом. Именно с него начинается архитектура сайта.

Что такое прототип

   В нашем случае прототипом является набор логически связанных между собой схем веб-страниц, в своей совокупности демонстрирующих структуру и механику работы сайта. Это его «муляж», степень детализации которого варьируется в широких пределах: от скупого карандашного наброска на листе формата A4 до комплекта файлов с расширением. psd (формат Photoshop) с натянутым на каркас интерфейса дизайном, а вернее – «протодизайном». Или своего рода «анатомическая карта» – тело сайта в разрезе, показывающем, где какой сустав сгибается и за счет каких сухожилий и мускулов.
   Оговоримся: прототипируют не только сайты, но и, например, мобильные приложения, игры для социальных сетей, интранет-порталы. Да, в общем-то, любое программное обеспечение, какое только существует в Интернете. Однако в данный момент мы сосредоточены на сайте.

Кому нужны прототипы

   Прототипы полезны всем сторонам, участвующим в разработке сайта. Каждому по-своему.
   Заказчик легко считывает с макета, как его пожелания и требования воплощаются в графической форме. Также ему не составит труда сделать поправки к прототипу, указав, куда именно, по его мнению, закралась ошибка и вообще «что не так». А пока не нарисован дизайн и не открыта программистская страда, суровая и беспощадная, изменения даются менее болезненно.
   Команда проекта с помощью прототипа лучше согласует свои действия. Еще бы: у каждого перед глазами «декларация о намерениях в картинках». В спорной ситуации гораздо проще ткнуть пальцем в проблемный узел схемы, чем ожесточенно спорить о том, кто где ошибся. Это дорожная карта веб-разработки.
   Для веб-студии или исполнителя-фрилансера, которому поручено исходя из итогов предварительного обсуждения, из черновой версии ТЗ дать свое видение сайта, прототип – самый короткий и дешевый путь к тому, чтобы ударить с заказчиком по рукам. Набросав первичный эскиз, толковый разработчик одновременно продемонстрирует лаконичное воплощение требований, предъявляемых к сайту, и, возможно, предложит собственные решения.

Какую пользу приносит прототип

   Притом что прототипирование – дополнительный труд, по существу, это «энергосберегающая» технология. Прототип перво-наперво выгоден тем, что дает возможность оценить логику работы сайта в целом на любом этапе реализации проекта без привязки к дизайну. Вкратце его преимущества таковы:
   • Снижаются сопутствующие веб-разработке риски. Благодаря прототипу можно на самой ранней стадии понять, что не было учтено ни в концепции, ни в техническом задании. Например, в сервисе онлайн-бронирования билетов продумана внутренняя страница с расширенной формой поиска, однако на главной забыли разместить форму упрощенную.
   • Уменьшается общее количество ошибок. С каждым шагом в создании сайта все сложнее восполнять упущенное и переделывать необдуманные решения. Особенно когда ошибки воплотились в коде и дизайне.
   • Как следствие, повышается общее качество проекта. Если ошибок минимум, а любые структурные изменения отслеживаются в истории редактирования прототипа, то при возникновении внештатной ситуации в использовании готового сайта будет легче добраться до корня зла. Не говоря уж о том, что просчеты стратегического характера («Ой, а как мы зарабатывать-то будем?») отсекаются таким образом еще на подступах к веб-разработке.
   • Сокращаются сроки разработки, снижается ее совокупная стоимость. Ведь каждая переделка – это лишние человеко-часы, которые оплачивает в конечном счете клиент. При наличии внятного прототипа дизайнеры не рисуют кнопки, добавленные ради сакраментального «пусть будет», и программисты не пишут сотни строк кода лишь из-за того, что никто не подумал упомянуть об автоматическом начислении четырех– или пятипроцентной, в зависимости от суммы заказа, скидки зарегистрированному в интернет-магазине покупателю при добавлении товара в «Корзину» («Это же можно перед самым открытием докрутить, да?»).
   • Справедливо распределяется ответственность между исполнителем и заказчиком. Благо прототип, особенно интерактивный, вкупе с грамотно регламентирующим обязанности сторон техзаданием помогает оперативно разобраться, по чьей инициативе была выполнена та или иная часть работы и нужна ли она была вообще согласно ранее заключенным договоренностям.

Разновидности прототипов

   В проекте может быть использован прототип как одного, так и нескольких типов.
   • Эскиз – набросок (на бумаге ли, в цифровом виде ли), рисуя который проектировщик старается отобразить основополагающие элементы сайта. Делается он за считанные минуты и часы, однако обычно остается внутренним, промежуточным продуктом. Дешево, сердито, пригодно для первых, пристрелочных дискуссий о реализации проекта. Главный недостаток эскизов, особенно бумажных, заключается в том, что их затруднительно использовать на следующих этапах веб-разработки, и прежде всего в тестировании. Да и во взаимодействии «исполнитель – заказчик» от набросков проку мало: с эскизом по-настоящему удобно работать его автору. Иногда рисуют бумажные макеты, с тщательной прорисовкой интерфейса, с модульной сеткой. Впрочем, такой вариант – на любителя.
   • Wire-frame – то же, что блок-схема (рис. 3). Она простейшим образом показывает, какие модули содержит сайт и как они увязываются в единую структуру. Формы – прямоугольные, гамма – обычно монохромная, характер – аскетический. В отличие от интерактивного прототипа (см. далее), классическая блок-схема фиксирует самый общий вид страницы в статике. Как следствие, чтобы было ясно, что должно происходить при работе с каким-нибудь нетривиальным динамическим элементом, зачастую требуются чрезвычайно подробные текстовые ремарки.
   • Интерактивный прототип – схематическая развертка конечного продукта, досконально имитирующая работу пользователя с сайтом: нажатие на кнопки, выбор пунктов меню, заполнение чекбоксов. Эдакая «идея сайта», по Платону, которая может быть воплощена в дизайне бесконечно разнообразно. Хороший интерактивный прототип имитирует взаимодействие человека и сайта по меньшей мере в базовых аспектах и обеспечивает быструю обратную связь, благодаря чему ощутимо повышается темп разработки. Он дает возможность на скорую руку протестировать решения, выбранные вами и исполнителем, равно как и опробовать пользовательские сценарии на фокус-группе. Для создания интерактивного прототипа навыки кодинга и верстки обычно не требуются: достаточно воспользоваться одной из несложных в изучении тиражных программ или онлайн-инструментов (см. ниже). Наконец, такой прототип проще поддерживать в актуальном состоянии.
   Рис. 3. Прототип главной страницы Setup.ru, выполненный с помощью сервиса Axure
 
   • Мокап (от англ. mock-up – «полноразмерный макет») – строго говоря, не вполне прототип. Вернее даже, без пяти минут сайт. Как правило, подразумевает близкий к финальному вид каждой страницы, однако статичен и лишен интерактивности. Посмотреть, но не «пощупать». Большое достоинство мокапа в том, что его чаще воспринимают всерьез многие заказчики – в противовес аскетичным прототипам («Пф, что за казаки-разбойники со стрелочками вместо сайта?»). Если мокап всплывает в проекте, то либо в начале, либо в конце его реализации: в первом случае – когда требуется убедить заказчика в том, что разработчики не оторваны от реальности и видят возможные «инкарнации» сайта задолго до его рождения, во втором – когда нужно подтвердить, что прототип удачно облачен в дизайнерские одежды. Далее мокапы уместны в том случае, если заказчику трудно воспринимать абстрактные концепции в отрыве от их конкретного воплощения (а прототип – это абстракция).

Тестирование прототипов

   Если мы говорим об интерактивных прототипах, то следует помнить о том, что одна из их главных функций – обеспечить тестирование ключевых механизмов сайта.
   • Альфа-тестирование. Проводится с привлечением команды проекта. В той или иной форме оно неизбежно. Помните только, что у разработчиков, сколь бы талантливы они ни были, замыливается глаз, поэтому в их устах утверждение «Все в порядке!» не означает, что все действительно исправно.
   • A/B-тестирование, или сплит-тестирование. Помогает выбрать наиболее продуктивные и удобные для аудитории решения путем прямого сравнения: создаются два варианта страницы (или более), различающиеся между собой, как правило, лишь в одном пункте: расположении какого-либо блока, наличии или отсутствии той или иной кнопки и т. д. Одной половине посетителей показывается первый вариант страницы, другой – второй вариант. Поведение групп сравнивается, и на основе его анализа обычно удается выделить если не оптимальный вариант, то меньшее из двух зол.
   • Тепловые карты. Самый популярный в Рунете инструмент для составления тепловых карт сайта входит в сервис «Яндекс. Метрика». Наглядно, цветовым выделением с плавной градацией (интуитивно понятное «горячо – холодно») показывается, насколько часто посетители страницы щелкают мышью по различным элементам интерфейса или переходят по тем или иным ссылкам, охотно ли прокручивают страницу вниз и т. д. Учтите, что на страницах, где вы хотите увидеть тепловые карты, должен быть установлен счетчик «Яндекс. Метрики».
Обратите внимание
   Яркость и величина «теплового облака» вокруг детали интерфейса необязательно прямо коррелирует с ее уместностью и удобством. Так, огромное красное пятно в районе ползунка на ценовой шкале может сигнализировать о том, что сортировка организована из рук вон плохо, поэтому посетитель вынужден «пасти мышь» и перетаскивать ползунок вправо-влево в попытке понять, в чем проблема.

Кто должен создавать прототипы

   Схематичную «раскадровку» сайта должен выполнять отдельный специалист, например эксперт по юзабилити (см. далее подраздел «Юзабилити и здравый смысл») или аналитик. Распространено ошибочное мнение, что прототипирование – исключительно дело менеджера проекта или дизайнера. Тем не менее куда правильнее делать прототип, ориентируясь на представителя целевой аудитории. Между тем менеджер проекта прежде всего озабочен тем, чтобы состыковать желания заказчика с представлениями разработчиков, а дизайнер лишь при огромном опыте в сайтостроительстве способен примирить свою тягу к красоте с удобством навигации и совершенством архитектуры.
   Будем отталкиваться от того, что в идеале создание прототипа не дополнительный, а обязательный этап разработки сайта. Прототип не заменяет техническое задание, а иллюстрирует его или служит его логическим развитием, будучи еще одной ступенькой к готовому сайту. Часто дизайнер, особенно с опытом в UX[4], клянется и божится, что прототип ему без надобности и все промежуточные процессы у него проистекают «в голове». Не верьте. В абсолютном большинстве случаев они появляются из ниоткуда и пропадают в никуда. Вместе с вашими деньгами.

Как делать прототипы

Точка отсчета в прототипировании

   Прежде всего необходимо определиться, какие требования предъявляются к сайту (этап техзадания), какие проблемы он решает и для кого предназначен. Попутно скрупулезно анализируем, как организованы популярные сайты выбранного типа: какие решения в области интерфейсов здесь распространены, есть ли что-то общее между интернет-ресурсами ваших конкурентов. Если вы нуждаетесь в сайте-визитке, то, допустим, какой формат портфолио у отраслевых компаний. Если продаете бытовую технику онлайн, то как рубрицировано меню на топовых торговых площадках той же специализации и т. д.
   Когда аудитория охарактеризована с предельно достижимой четкостью, гораздо легче будет составить портрет среднего пользователя (подчас целую галерею портретов), а далее наметить сценарии его взаимодействия с сайтом: что именно с наибольшей степенью вероятности станет искать в вашем интернет-магазине средств защиты от насекомых 19-летний студент-домосед из Кирова, а что 26-летняя директор по кадрам турагентства и как тот и другая могут отреагировать на важнейшие звенья интерфейса. Звучит утрированно, но общий вектор очевиден: опирайтесь не только на усредненные потребности своей целевой аудитории, но и на нужды отдельных персонажей, которые могли бы быть ее типичными представителями. Придумайте таких характерных героев и мысленно гоняйте их по навигационным лабиринтам. Это и увлекательно, и полезно.
   Подлинное мастерство в том, чтобы не только продумать гладкие выходы из стандартных, усредненных ситуаций, но и предугадать экстремумы. Задача – сделать «калькулятор заказа» на сайте поставщика пластиковых окон? Разрешите посетителю подсчитать цену на изготовление произвольного количества одинаковых окон, а не выбирать число от единицы до десяти, иначе вы рискуете отсечь потенциального покупателя, курирующего капремонт в целом офисном центре.

Рабочий процесс

   Резонно, чтобы перед глазами у проектировщиков всегда была общая картина сайта. Вне зависимости от того, какой инструмент используется для прототипирования, очень удобно начинать с функциональной структуры сайта в mind maps, или ассоциативных картах (см. главу 1 «Техзадание: последний раз себя спрашиваю!» и рис. 2). Полезно, чтобы файл с mind map был на «Рабочем столе» (или, например, в онлайн-сервисе типа Mindmeister.com) у вас и всех, кто занят в проекте. Как-никак дельно составленная ассоциативная карта отражает всю структуру и функциональность сайта.
   Удивительно, но начинать прототипирование необязательно с главной страницы. Можно оттолкнуться от наиболее (по задумке) посещаемой, от той, что лежит ближе всего к целевому действию, которого вы ждете от посетителя. Например, в случае с интернет-магазином правильнее будет схематически скомпоновать карточку товара раньше титульной страницы.
   Поскольку прототипирование – игра командная, к согласованию следует приступать начиная с первой же страницы: меньше расхождений во мнениях возникнет впоследствии.

Юзабилити и здравый смысл

   Так как прототип от «живого» сайта иной раз отличается лишь отсутствием дизайна, для разработки таких структур надлежит овладеть основами юзабилити – прикладной, сугубо практической науки об эффективном и удобном использовании тех или иных человеческих инструментов и систем, в нашем случае – сайтов.
   В одном абзаце принципы юзабилити не изложить, и мы подробнее остановились на них в главе 16 «Юзабилити и конверсия: заставляем сайт работать». Приведем для примера несколько фундаментальных принципов. Так, установлено, что люди обычно осматривают экран слева направо и сверху вниз, отсюда и предписание самую важную информацию, включая навигационные блоки, по возможности размещать близко к точке, с которой начинается обзор. Основные элементы меню и ссылки в идеале доступны без прокрутки страницы вниз. До всех мало-мальски значимых страниц посетитель – не всегда, но как правило – должен добираться в худшем случае за три клика. Другие общие рекомендации по юзабилити перечислены, например, в тематическом выпуске рассылки SeoPult (см. блок «Полезно знать»).
   Учитывайте в прототипе ровным счетом все, что желаете видеть на своем сайте. Планируете размещать баннеры? Значит, выберите где. Да и величину их следует знать заранее. «Баннеры потом впихнем под шапку и справа» – это скорее печально, чем забавно. Один баннер, другой, и часть навигационных элементов очутится за «линией сгиба», на втором экране, до которого и не всякий-то посетитель доберется.
   Тип сайта, конечно, диктует исполнение интерфейса. Вместе с тем многие решения, несмотря на единичные яркие исключения, являются стандартом де-факто в современной веб-разработке, например расположение логотипа и строки поиска. Чтобы не изобрести ненароком велосипед, тем более восьмиколесный с рулем на багажнике, желательно, повторимся, ознакомиться с азами юзабилити (см. блок «Полезно знать»).
   Не менее строго, чем к структуре сайта, стоит относиться к тому, как подается в прототипе контент. И безразлично – онлайн-медиа вы открываете или фотохостинг. Категорически противопоказано писать: «Здесь текст и красивые картинки». Обозначьте, где конкретно и в скольких колонках должен располагаться текст, а где картинки и каких они размеров.
   Важно с самого начала использовать реальные обозначения и названия, которые будет содержать ваш сайт. Это касается и контактной информации, и характеристик товаров, и диалоговых форм. Иначе, не ровен час, настанет момент, когда дизайнер будет наводить лоск на последние пиктограммы, обнаружится, что половина кнопок слишком мала для полагающихся им надписей. Конфуз. А главное, жесткая необходимость пустить под нож солидную часть готового продукта.
   Нумеруйте страницы в прототипе, и вам зачтется. Так же как, соединяя точки в детской книжке – от первой ко второй, от второй к третьей и т. д., – вы постепенно начинали видеть рисунок, из последовательности страниц вы выстраиваете маршрут посетителя по своему сайту. Что без недвусмысленных маркеров спланировать затруднительно. При «бумажном» прототипировании нумерация и вовсе незаменима.
   И, само собой, давайте файлам понятные не только вам имена, желательно на английском языке, а не транслитом.
 
   Границы возможностей прототипа
   Парадокс: чем подробнее в прототипе показан интерфейс, тем лучше, однако дизайнерские красоты в нем излишни. Например, если один из блоков имеет агрессивное цветовое выделение, дизайнер вольно или невольно может сделать на нем гораздо более сильный акцент, чем вы задумывали.
   Если вам кажется, что вы не сумели недвусмысленно отразить в эскизе ту или иную идею графически, найдите в себе силы написать комментарий к нарисованному. Например: «При переводе курсора с одного пункта выпадающего меню на другой любая из движущихся частей кубика Рубика в блоке слева под шапкой поворачивается произвольным образом».
 
   Принцип самодостаточности
   Прототип должен быть понятен людям, которые увидят его впервые в жизни. Собственно, в индустрии сайтостроительства по мере достижения ею зрелости увеличивается число компаний и команд, чья компетенция сводится к тому, чтобы в качестве конечного продукта выдавать прототип, по которому другая компания или команда будет писать код и рисовать дизайн сайта (взгляните, например, на Prototype.ru).
   Пусть даже у вас сложились великолепные отношения с веб-студией или фрилансерами. Все равно старайтесь организовать работу над прототипом так, чтобы со стороны казалось, будто вы закрепляете структуру и функциональность сайта в доступной и подробной форме с коварным намерением передать разработку в другие руки. При таком подходе почти наверняка коней на переправе менять не придется.