Заменили Jira, Slack, Tilda и Confluence своим кодом ради экономии. Экономии не вышло

10 сентября Miro продали за $1,355 млрд. В конце 2021 года компанию оценивали в $17,5 млрд, то есть за четыре года она подешевела в 13 раз. При этом Miro не умирает: по данным TechCrunch, около $600 млн годовой выручки, прибыль, 4 млн платящих пользователей. Покупатель, Bending Spoons, известен другим: Evernote, WeTransfer, Vimeo, месяцем раньше Airtable. Схема у них одна. Купить дёшево, уволить большую часть команды, поднять цены.
Меня эта новость зацепила не как инвестора. За последний год мы в компании заменили четыре платных сервиса своим кодом: конструктор лендингов, вики, трекер задач и мессенджер. Шли за двумя вещами: экономией и гибкостью. Год спустя я сел считать. Экономии не получили. Гибкость, кажется, получили, и по дороге выяснилось, кто на самом деле должен дописывать такие инструменты.
Почему Miro стоит в 13 раз меньше, если он всем нужен
Версия «доски никому не нужны» не сходится с выручкой. Большую часть падения объясняет рынок: медианный мультипликатор публичного SaaS по индексу SaaS Capital упал с 16,9 годовых выручек на пике в августе 2021-го до 3,2 в июне 2026-го, минимум с 2011 года. Это уже пятикратное сжатие, остальное дисконт скупщика проблемных активов.
Но само сжатие имеет причину, и она мне близка. Ценность SaaS-инструмента всегда складывалась из двух частей: сам продукт и стоимость его повторения. Год работы команды, которую никто в здравом уме не потратит на внутренний трекер. Вторая часть за два года подешевела на порядок. Опрос Retool в конце 2025 года: 35% компаний уже заменили хотя бы один SaaS собственной разработкой, 78% планируют писать больше внутренних инструментов. Retool сам продаёт инструменты для внутренней разработки, так что цифру делю на скидку, но направление совпадает с тем, что я вижу у себя.
Есть и обратный пример, про него забывать нельзя. Klarna в 2024 году объявила, что отключает Salesforce и Workday и заменяет их ИИ. Через полгода CEO признал, что LLM ничего не заменяла, данные перенесли в собственную базу и другие SaaS, а в 2025 году компания вернула живых людей в поддержку. «Выключили подписку» и «сэкономили» это разные события, и ниже я стараюсь их не путать.
Про российскую специфику коротко. Atlassian перестал продлевать лицензии в России с осени 2022 года, Slack закрыл даже бесплатные воркспейсы в 2023-м, Miro и Notion ушли в сентябре 2024-го. Нас это напрямую не задело: платили через зарубежное юрлицо, продукт работает в шести странах. Но у большинства читателей такой опции нет, и для них выбор стоит между отечественным трекером и своим. Цена там не аргумент: Битрикс24 на 250 мест стоит около 34 тысяч в месяц, это вдвое дешевле Jira, Яндекс Трекер на 200 человек выходит примерно в ту же сумму, что Jira, Redmine бесплатный. Аргумент в другом, и он тот же, что против Jira: любой готовый трекер это чужой процесс, а агенты к нему прикручиваются снаружи через API. Если ваш процесс типовой, берите готовое: это дешевле всего, что описано ниже.
Четыре замены за год
Контекст, чтобы цифры имели смысл. Финтех-продукт, миллион с лишним пользователей, шесть стран. В компании больше 200 человек. Команда разработки почти целиком из сеньоров, отдельного архитектора нет, архитектуру держат они сами. Агентный инструмент везде один, у нас это Claude Code.
Цены подписок ниже по публичным прайсам Atlassian и Slack на наше число мест. Реальный счёт со скидкой за годовую оплату был процентов на 15–20 ниже, так что прайс здесь верхняя граница.
1. Конструктор лендингов
Лендингов у нас два, каждый на шести языках, и они жили на Tilda. Подписка стоила копейки, десятки тысяч рублей в год. Проблем было две. Нормального способа перевести лендинг в Tilda мы не нашли, единственное решение в лоб: копия страницы на каждый язык. Две страницы умножить на шесть языков, и любая правка текста превращалась в двенадцать правок руками маркетолога. Вторая проблема упиралась в конструктор как таковой: мы хотели дорабатывать лендинги под себя, например вынести из одного API, чтобы другие наши сервисы могли брать оттуда данные. В Tilda это либо невозможно, либо через костыли.
Свой движок сеньор написал за два дня, второй лендинг перенёс за один. Дальше разработчики к ним почти не прикасались. Перевод делает нейронка при публикации. Юридические документы мы не переводим, они как были на английском, так и остались, и в переводчик не попадают. Правки коллеги вносят через агента текстом, не открывая ни редактор, ни код. Экономия по подписке смешная. Экономия в том, что двенадцать правок стали одной.
Это самая простая из четырёх замен и единственная, где я не сомневался с первого дня. Лендинг это статика с формой, риск ноль. Вопрос только в финансовой эффективности переноса, а она окупается не подпиской, а расширением функций: переводы, API, правки без разработчика.
2. Вики
Confluence у нас жил пять лет, 200+ статей, и к концу ему не верил никто: любая страница по умолчанию требовала перепроверки по коду. Подробно я про это писал в первой статье, повторять не буду. Коротко: база знаний теперь собирается из коммитов ежедневно, всё, что нельзя подтвердить по коду, помечено как «не проверено».
Подписка на Confluence для нашего числа мест стоила около полумиллиона рублей в год. Замену отдельно не оценивали: она получилась побочным продуктом проекта агента-разработчика, у которого была другая цель, и он её, кстати, не достиг. Так что в таблице ниже у вики честный прочерк в затратах и главный результат не в деньгах: дока перестала врать.
3. Трекер задач
Самая интересная замена, потому что на ней мы впервые обкатали схему, о которой ниже.
Jira Standard на наше число мест по прайсу это около 800 тысяч рублей в год. Сравнивать в лоб сложно: свой трекер оброс функциями, которых в Jira не было. Делали его 2 месяца календарных. Сеньор потратил неделю на каркас: модель данных, права, интеграции с репозиториями. Потом возвращался точечно, суммарно набралось больше месяца работы с разной степенью включения.
Дальше произошло то, чего я не планировал. До рабочего состояния трекер довёл скрам-мастер. Сам, в агенте, без разработчиков. Правила переходов, поля, доски, отчёты для планёрок. Разработчики в этот момент были заняты продуктом и в трекер не заглядывали.
Сверху поставили агентов. Они собирают отчёты, ищут дубли, подтягивают к задаче контекст из кода и базы знаний, напоминают о зависших задачах и пишут саммари по спринту. Всё то, на что раньше уходил час скрам-мастера каждое утро.
4. Мессенджер
Тут экономии не вышло, и я хочу это сказать прямо, потому что без этого пункта статья превращается в рекламу.
Slack на наше число мест по прайсу это около 1,5 млн рублей в год. Свой мессенджер делали суммарно 4 месяца работы одного сеньора, самый большой из четырёх проектов. По полной ставке это уже дороже годовой подписки, и на этом расходы не заканчиваются. Мессенджер, в отличие от трекера, требует поддержки постоянно: пуши, файлы, мобильные клиенты. Сеньор отвлекается на него регулярно, и каждое такое отвлечение это минус к продукту, который приносит деньги.
Делали его не ради экономии. Были требования по хранению данных и интеграции с продуктом, которые ни один готовый мессенджер не закрывал. То есть альтернативы «платить Slack» у нас на самом деле не было, и сравнение с подпиской здесь условное. Тезис на будущее: своё пишется либо когда это дешевле, либо когда без своего нельзя. Второй случай надо честно называть вторым и не записывать в экономию.
Что это стоит на самом деле
Первый мой подсчёт выглядел красиво: около 3 млн рублей подписок в год против 6–7 человеко-месяцев своего. Потом я пересчитал так, как считал бы финансовый директор, и первая из двух целей на этом закончилась.
Ставка. Сеньор с окладом 260 тысяч на руки стоит компании с налогами, взносами, отпуском и техникой около 400 тысяч в месяц. Шесть с половиной человеко-месяцев это 2,6 млн, а не 1,8.
Владение. Если очень грубо, один день в неделю одного сеньора на все четыре инструмента. Большая часть уходит на мессенджер, остальные три почти не требуют внимания. Один день в неделю это 20% ставки, почти миллион в год. Плюс хостинг и токены. Токены на поддержку отдельно не считали, и это тот самый антипаттерн «счётчик в никуда», который я ловил у себя в прошлой статье. С этого месяца считаем.
Что заменили | Подписка в год, прайс | Сборка | Владение в год | В деньгах | Что получили кроме денег |
|---|---|---|---|---|---|
Tilda | десятки тыс. ₽ | 3 дня сеньора | почти ноль | около нуля | 12 правок стали одной, переводы, API |
Confluence | ~500 тыс. ₽ | побочный продукт другого проекта | в составе агента | не считали | дока перестала врать |
Jira | ~800 тыс. ₽ | ~1,5 мес. сеньора + месяц скрам-мастера | небольшое | ноль на горизонте года | агенты, свой процесс |
Slack | ~1,5 млн ₽ | 4 мес. сеньора | основная доля того дня в неделю | минус | требования, которые не закрывал никто |
Итог по деньгам на первый год отрицательный, около 2 млн. На горизонте трёх лет выходим в ноль, если владение не вырастет. То есть «мы сэкономили на подписках» я сказать не могу. Вторая цель, гибкость, выглядит лучше: инструменты работают так, как устроен наш процесс, и правятся без очереди к разработчику. Пишу «кажется», потому что гибкость измерить сложнее, чем подписку, и через полгода я к этому вернусь с цифрами по правкам. Для мессенджера мой ответ уже сейчас «нет, если бы не требования».
Падало. Самый неприятный случай прямо из той схемы, которую я ниже буду хвалить. Скрам-мастер дорабатывал трекер, агент отказался вставлять кусок кода, он попросил ещё раз, и со второй попытки агент согласился. В коде оказалась жёсткая уязвимость в авторизации. Нашли её, если честно, почти случайно: сеньор делал плановое ревью системы и наткнулся. После этого на каждый внутренний инструмент встали тесты в CI и ревью каждой правки второй нейронкой по нашим правилам: она проверяет дифф на закрытые каталоги, авторизацию и доступ к данным, и без её зелёного статуса правка дальше не идёт. Цена владения включает и то, что такую защиту приходится строить заранее.
Есть и цена, которую в рублях не посчитать. Каждый свой инструмент это ещё один сервис в мониторинге, ещё одна точка, где новый сотрудник спрашивает «а где это документировано». Bus-фактор закрыт тем, что база знаний собирается из кода автоматически, но я отдаю себе отчёт: с Jira этот вопрос вообще не стоял.
Кто должен доводить свой инструмент
Это главное, что я вынес за год, и оно противоречит тому, как я планировал работу вначале.
Схема, которая сработала на трекере, а потом повторилась на лендингах: начинает сеньор, доводит человек, который живёт в процессе. Сеньор нужен на первые 20% пути: каркас, модель данных, границы, интеграции, всё, где ошибка стоит переписывания. Дальше он начинает мешать. Он не знает, какие поля нужны на доске планёрки, зачем скрам-мастеру отчёт именно в таком разрезе и почему маркетологу важен порядок блоков на лендинге. Раньше это решалось постановкой задачи разработчику и неделей ожидания. Теперь скрам-мастер открывает агента в репозитории трекера и доводит сам.
Как это устроено технически, без чего схема не работает:
В репозитории лежит инструкция для агента, где написано, какие части трогать нельзя: модель данных, права, интеграции. Всё остальное открыто.
Каждую правку до слияния проверяет вторая нейронка по нашим правилам: закрытые части, авторизация, доступ к данным. Тот, кто пишет, и тот, кто проверяет, никогда не одна и та же модель в одной сессии, иначе «уговорить со второй попытки» работает и на ревью.
Тесты в CI на переходы статусов и на API. Сеньор смотрит только диффы, которые трогают закрытые части.
Правила ревью у нас пока не оформлены в документ, они живут в конфиге и в головах. Если вам нужны подробности, напишите мне в канал, расскажу, как устроено.
В привычной схеме бизнес-заказчик пишет ТЗ, разработчик реализует, и самый дорогой ресурс тратится на то, чтобы понять чужой процесс. Теперь понимание процесса и рука, которая его реализует, сошлись в одном человеке. Разработчик остался там, где без него нельзя.
Ограничения два, оба проверены на себе. Первое: после истории с авторизацией «доводит процессный человек» работает только с тестами и независимым ревью в CI, иначе агента можно уговорить на что угодно со второй попытки. Второе: это работает на внутренних инструментах, где пользователей двести и все они коллеги. На продукте с миллионом пользователей на такую схему я не пойду.
Что мы не станем переписывать
Чтобы не выглядело, будто я предлагаю переписать всё. Критерий у меня получился из трёх вопросов.
Есть ли у сервиса регуляторная или сертификационная нагрузка: платёжка, бухгалтерия, электронная подпись, всё, где нужна лицензия или аттестация. Это не трогаем, своё здесь дороже любой подписки.
Требует ли сервис постоянной поддержки инфраструктуры: мобильные клиенты, пуши, медиа, real-time. Здесь своё окупается только при особых требованиях, и мессенджер тому подтверждение.
Живёт ли внутри сервиса наш процесс, который отличается от типового: трекер, вики, лендинги, внутренние отчёты. Здесь своё имеет смысл чаще всего, потому что заметная часть стоимости подписки это плата за то, чтобы подогнать чужой процесс под свой.
Miro по этому критерию попадает во вторую группу: real-time поверх CRUD. Свою доску я бы писать не стал. Но цена сделки говорит о том, что рынок теперь оценивает стоимость повторения таких продуктов иначе, чем год назад, и мой опыт с трекером эту оценку скорее подтверждает.
Что дальше
Через полгода напишу, что с этими четырьмя инструментами стало: сколько часов ушло на поддержку, сколько токенов, сколько правок внесли не разработчики и сколько из них завернуло ревью, не вернулись ли мы на подписку хотя бы в одном случае. Инструкция, с которой нетехнический коллега начинает доработку внутреннего инструмента, лежит в закрепе моего канала нейроCTO, туда же можно писать с вопросами про ревью.
Если вы что-то заменяли своим кодом за последний год, напишите в комментариях, что именно и что из этого сломалось. Особенно интересны случаи, где пришлось вернуться на подписку.
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.