{"id":14287,"url":"\/distributions\/14287\/click?bit=1&hash=1d1b6427c21936742162fc18778388fc58ebf8e17517414e1bfb1d3edd9b94c0","hash":"1d1b6427c21936742162fc18778388fc58ebf8e17517414e1bfb1d3edd9b94c0","title":"\u0412\u044b\u0440\u0430\u0441\u0442\u0438 \u0438\u0437 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u0434\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f \u0437\u0430 \u0433\u043e\u0434","buttonText":"","imageUuid":""}

Команда программистов. Самые частые способы развода

Денис Гордиенко, генеральный директор Bright Mobile, о популярных разводах программистов.

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

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

Уловка № 1: сдадим, когда захотим

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

По классике этапы прописываются с фиксированной стоимостью и фиксированными сроками. Здесь же стояла интересная формулировка, заключающаяся в том, что «предварительные сроки составляют 30 рабочих дней, но исполнитель может в одностороннем порядке увеличить сроки разработки», причём максимально возможные сроки разработки составляли… 400 календарных дней!

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

Я проконсультировался с юристом, и тот сообщил мне, что по факту у заказчика руки связаны: он изначально был уведомлён о возможном увеличении срока, и сам же подписал договор. В нём не был прописаны причины, по которой могут произойти задержки, а по каким не могут, про форс-мажорные обстоятельства (для которых нужна справка с МЧС) не было ни слова.

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

Чтобы всё было по-честному и справедливо для обеих сторон, нужно согласовать, какие форс-мажорные обстоятельства реально могут повлиять на сроки. Со стороны исполнителя – это защита, во-первых, от долгого согласования, чтобы заказчик не тянул и не требовал потом сдать быстрее, а во-вторых, от чрезмерного количества правок, которые может потребовать от него клиент.

Со стороны заказчика – гарантия своевременного получения сайта или приложения без затягивания сроков, чтобы к концу оговариваемой даты у него на руках было готовый продукт хотя бы на тестирование. Хотя бы – потому что приложение ещё может не принять третья сторона – стор, от которого тоже многое зависит. Но если есть *. apk-файл, его можно передать на проверку. Или сайт, если речь о веб-разработке – и при наличии багов исполнитель в рамках гарантийного срока их должен будет исправить.

Второе решение, если исполнитель хочет максимальной безопасности, это чётко прописать в договоре все проблемы, которые он может использовать для увеличения срока разработки, а также сроки, в которые он о подобной задержке должен заказчика уведомить. Обычно это делается в течение одного, максимум трёх рабочих дней с момента наступления события. Не всех устроит такой расклад, но если заказчик на подобное согласен – тогда всё нормально. Всё лучше, чем устраивать самовольное продление, как у моего клиента.

Есть и третий вариант — это поискать готовое решение для своей идеи и доработать только некоторые нюансы под себя. Например, мы сделали RTPlatform — основу для биржи услуг, по статистике клиенту требуется кастомизировать, с нашей помощью, только 20% объёма, связанного с уникальностью идеи.

Уловка № 2: количество итераций правок

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

Для чего это делается? Я, как руководитель команды разработки, прекрасно понимаю, что если присылают по одной ошибке раз в один-два дня, это очень сильно напрягает. Программист потратил час на исправление одного бага, взялся за следующую работу, а тут ему бац, и приходит ещё один баг. Так и новую работу не успеть, и на баги надо тратить кучу времени.

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

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

Как от этого оградиться?

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

И вы присылаете списки правок уже не в конце, а по каждому объёму работ, который вам предоставили на согласование. Нужно будет проговорить, что отдельные этапы работ будут согласованы отдельно, и исполнитель не будет начинать следующий этап, пока не доделает предыдущий. Это касается и каркасов, и серверной части, и дизайна, и мобильных приложений, и сайта.

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

А вот если всё работает не так, как должно, но исполнению задач это не мешает, баг будет считаться некритическим. Например, съехала вёрстка: вы отредактировали элемент, но на фронтенде он выглядит криво.

Даже если вы будете расторгать договор с подрядчиком и дорабатывать проект с кем-то другим, крайне важно обеспечить отсутствие критических багов. Юридически считается, что работа передана на тестирование, когда в ней отсутствуют критические баги. Если они есть, значит, проект недовыполнен, поскольку он не работает так, как должен работать. Проблемы с отображением и другие некритические нюансы – это рабочие моменты, которые исправляются в гарантийные сроки, но потребительская ценность продукта тут всё-таки имеется, чего не скажешь про случай с критическими ошибками.

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

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

Здесь не столь важно юридическое составление договора или его приёмка, а работа в рамках его исполнения, а вкупе с ней ваши ответственность и внимательность к багам. Большой ошибкой будет считать, что если последним пунктом прописаны «тестирование и отладка», то можно их до этого момента не проводить, т. к. исполнитель сам всё будет проверять (а если что-то не так, он вернёт вам все деньги). Рассчитывать на такое не стоит, и юридическая практика, и здравый смысл говорят об обратном.

