Уже скоро, быстрые шаблоны с неограниченным количеством модулей за 1грн./заказ

Подводные камни в разработке на CMS OpenCart и ЧЗВ в отношениях с веб-студией NeoSeo

Уважаемые существующие и будущие Клиенты веб-студии NeoSeo, мы написали данную статью, чтобы вы ещё до принятия решения о сотрудничестве с нами по тем или иным задачам были осведомлены о самых коварных ситуациях с которыми и вам, и нам придётся столкнуться в процессе развития наших отношений.

Мы расписали очень детально процедуру предоставления услуги технической поддержки сайтов на OpenCart и да, статья получилось очень большой, мы понимаем, что у вас нет времени всё это перечитывать. Но проблема в том, что не читая Правила и Условия “нашего монастыря”, чаще всего, Клиенты остаются разочарованными неоправданными ожиданиями, поскольку ориентируются на их предыдущий опыт работы с другими студиями или фрилансерами, - у них разрушаются иллюзии, которых мы не обещали, начинаются необоснованные претензии и такие ж необоснованные негативные эмоции и отзывы.

Коварная ситуация №1. Значительная разница между предварительной оценкой и фактом по времени выполнения задачи.

Никто из нас не хочет ориентироваться на 100$, а заплатить 200$. Это факт, нормальное ожидание. Обычно в нашей жизни всё так и происходит, 90% услуг и товаров продаются по модели фиксированной стоимости и на это есть обоснованные причины. В нашей же профессиональной деятельности мы, к сожалению, не можем работать по такой модели, поскольку у нас в процессе задействовано много неизвестных. Мы не выполняем одну и ту же работу 10 раз в одних и тех же условиях и при одних и тех же обстоятельствах, все задачи индивидуальны и каждый раз, делая новую предварительную оценку мы сталкиваемся с риском предоставления неточной оценки по времени.

Почему бывает неточная оценка, вы ж программисты с 5-летним опытом?... 

Чаще всего это происходит потому, что на Оценку задачи отводится не больше 15 мин. Мы не можем за 15 мин. изучить все нюансы, которые могут повлиять на конечное время выполнения задачи. Мы не можем позволить себе изучать особенности вашей сборки OpenCart иособенности работы установленных в ней модулей и все возможные варианты последствий изменения кода ещё 5 часов, поскольку это экономически невыгодно. Если мы будем тратить по 5 часов времени на изучение, потом 5 часов времени на очень правильное ТЗ, которое предусмотрит все возможные нюансы, мы просто закроемся. Потратить на оценку 10 часов высокооплачиваемого специалиста, чтобы озвучить 10 раз по 3 часа, а из них получить в результате заказ только на 2, сами понимаете, экономически невыгодная модель. Поэтому, если вы хотите требовать от нас точной оценки, очень точной с погрешностью в 10%, пожалуйста, оплатите этих 10 часов и мы её вам предоставим, а в случае, если наш программист не уложится в отведённое время – доделаем за свой счёт.

Коварная ситуация №2. Я оплатил, деньги потратил, почему оно не работает? Ребята, это ваш “баг”, устраните проблему...

В процессе выполнения задач, которые чаще всего относятся к нетипичным задачам технической поддержки сайтов на OpenCart бывает так, что Клиенты не до конца понимают разницу между понятиями “баг” и “недоработка”, что вызывает впоследствии разногласия при оплате выставленного счёта.

В действительности Клиента можно понять, ведь он не каждый день сталкивается с разработчиками программного кода на OpenCart и если что-то не работает так, как он того ожидал, он вправе подумать:

- “ребята, оно не работает, мы уже заплатили - это “баг”, исправьте!”, ожидая, что мы это должны сделать за свой счёт, ведь время на задачу было оплачено ранее...

Но на самом деле, в 95% случаев, оно не работает НЕ потому, что мы потратили на выполнение данной задачи оплаченное время и теперь нужно ещё времени, чтобы переделать данную работу, потому что отнеслись к ней недобросовестно и оно сделано не так, как было обещано. Чаще всего оно не работает потому что:

а) В процессе выполнения задачи специалистом проявились \ появились не предусмотренные на стадии Оценки обстоятельства. Почему так бывает, читайте пункт выше.

б ) Клиент работал параллельно с другими специалистами на рабочем сайте.

б) Тестировщик не тестил работу всего интернет-магазина (поскольку это очень длительная процедура) и соответственно никто НЕ тратил своё время на то, чтобы оно работало так, “как надо”. Вы должны понимать, это аналогичная ситуация, как и со временем специалиста на Оценку, мы не можем позволить себе тестировать всю работу сайта, что потянет на часов 15-20 после оплаченой задачи на 2 часа, опять же, это просто экономически не выгодно.

Что же такое “баг” и в каких случаях мы исправляем его за наш счет?

