БЛОГ

Этапы разработки сайта, или почему сайт делается так долго?

30.10.2013

Этапы разработки сайта, или почему сайт делается так долго

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

В самом начале менеджер разрабатывает ТЗ – техническое задание, на которое и будут ориентироваться представители исполнителя. Для создания корректного ТЗ нужна минимум одна встреча, плюс день-два на написание задания и получение подтверждения со стороны заказчика.  Тут все просто.

Далее следует подписание договоров  и получение предоплаты. Уже на этом этапе клиенты часто провоцируют задержку проекта, так как не платят в срок (это происходит в 70% случаев). А тайминг (график работ по этапам) подписывается вместе с договорами, и работы начинаются с момента получения первой части оплаты. Потому старт работ часто откладывается на неделю, а это, как бы глупо не звучало, сдвигает окончание проекта на неделю.

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

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

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

Например, дизайнер рисует одну статическую страницу, на которой клиент при помощи панели администрирования располагает текст и картинки по своему усмотрению. Рисовать 10 страниц нет смысла – все равно на выходе они получатся пустыми и наполнять содержанием нужно будет через админку. Другое дело, если есть статическая страница, фотогалерея, книга отзывов…нужно предусмотреть дизайн одной страницы для каждого модуля, но не нужно делать дизайн нескольких страниц галереи, к примеру.

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

Так же, очень важно не цепляться за изменения в наполнении сайта: содержание сайта можно будет изменить при помощи панели администрирования, так что не замыкайтесь на нем. Готовьте содержание, не останавливая работ над сайтом. А еще лучше, подготовьте содержание и все необходимые настройки загодя – это позволит максимально эффективно использовать время, отведенное на разработку сайта.

Далее: можно утвердить первую же разработанную концепцию и провести минимальные изменения, а можно остановиться лишь на четвертой и 10 раз ее дорабатывать. На любое действие дизайнера нужно время. Даже если необходимо просто поменять картинку (на поиск которой, не поверите, понадобится 1-2 часа), это займет не 10 минут. Более того, на получение комментариев заказчика по каждому варианту тоже нужно время, и обычно на это уходит минимум день.

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

Очень важно время, которое требуется заказчику на предоставление комментариев. Я лично вел проект, на разработку дизайна по которому ушел год. Причина в том, что утверждающее дизайн лицо постоянно находилось заграницей, и на получение одного комментария уходил примерно месяц. Даже если вам на комментарии нужны лишь 2 дня, поймите, что на 7 раз по одной правке – это 7 вариантов, и на них 14 рабочих дней (не две недели, а почти три – не путаем с днями календарными). А если это те же самые 7 правок за один раз, то это всего лишь один-два дня работы. Разница налицо, не правда ли?

За дизайном следует верстка. Тут требуется большое внимание и профессионализм. Одно дело красиво сверстать сайт, и совсем другое – сверстать его так, чтобы он правильно отображался во всех основных браузерах (Internet Explorer, Mozilla Firefox, Opera, Chrome, Safari) хотя бы нескольких последних версий (да, у каждого из этих браузеров есть куча версий со своими особенностями). Понятие кроссбраузерной верстки включает в себя много подводных камней, и некоторые из них видны только при применении метода проб и ошибок. А это, сами понимаете, дополнительное время.

За версткой следует программирование. Программист выполняет поставленную задачу четко по техническому заданию, потому убедитесь, что там перечислены все необходимые вам функции. Так же, некоторые изменения и дополнения можно вносить по ходу работ. Внесение их после завершения сайта потребует бóльших усилий и затрат времени: возможно, некоторые модули придется переписать с нуля.

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

Так же, программирование не всегда можно разбить на этапы и показывать промежуточные варианты. Если все модули взаимосвязаны, то ни один из них  не будет работать правильно, пока другие не закончены. Поэтому иногда невозможно разделить программирование на контрольные точки.

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

Если клиент заказал услугу контент-менеджмента (наполнения), то необходимо приплюсовать время и на этот этап. Более того, содержание должно быть готово уже на этапе тестирования. Нередко сайт висит на хостинге несколько месяцев пустой, так как заказчик не потрудился заняться сбором содержания раньше. Особенно часто это происходит с мебельными сайтами.

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

Еще один бич соблюдения сроков – медлительность клиента. Заказчик тянет с комментариями, сбором содержания, предоставлением настроек, а в конце проекта выдвигает претензии со словами «вам следовало меня поторопить». Или, с другой стороны, клиент кричит, что сайт нужен на вчера, получает варианты и пропадает на две недели; после этого появляется, требует новые макеты завтра, и снова пропадает на две недели. Такие случаи часто встречались в моей практике. Пожалуйста, работаете серьезно, если вам нужно серьезное отношение разработчиков к проекту.

Самым правильным вариантом является подписание тайминга вместе с подписанием договора, в котором видно, когда и что долго быть сделано. В случае задержек на той или иной стороне, тайминг сразу покажет, по чьей вине произошел сдвиг сроков. Тогда при сдаче проекта не может быть никакого непонимания и недомолвок.

В заключение хочу подчеркнуть один важный момент: заказчик должен понимать, что его проект у разработчика не единственный. У дизайнера в очереди может быть 5 проектов, и каждый раз отвлекаться от чужого проекта, чтобы за 5 минут внести изменения в ваш, он не будет. То же самое касается программиста.

Хотите, чтобы специалисты работали исключительно над вашим проектом весь месяц? Тогда вам придется оплатить месячную заработную плату каждого из них, чтобы сделать этот проект окупаемым для разработчиков, а это увеличит стоимость сайта в несколько раз. Это не нужно ни заказчику, ни разработчику.

Потому просто придерживайтесь тайминга, не бойтесь лишний раз напомнить друг другу о соблюдении сроков, поторопить друг друга, и обе стороны останутся довольны. А это сбереженные нервы и выгоды от дальнейшего сотрудничества и для веб-разработчика, и для заказчика.