Vendor lock-in в разработке: как не стать заложником подрядчика
Vendor lock-in — ситуация, когда уйти от поставщика технологии дороже, чем терпеть его цены и условия. В разработке это обычно заканчивается replatforming, то есть переделкой системы с нуля. В подкасте «КОД 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?
Переезд системы на другую платформу или технологию, по сути переделка с нуля. Чаще всего к нему приводит выбор редкой или несвоевременной технологии на старте.
Чем опасна редкая технология?
Специалистов мало, поэтому они дороже, а при уходе подрядчика замену ищут месяцами. Иногда проще переписать систему, чем найти, кто её поддержит.
Как уйти от подрядчика без потерь?
Заранее держать код, доступы и аккаунты на компании, иметь документацию и выбирать технологию, на которой работает много других подрядчиков. Тогда передача проекта займёт недели, а не переделку.