Информационные технологии и интернет
Июнь 2026
Международный коммерческий продукт для проектирования и конфигурирования мебели, которым пользуются десятки тысяч специалистов по всему миру, требовал постоянного развития, выпуска новых версий и адаптации к потребностям заказчиков.
За годы существования продукт превратился в сложную экосистему: большая программная платформа, множество клиентских расширений, интеграции с внешними системами, индивидуальные настройки и накопленные бизнес-правила.
Любое существенное изменение могло затронуть сразу несколько компонентов, нарушить совместимость с клиентскими решениями или создать проблемы при обновлении продукта.
Задача заключалась в том, чтобы продолжать развивать функциональность, выпускать новые версии и переводить клиентов на них, сохраняя надёжность системы, существующие интеграции и предсказуемые сроки поставок.
Работа была организована вокруг сквозной технической ответственности за продукт: от анализа требований и архитектурных решений до координации разработки, выпуска обновлений и их работы в клиентских окружениях.
1. Анализ существующей системы и планирование изменений
Продукт развивался много лет и содержал несколько поколений технических решений, взаимосвязанных компонентов и клиентских расширений.
Прежде чем вносить существенные изменения, требовалось восстановить их полный контекст: как устроены существующие механизмы, почему были приняты те или иные решения, какие компоненты от них зависят и как изменения могут повлиять на клиентов.
На этой основе определялись технический подход, границы изменений, зависимости и риски. Это позволяло развивать существующую систему, сохраняя её важные функциональные возможности и совместимость.
2. Организация и техническое руководство разработкой
Сложные задачи разбивались на самостоятельные части с понятными требованиями, интерфейсами и зонами ответственности.
Наиболее трудные и архитектурно значимые механизмы разрабатывались непосредственно техническим лидером. Остальные задачи распределялись между разработчиками с последующим обсуждением решений, проверкой кода и интеграцией результатов.
Такой подход позволял сочетать глубокую личную техническую экспертизу с параллельной работой команды, не теряя целостности архитектуры и контроля над результатом.
3. Интеграции и работа с заказчиками
Развитие продукта не ограничивалось его внутренними компонентами. Значительная часть клиентов использовала собственные расширения, обмен данными и интеграции с бизнес-системами.
Техническая работа с заказчиками включала анализ требований, исследование проблем, оценку осуществимости предлагаемых решений и согласование изменений с учётом особенностей клиентских систем.
Особое внимание уделялось совместимости и последствиям обновлений: новые возможности должны были работать не только в основном продукте, но и в окружающей его программной экосистеме.
4. Выпуск новых версий и миграция клиентов
Подготовка обновлений охватывала весь технический цикл: разработку, сборку, формирование установочных пакетов, проверку совместимости и решение проблем внедрения.
Для перехода клиентов с предыдущих версий анализировались существующие интеграции, зависимости и особенности их программных окружений.
Возникающие проблемы решались на уровне всей системы — от логики приложения и клиентских расширений до механизмов установки и инфраструктуры.
5. Внедрение AI в процесс разработки
В повседневную работу команды были внедрены современные AI-инструменты: reasoning-модели и coding agents стали доступны на рабочих местах разработчиков.
Они использовались для исследования большой существующей системы, поиска причин сложных ошибок, анализа вариантов решений, написания и переработки кода.
AI дополнил традиционные инженерные практики, помогая быстрее разбираться в сложных задачах. Архитектурные решения, проверка корректности и ответственность за результат при этом оставались за разработчиками.
Даже при высокой сложности продукта и многочисленных зависимостях команда продолжила его развитие, выпустила новую версию и провела несколько важных переходов клиентов с предыдущих поколений. При этом удалось сохранить согласованные сроки поставок, стабильную работу системы и совместимость с действующими клиентскими решениями.
Сложные изменения перестали быть исключительно задачами отдельных разработчиков: архитектурные решения, распределение работы, взаимодействие с заказчиками и выпуск продукта рассматривались как части единого процесса. Это позволяло координировать усилия команды и доводить технические решения до реального использования клиентами.
Сегодня это международный коммерческий продукт с десятками тысяч пользователей и локализацией на 33 языка, который продолжает развиваться, сохраняя накопленную за десятилетия функциональность и интеграции с бизнес-системами заказчиков.