Точка А: Проблемы роста и «вертикальные колодцы»Два с половиной года назад продукт столкнулся с классическими «болями» быстрорастущих систем:
- Высокий Time-to-Market: любой проект или разработка модели занимали минимум один месяц, а зачастую растягивались на срок от двух до шести месяцев.
- Разобщенность команд: аналитики, дата-сайнтисты (DS) и инженеры данных (DE) работали в изолированных «пузырях». Это приводило к дублированию фичей и конфликтам: DS могли создать фичу для модели, которую инженеры технически не могли внедрить в продакшн.
- Кризис планирования: в Jira скопились миллионы задач, они были расписаны на год вперед, но команда не понимала общих целей и ценности своей работы.
- Технологический потолок: из-за дублирования процессов и неоптимального кода команда уперлась в физические мощности кластера.
Стратегия трансформации: от задач к ценностиПервым шагом стал переход к Value-ориентированному подходу. Бэклог был очищен (удалено более 30% задач), и введено квартальное планирование на 12 недель (6 спринтов). Теперь у каждой цели есть ответственный, который декомпозирует её и понимает, какой бизнес-эффект она принесет.
- Объединение DS и аналитики
Команды аналитиков и дата-сайнтистов были объединены, чтобы стереть границы в коммуникациях. Это позволило им использовать общие инструменты и синхронизировать процессы ретротестов (которых проводится около 200 в год) и обучения моделей (около 100 в год).
- Дата-инженерия как Self-Service
Ключевым изменением стал пересмотр роли дата-инженеров. Вместо того чтобы просто писать код по заявкам, DE создали инструментарий («обертку»), который позволил аналитикам и DS самостоятельно писать DAG-и и выводить решения в прод.
- Контроль и ревью: инженеры стали «контролирующим органом», проверяющим код других команд на соответствие стандартам,
- Стандартизация: был внедрен жесткий принцип «одна задача — одна витрина». Все процессы стали единообразными, что упростило поиск ошибок и разбор инцидентов,
- Оптимизация: вовлечение DS в написание кода для продакшна заставило их думать об эффективности. Например, вместо «тяжелой» фичи, которая считается сутки, теперь выбираются решения, дающие аналогичный эффект при меньшей нагрузке на кластер.
Единый Feature Store и контроль качестваДля решения проблемы расхождения данных в тестах и на проде была создана единая библиотека (Feature Store). Она содержит логику расчета фичей (агрегаты за период, поиск последнего значения), которая идентична как для исторических расчетов (ретротестов), так и для продакшена.
Контроль качества данных (Data Quality) осуществляется через внутренний инструмент. Система позволяет настраивать проверки (включая PSI для мониторинга стабильности распределения фичей), настраивать алерты и визуализировать метрики в Grafana.
Благодаря трансформации удалось достичь следующих показателей:
- Снижение TTM: при необходимости разработка и внедрение модели теперь могут быть выполнены за один спринт (2 недели), тогда как раньше на это не хватало и месяца.
- Прозрачность: команда понимает цели бизнеса, а инженеры получили время на развитие инструментов вместо тушения пожаров.
- Стабильность для клиентов: несмотря на консерватизм банковского сектора в вопросах скоринга, переход на новые фичи и модели стал более предсказуемым и обоснованным.
Как отмечает Влад, не существует «идеального рецепта» на все времена. Процессы должны эволюционировать вместе с ростом продукта. Инструменты Self-Service и жесткая стандартизация кода — это не способ «нагрузить» аналитиков лишней работой, а инструмент масштабирования и обеспечения прозрачности всего продукта,.