← Все статьиНаписать

Vendor lock-in в разработке: как не стать заложником подрядчика

Vendor lock-in — ситуация, когда уйти от поставщика технологии дороже, чем терпеть его цены и условия. В разработке это обычно заканчивается replatforming, то есть переделкой системы с нуля. В подкасте «КОД B2B» я рассказывал, как компании попадают в эту ловушку из-за выбора штатного айтишника и как проверить технологию до старта проекта.

Подкаст, на основе которого написана статья: Автоматизация бизнеса в опте: B2B-платформа, окупаемость и запуск

Привязка к поставщику: что это

Иван Ярославцев в студии подкаста «КОД B2B» рассказывает, как не стать заложником технологии

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

В ИТ у зависимости несколько источников:

  • технология: редкий язык или фреймворк, под который на рынке мало программистов;
  • подрядчик: код, доступы и знание системы есть только у одной команды;
  • SaaS-сервис: данные лежат у поставщика, выгрузка неполная, тарифы растут;
  • коробка: лицензии и доработки ядра, которые не переносятся на другую систему.

Как компании попадают в зависимость

Есть такой термин — replatforming. Мне как владельцу ИТ-компании это выгодно, рынок из этого растёт. Но для клиента это потерянные деньги, и путь к нему почти всегда одинаковый.

Решение штатного айтишника

В штате у компании есть айтишник, иногда правда умный и талантливый, с хорошей зарплатой. Директор говорит, что нужна платформа. Айтишник отвечает: делаем на вот этом, я 20 лет в ИТ, я точно знаю. Технология может быть хорошей, но несвоевременной. Бизнесовой насмотренности у него нет, это другой навык, чем программирование.

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

Лендинг на Python за миллион

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

Vendor lock-in в SaaS и коробке

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

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

Как проверить технологию до старта

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

Сколько на рынке программистов

Зайдите на hh.ru и вбейте технологию, которую предлагает подрядчик: PHP, Java, React или что-то ещё. Сравните количество специалистов. Если порядки отличаются, а у вас редкая технология, вы становитесь заложником тех немногих, кто её знает.

Сколько подрядчиков и почём

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

Системный выбор вместо совета знакомого

Александр Пашигрев в подкасте рассказал, как его агентство продавало клиенту выбор CRM-системы, внедрение которой оценили почти в 5 млн рублей. Сначала собрали задачи, потом предложения нескольких вендоров, провели встречи с каждым, свели всё в большую таблицу, и каждый руководитель проставил баллы. Его вывод: лучше потратиться на длинную и даже дорогую процедуру выбора, чем потом на replatforming. Я с этим согласен.

Рекомендации плюс критерии

Подрядчика обычно выбирают по знакомым, потом по рейтингам вроде Tagline и Рейтинга Рунета, потом через рекламу и сайты отзывов, где все пишут одно и то же. Я призываю совмещать рекомендации и свои критерии. У вас ларёк с шаурмой — берите отзывы от ларька с шаурмой, а не от завода.

Два признака хорошего подрядчика. Первый: на часть вопросов он отвечает «этим мы не занимаемся» или «здесь у нас мало опыта». Второй: на пресейле, а в больших проектах он идёт месяцами, с вами говорит команда, которая будет делать, — проектный менеджер или технический директор.

Признаки, что вы уже в ловушке

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

Что закрепить в договоре с подрядчиком

По статье 1296 ГК РФ исключительное право на программу, созданную по договору заказа, принадлежит заказчику, если договором не предусмотрено иное. Проверьте, что договор этого не меняет. Репозиторий с кодом, серверы, домен и аккаунты сервисов должны быть оформлены на компанию, а не на разработчика. Попросите документацию по архитектуре и интеграциям. Для SaaS заранее узнайте, в каком формате можно выгрузить все данные.

Когда зависимость допустима

Не всякая привязка — ошибка. На старте я сам советую SaaS или готовое решение: вы ещё не знаете, нужна ли вам система, и цена выхода невелика. Опасна зависимость, когда система уже держит процессы компании, а поддерживать её может одна команда на редкой технологии.

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

Вопросы и ответы

Как по-русски называют привязку к вендору?

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

Что такое replatforming?

Переезд системы на другую платформу или технологию, по сути переделка с нуля. Чаще всего к нему приводит выбор редкой или несвоевременной технологии на старте.

Чем опасна редкая технология?

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

Как уйти от подрядчика без потерь?

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