Понятие “баг” справедливо употреблять только в тех случаях, когда заявленный нами функционал не работает, как обещано изначально в описании модуля или {SEO-магазина}. Например, в описании модуля заявлено, что Покупатель сможет перейти на страницу оформления заказа после клика на кнопку “Подтвердить заказ”. Если после нажатия на эту кнопку ничего не происходит или Покупателя переадресовывает на другую страницу – это именно “баг” и, конечно же, мы исправим его за свой счет.

Рассмотрим ситуации, когда это не “баг”, а просто “недоработка” / “экономически обусловленное упущение”, которое необходимо “доработать” за вновь купленное время.

Первая ситуация, когда Клиент считает “багом” то, чего вообще не должно было быть в природе, поскольку такого функционала просто не было предусмотрено или наличие такого функционала не было оговорено.

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

Вывод. Некорректно называть “багом” то, чего не было заявлено и предусмотрено в ТЗ.

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

Как вы уже знаете, по таким задачам мы предоставляем ориентировочную оценку поскольку совсем не очевидно на сколько затянется её выполнение в связи с дополнительными пожеланиями и правками Клиента. И вот, мы отрисовали, утвердили макет, начали верстать, потратили в общей сумме 15 часов. Оттестировали на всех популярных устройствах и браузерах, всё просматривается здорово, отдаём Клиенту. И тут обнаруживается, что на каком-то браузере или под какое-то устройство, которое использует 1% пользователей, вёрстка, вдруг, выглядит “криво”. Клиент вправе подумать - “ребята, оно не работает как положено, посмотрите, на вот таком разрешении отображается не так, как нарисовано по макету - это “баг”, исправьте”, ожидая, что он уже за это заплатил и оно должно было бы работать… Но это не “баг”, а именно - “недоработка”. Это значит, что эта работа по адаптации вёрстки под такой браузер или под такое устройство не проводилось и времени на такую работу не тратилось. Естественно, чтобы поправить вёрстку именно под это устройство или именно под этот браузер, нужно просто ещё время. Вы должны понимать, что если бы специалист-тестировщик нашёл этот “недочёт” вёрстки на таком-то устройстве раньше, он бы вернул задачу специалисту по вёрстке и он потратил бы время на устранение этой “кривизны” в любом случае! - т.е. время по задаче в любом случае было бы уже не 15 часов, а больше.

Вывод. Задачи на которые специалист не тратил своё время - это не “баг”, который мы должны исправить за свой счёт, а обыкновенная “недоработка”, на устранение которой необходимо просто дополнительное время.

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

Ситуация номер три – кто-то работал на боевом сайте, копии не совпадают. Вы должны понимать, что если в процессе нашей работы на тестовом и локальном окружении, в это же время другие специалисты что-то дорабатывали на рабочем сайте, то при переносе наших доработок могут появиться ошибки в работе сайта. Поэтому очень настоятельно просим НЕ проводить никаких работ параллельно. Мы не можем знать или предугадать того, что и как вы делаете на сайте. Мы отталкиваемся от того, что каждую задачу, которую мы сделали, а вы приняли на тестовом сайте, по-умолчанию должна работать на “боевом”.

Ситуация четыре. Иногда бывает так, что наши Клиенты находят недоработки ещё на тестовом, или после переноса, или уже в процессе работы на “боевом” сайте и просят / требуют устранить их за наш счёт. Это конечно же, неправильно и мы объясним сейчас в чём суть. Отчасти мы понимаем ваши чувства и причину негодования, но вы должны понять, что такое возможно, оно просто так есть, это реалии веб-разработки, делаешь одно, а перестаёт корректно работать (“отваливается”) второе. И суть не в том, что это наша или ваша вина, ведь и мы и вы проверяли задачу перед сдачей вам или перед переносом сайта на реальный домен, а суть в том, что после каждой практически доработки, чтобы такого не было, нужно проводить ПОЛНОЕ тестирование Интернет-магазина, что экономически, прежде всего, вам будет не выгодно.

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

Есть одна простая суть, квинтэссенция в отношениях с нами, как Партнёром, который взялся помогать развитию вашего бизнеса – мы делаем всё возможное, чтобы наши отношения развивались в экономически выгодном формате для обеих сторон. Как при неточной оценке, так и при необходимости докупать ещё время на то, чтобы работало “как надо” – вы обязаны относиться спокойно и если что-то работает на тестовом или “боевом” сайте НЕ ТАК, как НУЖНО, это нужно просто напросто взять и сделать. И всё. И самое важное тут - не пытаться даже найти "козла отпущения", потому что, если в задаче что-то было не сделано, и оно, что-то работает "криво" или не ТАК, как хотелось, или вдруг оно “поломало” другую функцию, которая раньше работала, то всё это произошло только потому, что программист на этапе Оценки или на этапе выполнения задачи этого не предусмотрел (потому что ВСЁ предусмотреть нереально) и НЕ делал, а специалист-тестировщик этого не нашёл за отведённое ему время, – ПОЭТОМУ никто не прикладывал туда усилия, т.е. купленное вами на эту задачу время НЕ ТРАТИЛОСЬ. Вы должны понимать, что если бы программист это сразу предусмотрел и сделал, или если бы тестировщик сразу нашёл эту недоработку, то он бы сразу вернул задачу программисту, ну а последний и потратил бы на выполнение этой задачи больше времени в любом случае.

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

