Управление в темноте: почему проекты ESB, MDM и BI нельзя вести как классическое внедрение ERP

Управление в темноте: почему проекты ESB, MDM и BI нельзя вести как классическое внедрение ERP

У нас был проект, о котором мы внутри команды до сих пор говорим: «тот самый».

Отклонение от плановых часов у нас составило больше чем в два раза. Не 20%, не 50% — почти в два раза. При этом были и процессы, и метрики, и статус-встречи, и опытная команда. Но в один момент все это просто не сработало к дате, когда мы ждали результата.

Тогда мы подумали: может быть, мы применяем правильные инструменты не к тому типу проектов?

Содержание

Сегодня я хочу поговорить про особые технологические проекты и про то, почему иногда управление ими идет в темноте. Для нас технологические проекты — это интеграционные шины, корпоративные хранилища данных, MDM-системы, BI-системы, системы управления мастер-данными. То есть все то, что встраивается в ИТ-ландшафт заказчика и связывает системы между собой.

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

Почему ERP и технологические проекты нельзя вести одинаково

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

Вот фундамент, заложили коммуникации, вот стены, вот крыша. Прогресс очевиден заказчику. Он приезжает каждую неделю и видит прогресс, как растет наш дом и даже район рядом с ним.

Модули при этом могут быть независимы. Например, продолжение дома — это большой спортивный комплекс или паркинг.

Технологический проект — это другое.

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

Где живут технологические проекты в ИТ-архитектуре

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

  • Нижний слой — это системы учета. Это ERP, производственные, кадровые системы. Они живут в компаниях десятилетиями, меняются редко. Главное, чтобы они работали надежно и точно.
  • Второй слой — системы изменений или системы дифференциации. Это привычные нам B2B-порталы, CRM-системы, личные кабинеты, мобильные приложения, например службы доставки или кабинеты клиентов для интернет-магазинов. Это все то, что делает компанию быстрее и удобнее для клиентов.
  • Наверху — системы инноваций. Это эксперименты: чат-боты, пилоты, решения на базе ИИ. Они живут месяцами и нужны для быстрой проверки гипотез и решения новых бизнес-задач.
Управление в темноте: почему проекты ESB, MDM и BI нельзя вести как классическое внедрение ERP

И вот в чем фишка.

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

А где в этой структуре живут технологические проекты?

Наши проекты — это инфраструктура данных, которая заставляет разные слои работать вместе. MDM находится на стыке первого и второго слоя. Такая система создает золотую запись, чтобы системы учета не противоречили друг другу. BI пронизывает все три слоя. Снизу это может быть стандартная отчетность, операционная аналитика, которой мы пользуемся каждый день. В середине — специфичные дашборды для стратегических решений. Наверху — предиктивная аналитика и новые сценарии работы с данными. А ESB — это не слой сам по себе. Это инфраструктура между слоями. Интеграционная шина — это те самые дороги и трубопроводы нашего города.

Приведу пример. Банк хочет запустить чат-бота в Telegram. Срок жизни гипотезы — один месяц. Задача простая: дать клиенту возможность проверить остаток по счету. Если бот идет напрямую в ERP, одна небольшая гипотеза становится риском для ядра учетной системы.

Если в архитектуре есть шина и MDM, мы можем использовать уже существующие потоки данных. Бот обращается к шине, а шина безопасно забирает нужную информацию из учетной системы. Если гипотеза не сработала, бот можно просто отключить. ERP этого даже не заметит: систему учета не нужно дорабатывать ради короткого эксперимента.

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

Управление в темноте: почему проекты ESB, MDM и BI нельзя вести как классическое внедрение ERP

Почему связанность делает интеграцию сложной

По поводу связанности поделюсь своей находкой. Не так давно я нашел в электронной библиотеке книгу Грегора Хопа, известного системного архитектора, одного из авторов книги «Шаблоны интеграции корпоративных приложений».Он описал теорию семи типов связанности между системами. Это те самые невидимые нити, которые делают интеграцию сложной.

Главное, что нужно знать: ESB решает первые четыре типа связанности.

  • Первое — связанность платформы. Когда используются определенные платформы.
  • Второе — связанность технологий. Когда система завязана на отдельный протокол или стек.
  • Третье — связанность синхронизации. Когда система А будет работать только в связке с системой Б.
  • Четвертое — связанность формата данных.

