И хотя работаю я не в России, несколько случаев "кидалова" было. Примечательно, что в двух из них клиент вообще отказывался от сайта как такового. В смысле, вообще не нужен ни сейчас, ни потом. А раньше чем думали, когда меня искали, когда со мной всё обсуждали, когда подтверждали ТЗ? Пару раз было так, что разработку со стороны заказчика сайт принимали 2-3 человека и давали взаимоисключающие корректировки. Причём, как всегда в таких случаях бывает, давали они их не одновременно, так что приходилось делать, переделывать, переделывать ещё раз и т.д.
Впрочем, самая больная проблема web-программирования в изменении пожеланий и требований заказчика в процессе разработки.
- Мы делаем это?А если это для меня и есть самое основное?.. И таких примеров не счесть. Хуже всего, что заказчик не понимает, что реализации его новой "фишки", о которой он ни словом не обмолвился ранее, займёт некоторое время, на которое у меня были другие планы. По этому логичная в таком случае просьба об увеличении бюджета сайта нередко вызывает негодование у заказчика. Конечно, по его мнению я просто сижу за компьютером, это и работой-то назвать нельзя. Более того, некоторые заказчики считают, что создание сайтов - плёвое дело и они запросто смогли бы сдюжить его сами, но нет времени. Я уже выкладывал тут один ролик, очень наглядно показывающий данную ситуацию. Когда я его в первый раз смотрел, было совершенно несмешно, потому что слишком уж правдиво.
- Потом решим, делай пока основное
В случае очень простых сайтов, бывает так, что клиент (опять же в целях экономии) заказывает просто статичные страницы без возможности изменить их содержание. Чтож, как будет угодно. Потом, через годик-другой, этот заказчик возвращается и просит подредактировать список услуг и цен или какие-то данные в таблице и потом очень удивляется цене на это. Причины две: 1) в прошлый раз всё так дёшево было и 2) тут всего-то надо немножко подправить. А чего ты хотел, прошлый раз ты купил упаковку без содержимого.
Подытожив, могу сказать, что работа программиста (из всех, кто участвует в создании веб-проекта) хоть и не самая сложная (дизайнерам зачастую сложнее), но самая геморройная. В ней больше всего подводных камней и неприятных сюрпризов, появляющихся тогда, когда, казалось бы, уже виден финиш.
Для меня лично, бОльшая часть этих проблем в прошлом, так как я работаю в более-менее крупной фирме. Учитывая, что я на окладе, я могу месяцами переделывать, добавлять, менять и т.д. Правда и от фриланса я полностью не отказался, хотя для меня он уже совсем не такой, как раньше. И, напоследок, немного личного опыта для тех, кому это может пригодиться.
Пара советов программистам. Заказчик сам точно не знает чего он хочет, а если и знает, то редко когда может доходчиво это объяснить. Он не тупой, просто это не его специфика. Поэтому сами создавайте предельно подробное, но удобоваримое для клиента ТЗ (техническое задание). Таким образом вы минимизируете непонимание и двусмысленность между вами и заказчиком, а так же избавите себя от "новых фич" на окончательной стадии разработки. Новые пожелания в таком случаю приведут к изменению ТЗ и вам проще будет объяснить заказчику, за что вы просите дополнительную плату. Ещё одни "грабли" - совместимость сайта со старыми версиями браузеров. Нередко в ТЗ это не фигурирует, а заказчик потом просит исправить "некорректное отображение в IE7", а для этого сайт надо неслабо перелопатить. Ещё один плюс в составлении ТЗ - упрощение составления бюджета. Имея на руках подробное задание, подтверждённое заказчиком, несложно подсчитать время, которое потребуется на выполнение и, как следствие, цену. Опять же и заказчику в этом случае цену объяснить будет легче.
Пара советов заказчикам. Первое и самое главное - выбирайте опытного программиста. Выбрав из желания сэкономить студента-первокурсника, вы обрекаете себя на то, что проблемы в процессе разработки будут расти, как снежный ком. Такой исполнитель выполнит все ваши требования, но не предложит какого-то решения лучше или, что бывает гораздо чаще, использует не максимально подходящий CMS или фрэймворк, а тот, который знает сам. Поддержка или обновление проекта впоследствии с таким программистом тоже зачастую бывают проблемными: в большинстве случаев его просто не найти (поверьте, это случается гораздо чаще, чем вы думаете). Иная ситуация с профессиональным программистом: они и знает, как и что лучше, и впоследствии его обычно несложно найти. Тут главное - не мешать. Если он что-то говорит/предлагает, на это есть свои причины. Вы же не учите автомеханика, как чинить вам машину, доверьтесь профессионалу и в этом случае.
Не накомментили ещё. Би зэ фёст!