Сейчас можно наблюдать два противоположных подхода к разработке сайтов. Первый, когда несколько человек за два, три, шесть месяцев выпускают развитую систему. Второй, когда за пару дней запускается сайт с самой базовой функциональностью, а потом на протяжении месяцев совершенствуется.
Попробую сравнить два подхода.
Быстрый запуск простого сайта при продолжающейся разработке | Долгая разработка, запуск функционального сайта |
Небольшие стартовые вложения, низкие риски. | Серьезные вложения, высокие риски. |
Разработчики чувствуют отдачу, решения проектировщика быстро проверяются, можно корректировать направления развития сайта. | Разработка вязнет, решения проектировщика должны тщательно выверяться, платформа развивается в потемках, поскольку не известна реакция пользователей. |
Запуск проходит тихо, рост аудитории плавный, часть аудитории теряется, поскольку не находит интересных фишечек. | Громкий запуск, взрывной рост, сайт «цепляет» больше людей. |
Тестирование на реальных пользователях, ошибок вылавливается много, репутация сайта может быть подмочена. | После запуска сайт ложится, пользователи говорят противоположные вещи, ошибки вызывают больше проблем, репутация сайта также страдает. |
Удается концентрироваться на качестве материалов сайта. | Сайт растет во все стороны, контролировать качество материалов сложнее, придумать удачные форматы сразу для всех разделов не получается. В результате какая-то часть сайта выплывет, другая придается забвению. |
Выпускать новые версии раз в неделю — хлопотно. | Разработчиков не отвлекают внешние факторы. |
Заказчик видит, что работа идет. | Ожидания заказчика растут и могут в итоге не сойтись с результатом. |
Постепенная разработка выглядит менее рискованной, требует меньше вложений, продукт получается качественнее. Однако, высокие риски при длительной разработке иногда оправдываются супер-бонусами. Кроме того, некоторые сложные системы не получится релизить раз в неделю.
Поскольку у большинства проектов ресурсов немного, альтернативы постепенной разработке для них нет. Хотя есть целый пласт сайтов, которые напрасно разрабатываются «как большие».
Комментарии
Pashka R., 21.12.2007 20:53
Ну, я думаю, что выбор того или иного пути ещё очень сильно зависит и от самого проекта.... не все проекты, имхо, можно запустить сырыми.... и, наверное, наоборот
Дмитрий Сергеев, 21.12.2007 21:02
Несомненно. Я описал всё очень упрощенно и с большими допущениями.
Хотя я не говорю о запуске сырых проектов. Подразумевается запуск по частям. Например, первым делом, лента с заметками, потом комментарии, потом пользовательские рейтинги, потом красивые профили.
Максим, 21.12.2007 21:20
Интересная тема. Я задумался. :)
Скорее всего оптимальным будет разбиение разработки на несколько «закрытых» этапов. То есть заказчику предоставляется некий план развития, где четко указано что за чем следует.
Дмитрий Сергеев, 21.12.2007 21:30
Привет :)
Я делаю сайты обычно с «быстрым запуском», но вижу, что большинство делает по-другому. И я не уверен, что прав. Хотя, может быть дело в бюрократии, которая неизбежна в масштабных проектах. Понятно, что когда топовая студия делает сайт для крупного банка, там еще те ритуалы.
А из разумного вижу у второго подхода одно преимущество: если ресурсов много и просчитанная идея, можно «рвануть», наделать много шуму, обогнать конкурентов, не отвлекаясь на частые релизы.
Максим, 21.12.2007 21:43
Ну значит мы оба неправы. :) Если дело касается сайта, то я всегда говорю клиенту, что выложенная версия сайта/шаблона тестовая. Потому что если заявить, что «вот, всё готово», то оказывается, что ты что-то упустил, а где-то не так понял, а в других местах клиент не смог нормально объяснить, или вообще передумал, но забыл сказать. :) А так и ему спокойней и я не дергаюсь.
Но вообще, я думаю, что многое зависит от поставленной задачи. У меня есть клиенты, которые требуют точности до одного пиксела. И в принципе с ними довольно легко работать, потому что я знаю, что они укажут на мои ошибки и я их смогу быстро поправить. Но есть и другие, которым +/- километр не помеха - они могут найти ошибку через месяц. Это я к чему? Если ставится задача не очень сложная «типовая» с мелкими изменениями, то можно выкладывать и частями, и недоделывая. Но если делается что-то совсем сложное, но лучше подзадержаться с выпуском, а тестировать в закрытом режиме.
Vladislav Ukhov, 23.12.2007 15:54
> Я делаю сайты обычно с «быстрым запуском», но вижу, что большинство делает по-другому. И я не уверен, что прав. Хотя, может быть дело в бюрократии, которая неизбежна в масштабных проектах.
Бюрократические механизмы для "быстрого запуска" давно придуманы и очень успешно работают в реальной жизни.
> Понятно, что когда топовая студия делает сайт для крупного банка, там еще те ритуалы.
Воля "студии" - танцевать ритуальные танцы или не танцевать. Связи с обсуждаемыми типами запуска проектов не вижу.
"Быстрый" запуск ещё очень хорош с точки зрения финансирования разработки.
Дмитрий Сергеев, 23.12.2007 22:30
>> Бюрократические механизмы для «быстрого запуска» давно придуманы и очень успешно работают в реальной жизни.
Расскажете подробнее?
Есть, конечно, методологии, где частые релизы являются одним из принципов. И даже придумано что-то на счет документирования. Но, честно говоря, плохо представляю, как это всё стыкуется, например, с разработкой по госзаказам. Судя по моему опыту, там очень «классические» схемы: бумаги пишутся, решения согласовываются с высоким начальством.
Если встречаются две глыбы, «быстрый запуск» практически не достижим.
Денис, 22.12.2007 00:20
Если делаю для себя - то предпочитаю первый подход, но если сайт юзабельный, т.е. не так что куча битых страниц и ссылок-пустышек. Есть базовый функционал - и он работает. Выкладываем на сервер - начинают индексировать поисковики.
Дополнительный функционал реализовываем по ходу дела.
Плюс еще и в том, что сайт не устаревает. Иначе можно цепляться от идее к идее - пытаться все реализовывать, в итоге все затянется и в финале никому не будет нужно. Если же сайт запущен - то это подстегивает самих разработчиков и владельцев к его улучшению, т.к. любую, относительно изолированную фишку, можно выставить сразу после реализации и увидеть реакцию "зала"
Дмитрий Сергеев, 23.12.2007 22:22
Да, пусть поисковики привыкают. SEO — долгий процесс. Выложишь пораньше — быстрее найдешь оптимальные решения по внутренней оптимизации. Как раз к полноценному запуску сайт будет в хорошей форме.
Славс, 22.12.2007 18:27
Полезная статья, пасибо автору )
Александр Кучеренко, 23.12.2007 21:23
На мой взгляд, автор некорректно описал проблему (поставил вопрос).
Допустим мне нужно сделать большой сайт с нетривиальным функционалом. Я бы выполнил следующие действия:
1. Проектирование сайта или Предварительное проектирование сайта (если сложно сразу определить конечный масштаб сайта)
2. Составление плана работ - разбиение разработки сайта на задачи во времени и присвоение им приоритетов реализации, как объективных, так и субъективных. Субъективный приоритет может быть выставлен в результате желания Заказчика запустить сайт в два этапа, например, сначала сделать статичный сайт с формой обратной связи (быстрый запуск), а потом сделать динамичный сайт с CMS и интеграцией с внутрикорпоративной системой/базой данных (запуск в полном объеме).
3. Выполнение работ – реализация сайта или последовательная реализация работоспособных версий сайта в соответствии с планом работ
Хочу обратить внимание на два понятия и разницу между ними:
1) Быстрый запуск сайта – это разработка и размещение в Интернете (по адресу сайта Заказчика) работоспособной, но не окончательной по набору содержания и/или функций (относительно набора запланированного на этапе проектирования) версии сайта. При этом работоспособная быстрая версия сайта может быть как стабильной (c проведенным тестированием и отладкой), так и нестабильной (alfa, beta и т.п.).
2) Создание прототипа сайта – это часть проектирования (разработки) сайта, результатом которой является создание прототипа сайта или его частей с целью дальнейшего тестирования, обсуждения, доработки, утверждения Заказчиком и Исполнителем. Для тестирования и доработки также могут привлекаться сторонние тестеры и проектировщики. Прототип сайта или его частей не является работоспособной версией сайта.
В свете вышесказанного, проблема поставленная автором для меня является некорректно поставленной.
Дмитрий Сергеев, 23.12.2007 22:44
>> На мой взгляд, автор некорректно описал проблему (поставил вопрос).
А как было бы корректно? Сравниваются поздняя тяжелая сборка и ранняя легкая с последующим наращиванием функциональности.
Любопытная идея про субъективные и объективные приоритеты. Действительно, иногда приходится балансировать.
Александр Кучеренко, 24.12.2007 00:29
Есть некоторая нелогичность, поверхностность, неконкретность изложения.
Например, фраза автора:
… Первый, когда несколько человек за два, три, шесть месяцев выпускают развитую систему. Второй, когда за пару дней запускается сайт с самой базовой функциональностью, а потом на протяжении месяцев совершенствуется.
Смысл первой фразы, как я его понял, в том, что есть процесс, результатом которого является выпуск конечной версии сайта. Собственно это все о чем она говорит и в чем заключается 1-ый подход. По сути, в ней сказано, что подход к разработке сайта заключается в разработке сайта. В общем, из этой фразы я не вижу ничего такого, что можно было бы выделить как “подход”.
Смысл второй фразы в том, что есть процесс, результатом которого является выпуск конечной версии сайта, и который дополняется выпуском на ранней стадии разработки урезанной по функциональности, но при этом работоспособной версии сайта. Это тоже не тянет на понятие “подход”, а сравнение и противопоставление друг другу этих фраз вообще некорректно.
По сути, я не вижу здесь никаких противоположных подходов, да и подходов вообще. Я хочу сказать, что вторая фраза не противоречит, а немного дополняет (сопутствует) первой, что никак не вяжется с фразой “два противоположных подхода к разработке сайта”.
С таблицей сравнения то же приколы. Например, “Быстрый запуск” это часть (один из этапов) “долгой разработки”. По-моему некорректно их сравнивать да еще рисовать таблицу сравнения.
Дмитрий Сергеев, 24.12.2007 01:06
М... Ну ладно :)
Eric Nord, 27.12.2007 10:36
А что такое "SEO — долгий процесс"??? И как правильно "индексировать поисковики"???
Дмитрий Сергеев, 28.12.2007 02:55
Кажется, я не понимаю смысл вопросов.
Eric Nord, 09.01.2008 12:16
Человек написал "SEO — долгий процесс". Вот я и спрашиваю что такое "SEO"???
Дмитрий Сергеев, 09.01.2008 16:15
SEO (Search Engine Optimization) — оптимизация сайта под поисковые системы. Это комплекс работ, которые проводятся как на самом сайте, так и за его пределами. Цель этих работ — добиться высоких позиций в выдаче поисковых систем по нужным запросам.
Скажем, у вас сайт про хоккей, а по запросу «хоккей» в Яндексе он не находится. SEO должно в этом помочь.
Eric Nord, 03.03.2008 00:25
Можете посодействовать с том, что бы сайт "находился в яндексе по запросу "хоккей"??? Не бескорыстно...
Дмитрий Сергеев, 03.03.2008 10:42
Действительно я чуть-чуть занимаюсь такими вещами. Но вы, мне кажется, не до конца понимаете серьезность предприятия. Продвижение -- это ежемесячные платежи наверное тысяч от пяти рублей, это два-три месяца до выхода на первую страницу, и это отсутствие гарантий. Хотя, конечно, это несколько сотен посетителей в день.