ESB решает эти первые четыре типа связанности и говорит нам: неважно, на чем работают соседние системы и какие технологии они используют. Данные будут переданы. MDM и BI решают последние три типа связанности.

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

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

Гремлины технологических проектов

У Грегора Хопа есть еще одна концепция. Он назвал ее гремлинной трансформацией. Такие маленькие невидимые вредители появляются в каждой серьезной интеграции корпоративных приложений.

Немного истории. Нефтяной кризис 1973 года положил конец эпохе американских больших маслкаров. Производители начали строить компактные экономичные автомобили. Но все, что они умели, — это строить большие машины. Компания AMC решила задачу просто и быстро. Так на свет появился AMC Gremlin. Машина снаружи выглядела компактной, но под ее огромным капотом помещался пятилитровый двигатель V8. Это был не компактный автомобиль, а большой автомобиль с укороченным задним кузовом. Немцы из Volkswagen в тот момент показали компактный автомобиль на новой платформе. Volkswagen Golf 1974 года стал одной из самых долгоживущих моделей в истории именно потому, что команда начала с чистого листа.

Тезис Хопа звучит так: когда пытаешься трансформироваться, не отказываясь от старых ограничений, ты создаешь гремлина.

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

  • Первый — legacy-гремлин. Это старые системы, которые нельзя просто так трогать. По ним нет документации, разработчики, которые работали раньше, ушли из компании. Но эта система — единственный источник нужных нам данных.
  • Следующий — гремлин знаний. Вся архитектура в голове одного человека. База знаний не используется. Логика такая: делаем быстро, потом зафиксируем.
  • Третий — гремлин зависимости. Это скрытые зависимости между системами, которые обнаруживаются не до проекта, а уже в процессе.
  • И четвертый — гремлин данных. Это грязные данные. Вы строите красивую интеграцию, запускаете и обнаруживаете, что в источнике есть дублирование записей, пустые поля, разные правила заполнения.
Управление в темноте: почему проекты ESB, MDM и BI нельзя вести как классическое внедрение ERP

Что мы получаем? Мусор на входе — мусор на выходе.

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

Как ломаются классические методы на практике

Теперь как это все выглядит на практике. Я хочу поговорить о трех методах, которые мы привычно применяли на ERP-проектах, а потом перенесли на технологические проекты.

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

Начнем с практических кейсов.

Первый кейс: замена Oracle на 1С:ЗУП

Крупная аналитическая компания, наш клиент. Стояла задача просто заменить старый Oracle на 1С:ЗУП. У проекта был свой руководитель со стороны заказчика. Представление было простое: меняем одну систему учета, старую, на новую. Был выбран классический подход — водопад (сначала проектирование, потом разработка и запуск).

Наша роль — отдельная команда во главе с техлидом. Нужно было связать новую ЗУП с остальным ИТ-ландшафтом через корпоративную шину данных. Архитектурно Oracle выступал промежуточным слоем для упрощения интеграционных потоков и загрузки данных. Через него мы обменивались с другими источниками и системами.

Казалось, в такой структуре никаких подводных камней нет. И все приняли это видение. У нас была красивая иерархическая структура работ, диаграмма Ганта, единый график для всех команд. Мы разбили спринты для разработчиков.

Ошибка заключалась в том, что построение интеграционной шины не рассматривалось как отдельный технологический проект. Со своими правилами. Шину просто размазали по общему классическому графику, как будто это такой же модуль, как зарплата или кадры в 1С:ЗУП. Мы запустили проект. Команды начали работу. И тут вылезли наши знакомые гремлины.

  • Legacy-гремлин, или гремлин старых систем. Старая система без документации, критически важные данные, которые нельзя трогать. Но данные из нее жизненно нужны.
  • Гремлин знаний. Единственный эксперт по старой системе перегружен. К нему очередь из обеих команд. Уникальные бизнес-процессы также затрагивали слои передаваемых данных.
  • Гремлин зависимости. Мы зависели от скорости команды ЗУП, от согласования маппинга полей, от того, работает ли API на их стороне.

В плане эта зависимость не учитывалась.

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