Если вы не готовы после каждой доработки сайта в 3-4 часа заказывать его полное тестирование, а это значит оплатить 15-20 часов тестировщика, вы должны смириться с тем, что это самый оптимальный экономически выгодный процесс. Соответственно, вы должны спокойно относиться к найденным ошибкам в работе сайта, относиться как к такому, которое “бывает” и это нормально. Ставьте задачу на доработку, покупайте время работы специалистов и получайте в конце концов нужный для бизнеса результат.

Чтобы вы понимали, всё то же самое мы переживаем ежедневно с правками нашего корпоративного сайта. У нас также бывает, что делаем одно, а перестало работать другое... Ну нереально тестить после каждой доработки сайт целиком, также, как и нереально писать очень грамотное ТЗ продумывая ВСЕ возможные варианты и связи, что также экономически не выгодно, поскольку каждое такое ТЗ выльется в 10 часов работы программиста. Нет экономически обоснованного смысла тратить на Оценку, составление очень продуманного ТЗ или на тестирование всего сайта 5-10-15 часов, когда сама задача на 2-3 часа.

Коварная ситуация №3. Почему выполнение задачи на 2 часа мне приходится ждать 2 недели, вы специально издеваетесь надо мной? 

Уважаемые существующие и будущие Клиенты веб-студии NeoSeo, поверьте на слово, мы не питаем никакого удовольствия в искусственном затягивании сроков выполнения задач, нам это никак не выгодно. Вы должны понимать несколько важных аспектов, которые очень часто влияют на общие сроки выполнения задачи, среди которых:

  1. Разный уровень загруженности наших специалистов от недели к неделе в зависимости от количества новооплаченных задач / количества купленных часов. Мы не в силах предугадать эти “приливы” и “отливы” поэтому в ситуациях, когда вдруг оказывается, что оплачены почти все Оценки, мы не в силах мгновенно расширить штат и добрать специалистов, чтобы задачи выполнялись как обычно быстро в 3-5 дней. Поэтому в Договоре и написано, что любые оплаченные задачи попадут в план выполнения не позже 10 рабочих дней. Мы очень стараемся и большинство задач выполняется очень оперативно, но когда нужно подождать, пожалуйста, подождите, не нужно звонить на все телефоны и спрашивать КОГДА УЖЕ?! Напоминаем, что у нас есть и понятие срочной задачи, когда, при необходимости, мы всё отодвигаем и выполняем вашу задачу в тот же день, но по двойному тарифу.
  2. Вы должны учитывать наличие выходных дней и понимать обязательность выполнения задач по принятой в компании технологии. Бывают задачи, которые просто физически невозможно протестировать быстро, это касается выгрузок, скачивания больших объёмов данных, обмена данными и т.д., поскольку сам процесс занимает много времени. Иногда бывает так, что задача на 10 часов чистого времени растягивается на 1-2 месяца и это нормально.
  3. А ещё у нас есть несколько десятков проектов, которые любят не спешить с ответами на уточняющие по задачам вопросам тогда, когда мы этого ждём. Они объявляются через пару дней, а иногда и недель, дают ответы и сразу же требуют выполнения задачи. Но ребята, вы должны понимать, что Планы специалистов формируются наперёд и если там образовывается окно, мы замещаем его другой задачей (не может же специалист сидеть и ждать у окна любимого сутками). Поэтому, постарайтесь давать ответы оперативно, чтобы ваша задача не выпадала из Плана специалиста. 

Всегда взвешивайте объективные обстоятельства, учитывайте, что в процессе задействованы обе стороны. Только обоюдное стремление к общей цели даёт наилучшие результаты. Наша единственная цель – выполнять задачи как можно быстрее, чтобы вы оставались нашими любимыми и добрыми Клиентами. 

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

Мы предпочитаем иметь дело с осведомлёнными, продвинутыми Клиентами и первыми рассказывать вам о всех “подводных камнях” в нашей профессиональной сфере деятельности, чтобы, прежде всего, Вы об них не спотыкались и не спешили бить горшки в отношениях с возможно ещё не идеальной, но самой лучшей на рынке веб-студией :), разработчиком правильных, оптимизированных Интернет-магазинов и модулей под {SEO-Магазин} и OpenCart.

Как и всегда, с надеждой на продуктивную работу,

Команда NeoSeo.