Уловка № 3: Тестирование и отладка

Очень важно, если вы дойдёте до финала негативных отношений с исполнителем, определиться с тем, какая сумма будет заложена на тестирование и отладку. Иногда бывает так, что их преподносят как «бесплатные».

Заказчик на это очень хорошо покупается: здорово же, исполнитель и ошибки сам найдёт и исправит тоже сам, за свой счёт. Но на деле всё это далеко не так, потому что исполнитель всегда закладывает 10-20% времени на исправление ошибок, и в бюджете они тоже есть. Зато остаётся свобода для махинаций, как у одного моего клиента.

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

Клиент в суд пошёл всё равно, только это, как минимум, нервы, а как максимум, ему пришлось за свой счёт проводить экспертизу. Для понимания: стоит это удовольствие от 60 до 300 тысяч рублей в зависимости от объёма приложения, эти деньги замораживаются, пока организация не вынесет окончательное решение, а уже затем, в зависимости от вердикта судьи, деньги либо остаются у экспертизы, либо возвращаются клиенту, если будет доказана вина исполнителя (который и должен будет оплатить экспертизу).

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

Не стоит рассчитывать, что к вам выстроится очередь программистов, которые будут исправлять чужие ошибки: такого не бывает. Заказчик в таком случае может либо плюнуть, попытавшись по максимуму вытащить из старого проекта деньги, либо ждать, пока кто-то доведёт всё это до ума, но всё это долго, трудно и нервозно. Поэтому вывод: на тестирование и отладку, будучи заказчиком, я бы закладывал 20-30% денег, и в случае сдачи нерабочего продукта и отказа исполнителем его дорабатывать, подавал бы в суд.

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

Пишите, интересна ли вам такая рубрика, и присылайте свои договоры. Найду что-то «оригинальное» — обязательно расскажу в следующих статьях. Будьте внимательнее, удачи и успехов!

0
100 комментариев
Написать комментарий...
Кирилл

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

Ответить
Развернуть ветку
under construction

Какое разница сколько ушло рабочего времени, если базовый функционал не работает как надо?
Или фронт кривой.
Если взялся за работу должен довести до оговоренного результата.

Ответить
Развернуть ветку
Valentin Dombrovsky

Про это написано в статье вроде.

Ответить
Развернуть ветку
Евгений Патрушев

Лайк

Ответить
Развернуть ветку
Elena
Как от этого оградиться?

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

Ответить
Развернуть ветку
Упоротый кролик

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

Ответить
Развернуть ветку
19 комментариев
Денис Гордиенко
Автор

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

К сожалению, я пришёл к выводу, что это банальная невнимательность

Ответить
Развернуть ветку
17 комментариев
Петя Вася

Статья ни о чем. Все плохие, а у нас заебись! Только вот на сайте написано что можете сказать стоимость проекта за час. Это значит что вы свой проект закладываете овер докуя рисков. Либо ваш заказчик получает практически 100% готовый типовой продукт. Вероятнее всего вы и не делали никогда нормальных больший Enterprise проектов в которых вас отимели бы как хотели во все щели.

Мой вердикт хотите нормальный проект нанимайте разработчиков в штат своих либо аутстафф. Другие варианты нищебродские и ведут только в одно место. Ну ещё как вариант Upwork, но пока для рф эта ягодка не досягаема

Ответить
Развернуть ветку
Какой-то никнейм

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

Ответить
Развернуть ветку
Alex Chernyshev

Это называется Time&Materials, без ТЗ это фактически вариация аутстаффа с почасовой ставкой.
При такой схеме во-первых вводится минимальный объем оплаты за период времени, вне зависимости от того была ли работа или нет.
Классика это 96 часов - те вне зависимости от загрузки, даже если вся команда стоит без задач - клиент платит за 96 часов в месяц.
Во-вторых сразу обговариваются варианты 'закончить сотрудничество' - в том числе штрафы за немедленное завершение работ без предупреждения например за 3 месяца до. Штраф легко может быть х3 от месячного объема.

Идиотов с деньгами с обоих сторон вообщем-то крайне мало осталось.

Ответить
Развернуть ветку
Georgy Frolov

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

Ответить
Развернуть ветку
Денис Гордиенко
Автор

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

Ответить
Развернуть ветку
3 комментария
Сергей Коновалов
Пришла первая ошибка – вот и первый список, пришла следующая – второй. Третья ошибка – уже список сверх оговоренного, и потому будет считаться платным.

Суть понятна. Но обычно конечный продукт подразумевает отсутствие ошибок в принципе? И если они есть, то обязательство не выполнено?
Какой-то полуискуственный пример в Вашей статье.

Ответить
Развернуть ветку
Михаил Емельченков

Не совсем так. Работа программиста сравнима с работой врача, или адвоката. Нет гарантий, что всё будет верно. Можно парировать, что это разные вещи, однако математически верифицированное ПО на заданном аппаратном комплексе будет стоить совершенно других денег (и особенно — времени). Например, готовый софт практически всегда поставляется с лицензией AS-IS и отказом от ответственности. Дополнительные гарантии — по отдельным контрактам поддержки, за отдельные деньги. Также, как и коммерческая разработка без дальнейшего сопровождения редко когда заказывается.