Главный руководитель проекта смотрит в отчет и говорит: коллеги из интеграции, у вас закрыто 60% задач. Давайте на следующей неделе покажем заказчику, как данные идут из Oracle в ЗУП. А заказчик на статусе видел только структуру JSON-пакетов из источника в редакторе. Классический план проекта не видел текущей связанности.

  • Во-первых, связанности синхронизации: актуальное состояние вносимых изменений в учетные системы.
  • Во-вторых, связанности данных: очистка дублей, перепередача.
  • В-третьих, связанности семантики: новую бизнес-логику, которую закладывали на стороне ЗУП.

Весь этот процесс не был рассчитан на работу между слоями и описание промежуточного результата для интеграционного решения. Для ЗУП промежуточный результат был зафиксирован сразу. Для интеграционного решения — нет. Таким образом, у нас сломался первый метод — оценка прогресса.

Диаграмму сгорания задач мы использовали не случайно. На проектах внедрения ЗУП этот инструмент действительно работал.

Там каждый этап можно было связать с понятным результатом. Закрыли нормативно-справочную информацию — справочники на месте. Закрыли учет персонала — есть работающий модуль. Результат можно показать, проверить и принять.

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

Управление в темноте: почему проекты ESB, MDM и BI нельзя вести как классическое внедрение ERP

Второе, что сломалось, — принцип автономности команд.

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

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

Управление в темноте: почему проекты ESB, MDM и BI нельзя вести как классическое внедрение ERP

Второй кейс: ESB плюс MDM на новой платформе

Первый проект на новой отечественной платформе в связке ESB плюс MDM. Мы давно работали с вендором, знали его текущие продукты, прошли обучение, сертификацию. Были тесты в песочнице.

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

Задача была реализовать пилот в короткий срок: несколько систем, затем понимание масштабирования.

Если вспоминать слои Gartner, это третий слой — слой инноваций. Новая платформа, первый опыт, высокая неопределенность. После этого решение должно было спуститься на второй слой.

А что мы сделали?

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

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

Так начал накапливаться технический долг.

Дальше одна проблема тянула за собой другую. В ERP-проекте, если сравнивать, ошибка в блоке зарплаты не обязательно ломает закупки. А здесь один баг в формате данных мог повлиять на бизнес-логику, синхронизацию и обмен в целом. Это была не линейная цепочка, а паутина зависимостей.

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

К чему мы пришли

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

Только итерации здесь не произвольные спринты, а четко определенные фазы с конкретными критериями готовности.

  • Первая фаза — проверка концепции. Обычно это 2–4 недели. Задача — проверить, что выбранная архитектура работает в реальных условиях. Не на стенде, не в документации, а на данных заказчика и в его инфраструктуре. Если архитектура не выдерживает, мы узнаем об этом через месяц, а не через полгода.
  • Вторая фаза — прототип. Это минимально работающий результат. Заказчик пока не пользуется продуктом полноценно, но это первая демонстрация, первый работающий результат. Для ESB, например, это один-два потока. Для BI — первый дашборд. Для MDM — то, как данные превращаются в единый справочник.
  • Следующая фаза — MVP. Система работает в продуктиве, заказчик уже начинает пользоваться продуктом, но с ограниченным объемом. Он получает пользу от внедрения. И тут обычно вылезают проблемы с производительностью и масштабированием.
  • Последняя фаза — полноценный запуск. Все интеграции в работе. Ключевое преимущество — на каждой фазе есть точка принятия решения. Заказчик видит реальный результат и может скорректировать направление вместе с внутренней командой или командой подрядчика.

Как это работает на практике: BI и корпоративное хранилище данных

Покажу, как это работает на практике. Мы внедряли у себя 1С:Аналитику, BI-систему и корпоративное хранилище данных. Мы были и заказчиком, и исполнителем. Проект начинался как задача первого слоя: консолидация данных в единую точку для получения быстрой сводной информации.

Что было дано?

