Разработка сайтов

Разработка сайтов

Разработка сайтов в настоящее время - основной мой вид деятельности. Это хобби, которое перешло в основную занятость.

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

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

С основными понятиями разобрались. Теперь разберем, какие же этапы можно выделить в разработке любого веб-решения. Этапов может быть бесконечное множество. Каждый разработчик может называть этапы по своему, разделять более крупные этапы на части, либо, наоборот, объеденять некоторые этапы в одно целое. На основании моего опыта, я выделяю такие этапы:

  1. Знакомство. На данном этапе заказчик начинает принимать решение о том, что с данным разработчиком можно иметь дело: ищет в сети различную информацию о разработчике, о его опыте, читает отзывы от других заказчиков (хотя, если заказчик остался доволен работой - этот отзыв опубликуют, а вот если с заказчиком случился какой-то казус, то это любой заказчик постарается скрыть:) Простите за правду). Заказчик связывается с разработчиком, начинается процесс взаимодействия, который, возможно и не перейдет на следующий этап.
  2. Сбор сведений о проекте. Если этап знакомсства прошел успешно и было принято решение о начале сотрудничества, то начинается сбор всей информации о будущем проекте. Сразу скажу - чем больше информации будет собрано на данном этапе, тем точнее будет входная информация для разработки. Чем подробнее будет описано то, что из себя должна представлять каждая часть проекта после выполнения всех работ, тем меньше вероятность того, что в результате всех работ получится результат сильно отличающийся от ожидаемого. На данном этапе заказчик получает предварительную оценку по срокам и стоимости работ. 
  3. Разработка технического задания. Хоть данный этап я и называю традиционно, но на самом деле при работе с готовой cms речь идет скорее о технической записке, чем о техническом задании. Нет необходимости, например, прописывать все взаимосвязи в базе данных, или описывать механизмы функционирования административного раздела сайта. Техническое задание должно включать в себя описание всех работ, которые необходимо выполнить с максимальной детализацией. Техническое задание - это уже готовый продукт. В принципе, на этом этапе сотрудничество может быть и прекращено. Заказчик оплачивает стоимость разработки задания, забирает полученный документ и обращается к любому другом разработчику. Но я с таким в своей практике никогда не сталкивался. Если я создаю ТЗ, то я же и провожу его реализацию. На основании разработанного ТЗ устанавливается бюджет и сроки сдачи проекта.
  4. Разработка. Далее после создания докуменатции, идет непосредственная разработка готового продукта. Результатом данного шага является продукт, соответствующий тому, что описано в техническом задании. В ходе разработки по договоренности сторон заказчику может предоставляться информация о ходе работ, по возможности, показываться готовый функционал. Возможно, заказчик на каком-то этапе увидит, что описанный функционал не совсем соответствует его представлению о сайту, тогда в ТЗ вносятся изменения (с обязательным пересчетом сроков и стоимости работ). 
  5. Тестирование и исправление ошибок. Данный этап почему-то всегда заказчики опускают, хотя очень даже зря.  Я не говорю о тестировании с проработкой различных unit-тестов и проведением нагрузочного тестирования, но весь функционал сайта должен быть проверен на соответствие ТЗ и делать это должен не разработчик, потому как разработчики, как правило, не всегда могут найти свои ошибки, а человек, который не занимался разработкой, т.е. проводится тестирование на то, что сайт соответствует поставленным целям. Это может делать либо сам заказчик, либо привлеченное разработчиком сторонее лицо. Результатом данного шага является документ со списком ошибок и отметкой об их исправлении.
  6. Завершение проекта. На данном этапе заказчику передается все необходимая для работы с сайтом информация: данные по доступам, инструкции по работе с функционалом сайта. На данном этапе может быть сформирован список доработок, которые в дальнейшем планируется провести на сайте. Также результатом данного этапа может быть договор о сопровождении сайта разработчиком.
Вот, в принципе, и все основные этапы. Их можно разделять, объединять, переименовывать, но общей картины это не изменит.
Теперь, о том, что же входит в стоимость разработки:
  1. Разработка технического задания. Как и писал выше, ТЗ - это готовый продукт. Поэтому за готовый продукт необходимо производить оплату после завершения разработки данного документа. Обычно, стоимость разработки ТЗ входит в предоплату за работы.
  2. Непосредственная разработка. Тут, думаю, все понятно. Заказчиком оплачиваются описанные в ТЗ и выполненные разработчиком работы.
  3. Тестирование. Если тестирование выполняется средствами разработчика, то поиск ошибок - это работа, которая должна также оплачиваться. Исправление ошибок, естественно, выполняется за счет разработчика (если, конечно, это именно ошибка разработки, а не ошибка проектирования, которая была не учтена в ТЗ. В противном случае - это уже не ошибка, а доработка, которая уходит в общий список доработок).

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

Для оценки стоимости работ пришлите мне на адрес info@pai-bx.com максимально полную информацию о том, какой продукт вы хотите получить после выполнения всех работ. Я произведу приблизительную разработку сроков и стоимости.

Обратная связь