Ответить
Развернуть ветку
8 комментариев
Elena

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

Ответить
Развернуть ветку
8 комментариев
Денис Гордиенко
Автор

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

Ответить
Развернуть ветку
1 комментарий
Scott Freak

У меня ощущение, что исполнителей кидают гораздо чаще, нет?

Ответить
Развернуть ветку
Арсений

Просто надо брать 100% предоплату за каждый этап и делать нормально.
Тогда все довольны

Ответить
Развернуть ветку
Павел

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

Вывод :
составляем договор под свои условия или читаем внимательно и вписываем правки в договор перед заключением :)

Ответить
Развернуть ветку
Петя Вася

Особенно под свои условия. С которыми вас любой адекватный исполнитель отправит нахер прямым текстом. И сойдётесь вы только с тем кому читаться ваш договор да и тз было впадлу

Ответить
Развернуть ветку
Богдан В.

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

Ответить
Развернуть ветку
Alex Chernyshev

Дааа.. Расскажите это Accenture, которые успешно кидали и сингапурское правительство и лондонскую биржу и еще тысячи подобных крутых клиентов.

https://news.ycombinator.com/item?id=686116

I finally quit after walking out of a berating meeting from a boss who reckoned I'd done a project too fast and produced an executable that was too small. "We quoted them three point two million for this. We can't give them a 500 Kb executable after a week and say it's done"

Ни многотомные договора ни внешний аудит - ничего не помогло.

Ответить
Развернуть ветку
8 комментариев
Alex Chernyshev

Безумие какое-то.
Договор без четких сроков и описания работ вполне легко признать ничтожным - юристы подтвердят.
'Количество итераций и правок'? - да сам факт таких правок при фиксированном ТЗ и бюджете - предмет обсуждения, не то что исполнения.
Понятно что какие-то мелкие вещи правятся в процессе бесплатно, но любая большая доработка это доп.соглашение и отдельная плата.

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

Вообщем это все какие-то крайние случаи, на грани шизофрении.

Ответить
Развернуть ветку
Денис Гордиенко
Автор

Чёткие сроки договора есть - 400 каленарных.

Про правки не понял Ваш комментарий. Прошу пояснить. Я писал именно про багфикс, когда что-то явно не работает по ТЗ, а не доработки в стиле "это и так понятно".

Ответить
Развернуть ветку
1 комментарий
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Divannii Spec

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

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

А таких не то, что большинство сейчас, а почти все.

Ответить
Развернуть ветку
Денис Гордиенко
Автор

С дизайном проще обосновать, что это "вкусовщина", а код либо работает, либо нет.

Ответить
Развернуть ветку
2 комментария
Иван Кудрявцев

Как-то я в обратную сторону часто вижу все это и от клиентов дизайн-агентств, от клиентов строителей и от клиентов в других сферах. Под словом часто я имею ввиду "чаще,чем в другую сторону".

Ответить
Развернуть ветку
Ренат Ренатович

А с чего клиент должен баги искать? Выглядит как "Мы тут сварганили, сильно не проверяли - сами косяки ищите")) Неоговоренные доработки и расширение функционала - за отдельные деньги. А косяки подрядчик сам должен искать и бесплатно исправлять если клиент нашел. Нет?

Ответить
Развернуть ветку
Какой-то никнейм

Если у клиента денег мало, то на тестировщика бюджета не хватит и тогда клиент решает для экономии тестировать сам :)

Ответить
Развернуть ветку
Наталья Антошина

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

Ответить
Развернуть ветку
Александр Орлов

Когда видишь много проектов из одной области, быстро понимаешь:

1. Заказчик, который ПРОСТО ХОЧЕТ САЙТ, часто не представляет, что стоит за каждым словом его постановки. Он хочет заниматься бизнесом, при этом у него нет прописанных бизнес-процессов, и смутное представление о том, что это такое.
Об этом в статье "Классика жанра" - https://vc.ru/life/477689-klassika-zhanra

2. Есть исполнители, которым плевать на то, зачем заказчику сайт. Они "излишне креативны" и делают исключительно то, что им нравится:
Об этом в статье "О дрелях, дырках, сайтах и билетах" - https://vc.ru/life/486264-o-drelyah-dyrkah-saytah-i-biletah

3. Многие Заказчики совсем не понимают, что если они хотят не сайт-визитку, то в проекте есть еще бэкенд, в котором сосредоточено 80-90% логики, и подход "сделаем все сами" часто не катит.Об этом в статье "Хочу свой сайт для продажи билетов" - https://vc.ru/life/316541-hochu-svoy-sayt-dlya-prodazhi-biletov

Ответить
Развернуть ветку
Thomas Sowell book Society

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

Ответить
Развернуть ветку
97 комментариев
Раскрывать всегда