Десятки разных систем: 1С, ЗУП, документооборот, другие системы, Bitrix, внешние HR-системы, Google-таблицы.Формирование одного отчета, например БДР, занимало от трех до пяти часов. На выходе мы должны были получить быстрые дашборды.

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

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

  • API внешней HR-системы был закрыт. Мы написали вендору, договорились, они открыли доступ. В классике мы бы узнали об этом через месяц. Здесь это вылезло на второй неделе. На этапе прототипа был первый дашборд на реальных данных. И сразу вскрылись проблемы с качеством данных на уровне семантики.
  • Выручка в CRM и ERP считалась по-разному. Менеджеры заводили тестовые сделки и не закрывали. Что делать? Пришлось идти в источники и менять процессы ввода данных. На прототипе это стоило разговора с командой. Иначе мы бы получили мусор на входе и мусор на выходе. На этапе MVP дали доступ к системе определенной группе руководителей. И система начала медленно работать, начала тормозить. Тут подключилась связанность технологий и платформы. Мы осознанно переписали вызовы на быстрые веб-сервисы и масштабировали серверы. Скорректировали архитектуру для дальнейшего внедрения шины данных.
  • Дальше — полноценный запуск. Развернули систему на всю компанию. Пять часов на отчет превратились в мгновенный доступ. Проект начинался как задача первого слоя — просто собрать данные. А к запуску стал системой дифференциации.Появились дашборды для быстрых стратегических решений, которых раньше не существовало в компании. Система созрела и перешла из одного слоя в другой.
Управление в темноте: почему проекты ESB, MDM и BI нельзя вести как классическое внедрение ERP

Какие метрики нужны технологическим проектам

После этих проектов мы пересмотрели не только подход к планированию, но и сами метрики.

  • Первое — вместо иллюзии прогресса нужны метрики по фазам. На этапе проверки концепции главный вопрос очень простой: архитектурная гипотеза подтвердилась или нет. Получилось ли забрать данные из нужных источников? Работает ли выбранный подход в инфраструктуре заказчика? Есть ли ограничения, которые меняют архитектуру? На этапе прототипа уже важно смотреть, сколько интеграционных потоков действительно работает из запланированных. Не сколько задач закрыто в Jira, а сколько потоков можно показать как работающий результат. На этапе MVP появляются другие вопросы: какой процент данных проходит без ошибок, выдерживает ли система текущую нагрузку, готовы ли мы масштабировать решение дальше.
  • Второе — вместо иллюзии независимости нужны совместные контрольные точки. Каждая фаза должна заканчиваться общей приемкой. В ней участвуют не только аналитики и разработчики, но и владельцы данных: те, кто понимает, откуда данные берутся, что они означают и как используются в бизнес-процессе. Потому что в технологическом проекте нельзя просто поменять процесс ввода данных в одной системе и считать, что это никого не затронет. Такое изменение может повлиять на интеграцию, отчетность, справочники и соседние контуры. Поэтому связанность и синхронизация никуда не исчезают. Мы просто перестаем их игнорировать и начинаем ими управлять.
  • Третье — вместо иллюзии полного контроля нужна запланированная эволюция. Мы заранее принимаем, что архитектура на проверке концепции может быть временной. Что первый дашборд, скорее всего, покажет проблемы качества данных. Что MVP может вскрыть ограничения по производительности и масштабированию. Поэтому вместо детального плана на полгода, где все будто бы известно заранее, лучше работать короткими фазами. На каждой фазе есть результат, точка принятия решения и право на осознанную переделку, пока цена ошибки еще невысокая.

Главный вывод

Технологические проекты — это проекты про данные. Про то, как они ходят, что означают и кому принадлежат. Это другой тип систем. Они работают на разных слоях архитектуры. И зависимости между системами здесь не исключение, а норма. Поэтому методы управления нужно определять на старте. Если у вас есть аналогичный технологический проект, где все вроде как идет по плану, но что-то не так, доверьтесь этому ощущению. Посмотрите на проект через призму связанности. Спросите себя: инструментами какого слоя вы сейчас управляете? Фазовый подход помогает выйти из управления в темноте. На каждом шаге заказчик видит работающую систему, а не оценку прогресса. На каждой фазе есть точка принятия решения. Каждая фаза выявляет свой тип проблем, пока цена ошибки еще низкая. Все, о чем я говорю, — и провалы, и пути решения — это опыт нашей команды.

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

Похожие наблюдения из практики проектного управления я собираю в канале «Своя дистанция | Дмитрий Рыбаков» — @Rybakov_IT_Project.

33