{"id":14276,"url":"\/distributions\/14276\/click?bit=1&hash=721b78297d313f451e61a17537482715c74771bae8c8ce438ed30c5ac3bb4196","title":"\u0418\u043d\u0432\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043b\u044e\u0431\u043e\u0439 \u0442\u043e\u0432\u0430\u0440 \u0438\u043b\u0438 \u0443\u0441\u043b\u0443\u0433\u0443 \u0431\u0435\u0437 \u0431\u0438\u0440\u0436\u0438","buttonText":"","imageUuid":""}

В «Леруа Мерлен» на выбор техстека влияют инженеры компании

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

С 2018 года «Леруа Мерлен» придерживается модели платформы и экосистемы. Это связано с большим количеством бизнес-направлений: работа с B2C- и ПРО-клиентами, услуги, проектные продажи, онлайн/офлайн, поставщики... Всё это требует технических решений и десятков сервисов. И чем больше появлялось продуктов и новых запросов у клиентов, партнёров и самой компании, тем больше технологий она использовала.

До 2018 года все инженеры входили в единый ИТ-департамент. Тогда руководители сами решали, какие инструменты использовать и каких специалистов искать. С переходом к новой бизнес-модели в компании появились домены, в которых конкретные направления вместе развивают операционные и продуктовые команды. Так обособленный от бизнеса ИТ-департамент упразднили, а айтишников распределили по конкретным продуктам.

Отсутствие управления стеком породило технологический зоопарк

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

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

Нужен был грамотно упакованный технологический стек — визуализированная корпоративная библиотека технологий, языков, инструментов и фреймворков. Такой инструмент должен был помочь компании превратить «технологический зоопарк» в структурированный пул, не лишая при этом сотрудников автономии.

От абстрактного списка технологий к структурированной таблице

В 2018 году компания предприняла первую попытку систематизировать стек и составила техрадар. Как правило, он представлен в виде круга. Его делят на четыре зоны по типу объекта — технологии, языки и фреймворки, инструменты или платформы. А затем помещают эти объекты в одно из четырёх колец внутри фигуры — в зависимости от того, какой у технологии статус: её первично тестируют; её используют, но пока на небольших продуктах; она уже доказала пользу; или присутствует в старых продуктах, но не используется для новых.

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

Допустим, сотруднику нужен язык для фронтенда. На радаре указаны языки, сказано, какие хорошо себя показали, но где именно они помогли и в каком кейсе — непонятно. Иными словами, радар показывает, какие технологии есть, но зачем они там есть — остаётся вопросом.

Алексей Минаев, Enterprise architect

Тогда в 2020 году технологический комитет «Леруа Мерлен» — группа из технических архитекторов и техлидеров доменов — решил составить вместо радара таблицу технологий. В ней есть три параметра:

  • Тип — это язык, инструмент или фреймворк.
  • В каких сферах применяется — например, в машинном обучении, управлении API, в бэкенд-разработке бизнес-сервисов или в оценке качества.
  • В каком она «жизненном состоянии» — компания пока только исследует технологию, уже обкатывает на проде, активно использует или отложила. Как в техрадаре.

Команда из десяти членов техкомитета на протяжении недели ежедневно созванивалась, чтобы обсудить все инструменты, которые используются в продуктах: клеила стикеры на виртуальной доске Miro, спорила. А ещё объясняла свои приоритеты в заметках для рядовых сотрудников. Чтобы они не думали, что теперь работают преимущественно с Java, потому что на собрании было слишком много «ярых джавистов». Или что Python исключили из той или иной сферы, потому что начальник Василий его не любит. Цель обсуждения — доказать, что приоритетные технологии приносят компании бизнес-пользу.

С тех пор использовать инструменты, которые не входят в стек, в компании не рекомендовано. Но это ещё не значит, что стек нельзя менять.

Стек должен поспевать за прогрессом

В 2020 году технологический комитет просто зафиксировал положение дел. Но стек нужно регулярно анализировать и обновлять. К тому же сотрудники всё чаще предлагали техлидерам новые инструменты и вносили интересные находки в таблицу трендов, за которыми следили в свободное время сами.

Соглашаться на все предложения не имеет смысла, это снова привело бы к «технологическим царствам», от которых компания только избавилась. Так был принят алгоритм рассмотрения заявок. Назвали его просто: «Как начать использовать новую технологию». Алгоритм состоит из четырёх стадий, которые технология может пройти:

«Исследуем» или Research. Если 40% членов техкомитета соглашаются рассмотреть технологию, команда на старте прописывает часть вводных эксперимента:

  • что хочет проверить (например, качество библиотек на Node.js);

  • что вынуждает её это делать (библиотеки на текущих платформах работают плохо);
  • что должно измениться согласно гипотезе (компании будет проще хранить и выбирать объекты в библиотеках);
  • кто заинтересован (скажем, бэкенд-разработчики и разработчики с Node.js);
  • сколько времени нужно и какие метрики будут измеряться (допустим, скорость работы и простота использования).

А затем отчитывается по результатам: удалось ли выполнить задачи и почему (например, не удалось, потому что непонятно, как работают внутренние механизмы инструмента). Но если результаты положительные и 50% техкомитета удовлетворены, технология переходит на следующий этап.

«Тестируем» или Trial. Теперь команда может проверить одобренную технологию в ограниченном формате на проде. Если она не оправдает себя, её отложат. Если принесёт ощутимую выгоду и будет одобрена 80% техкомитета, сможет перейти в следующую категорию.

«Предпочитаем» или Best choice. Сюда попадают технологии, которые техкомитет рекомендует использовать. Это ориентир для тех, кто берётся за новый продукт, и для тех, кто только пришёл в компанию.

«Отложили» или Hold. Это либо технологии, которые не принесли никаких положительных изменений после пребывания в первых двух категориях, либо решения компании, которые уже устарели.

Конечно, решение техкомитета будет зависеть не только от технических деталей. Важны и другие аспекты. Например, много ли на рынке разработчиков со знанием этой технологии и дорого ли они стоят, есть ли в «Леруа Мерлен» свои эксперты. Почему технология в тренде — это кратковременный «хайп» или пользоваться ей начинают крупные компании. И что глобально технология принесёт «Леруа Мерлен».

Чтобы обсудить изменения и решить судьбу технологии, техкомитет встречается раз в две недели. Но фактические изменения вносят раз в квартал — чтобы за событиями было проще следить.

Единый подход к стеку двигает корпоративное развитие

Стратегия не только привела список технологий в порядок, но и сделала процессы прозрачнее, упростила взаимодействие внутри продуктовых коллективов. И доказала: каждый голос в компании имеет значение.

Технологии приходят в стек снизу вверх. Раньше языки и инструменты выбирали техлиды, а командам оставалось только мириться с решением. Теперь они могут предлагать изменения сами. Причём компания это поощряет и позволяет тратить на исследования часть рабочего времени. Нужно только согласовать это с руководителем. К тому же тестировать гипотезы просто. Обычно нужно запрашивать инфраструктуру для тестов и ждать одобрения. У «Леруа Мерлен» же есть платформа самообслуживания, где развернуть инфраструктуру можно нажатием одной кнопки.

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

Именно благодаря инициативам «снизу вверх» у «Леруа Мерлен» одной из первых в России появился набор инструментов Kotlin Multiplatform Mobile, или KMM. До 2018 года команды, ответственные за приложения для iOS и Android, работали в отрыве друг от друга — сервисы делались асинхронно, и каждое отличалось огромным легаси, что не давало вносить быстрые изменения и делиться знаниями друг с другом. KMM как кросс-платформенное средство помогло эффективнее переписать код для обоих приложений, поскольку позволяло командам работать над общими кодовыми базами и обмениваться опытом. И заодно экономило 50–70 часов разработки в месяц.

Будущий сотрудник знает, с чем сможет работать. Конечно, в требованиях к конкретной вакансии кандидат заранее видит, в каких языках и фреймворках должен разбираться.

Так ещё на старте понятно, что можно поработать с Kotlin и Typescript, даже если ты идёшь писать на Django, Java и Go. А ещё можно оценить весь технологический стек, убедиться, что в работе нет устаревших технологий, а легаси минимальное.

Новым разработчикам и техлидам проще освоиться. Без единого и структурированного техстека новый продакт тратил много времени, чтобы разбираться, с какими технологиями работают сотрудники, почему и каких разработчиков лучше нанимать. В структуре доменов есть технический директор и инжиниринг-менеджеры, которые вводят руководителей в курс дела. Но чаще всего продакт хочет разобраться во всём самостоятельно и без проволочек — особенно если шёл в компанию за автономией.

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

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

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

Рядовой инженер может влиять на стек всей компании. Даже если инженер начал работать две недели назад, он может сделать это.

В «Леруа Мерлен» есть внутренние профессиональные сообщества (communities) и особые группы по интересам (special interest groups, или SIGs), например по фронтенд-разработке. В сообщество могут вступить все желающие, кому интересен, например, фронтенд (неважно, дизайнер ты, аналитик или разраб). В SIG — только фронтенд-разработчики, но зато независимо от домена. SIG возглавляют лидеры компетенций.

  • Что получает сотрудник: возможность влиять на техстек, расширение зоны влияния в компании, обмен опытом с коллегами и контакт с новыми технологиями в рамках процесса RnD.
  • Что получает компания: управление технологическим стеком, построенное на центрах компетенций и профильных сообществах, лояльность и вовлечённость инженеров.

Это подход bottom up, когда инициаторами выступают инженеры и их мнение имеет значение. С точки зрения управления изменениями такой подход выгоднее, потому что зачастую инженеры предлагают использовать технологии, с которыми сами и будут работать, и у них нет задачи «продать» компании новые технологии.

0
26 комментариев
Написать комментарий...
Michael Platonov

Как же все это задрало: "у нас много проектов", "у нас много направлений", "стэк". Как поменялся ритейл за последние 20 лет? Добавили кассы самообслуживания и интернет-магазин. На бэке тоже пара изменений. Стэк? Есть вечные ценности ms/my sql, c, java, php... Фреймворк - не стэк, а временное говно. И говнозанятость преподносится как манна небесная

Ответить
Развернуть ветку
Sergey Nikolaev

Плюсую: посмотрел на сайте наличие товара - есть в магазине, еду; приехал в магазин - нет товара, ну прекрасно работает система 😅
На кассе самообслуживания стоит охранник и сотрудник кассы, который 50/50 контроллер и помощник при работе с кассой самообслуживания. В чем смысл?

И я не знаю, на что там влияют обычные или необычные сотрудники ЛМ, но качество обслуживания снижается, ассортимент не соответствует сезону, товары уже не по таким Низким ценам, о которых пишет компания.

Ответить
Развернуть ветку
Вася Пражкин
В «Леруа Мерлен» на выбор техстека влияют инженеры компании

Еще напишите, что там их почти не бьют и с работы уходят в 6 вечера. И обязательно про обед!

Ответить
Развернуть ветку
Михаил Баженов

😁

Ответить
Развернуть ветку
Bo.G

О! Легендарная контора, злостно нарушающая ст.10 п.1 ЗоЗПП
За чуть больше пол года при покупках я находил расхождения ценника и чеков 4 раза (фактически, через раз). В Роспотребнадзор, скоро уже, как коллегам по работе буду писать.
То ценники "забудут" поменять, то неправильно отмерят.
Хуже чем на рынке в 90-е.

Ответить
Развернуть ветку
Виктор

Часто бываю в Леруа на Калужском шоссе. Была только одна ошибка в чеке - пробили две трубы вместо одной. Через неделю туда заехал и вернул деньги, менеджер посмотрела по камерам и через пять минут оформила отмену. Или вам не повезло, или мне наоборот )

Ответить
Развернуть ветку
Bo.G

кто ж знает. скорее всего у вас стакан на половину полный.
моя статистика посещений имеет негативный тренд.

Ответить
Развернуть ветку
Поросенок Пётр

Просто доебаться хочется вот и всё.
Очевидно что в огромном магазине возможны косяки.

Но токсики строчат в роспотребнадзор.

Ответить
Развернуть ветку
Bo.G

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

Ответить
Развернуть ветку
Ivan Susanin

А в РПН зачем? Сам магазин не признает ошибку и не возмещает? Обычно конторы уровня ЛМ сами решат проблему клиента по опыту

Ответить
Развернуть ветку
Bo.G

я же говорю. системность.
эту "ошибку" можно заметить в 2 случаях: если вы сверяете чек на кассе или на кассе самообслуживания.
сами различия небольшие на неск десятков рублей (в зависимости от категории товара) и при большой корзине покупатель может и не заметить.
а теперь масштабируйте на ежедневный объем продаж.
я бы понял, е ли бы это было действительно один два раза.. но когда это происходит регуляпно...
РПН это правовой механизм контроля исполнения норм законодательства. Обратная связь. Пока о проблеме молчат, то её как бы и нет.
Про "признание" ошибки.
Вот делаю я ремонт. У меня есть смета и план рабрт. Есть ограниченное время в котором я ввполняю работы одну за другой. Всё идет по плану, пока мне не привозят линолеум, отрезанный в меньшую сторону. И он уже не ложится. Магазин вроде признает ошибку и предлагает замену. А на кой она мне, если это выпадение из графика и я не укладываюсь по времени?
и ведь в большую сторону не отрезают.
и ведь это не я такой один. сколько людей с такой шляпой сталкиваются. А сколько ещё столкнуться.
Меня с определенного момента просто заебало такое отношение. Это не только этой конторы касается. И что особенно радует. Говоришь, мол, соблюдайте правила торговли. В ответ, мол, да пишите ничего не поменяется. Приходишь через время, смотришь, а поменялось. И ценники правильные и на своих местах, и описания полные и понятные и тд и тп.

Ответить
Развернуть ветку
Хозяин

"В «Леруа Мерлен» на выбор техстека влияют инженеры компании" - ну хорошо хоть уборщица не влияет.

Ответить
Развернуть ветку
Ирина Неретина

ну вы тоже так сравнили уместно

Ответить
Развернуть ветку
James Bomond

Там инженеры уровня уборщицы и за те же деньги

Ответить
Развернуть ветку
Константин

Очередная бумажка для прикрытия жопы

Ответить
Развернуть ветку
GR

Чеки все также долго у вас печатаются? Когда заходил в ЛМ в Екатеринбурге последний раз, то чеки секунд по 20 распечатывались на кассе. Умножим на количество посетителей и одна из причина очередей становится ясна.

Ответить
Развернуть ветку
SB

Подскажите, в сухом остатке, как у вас устроен процесс запуска нового продукта или фичи: требования корп. архитектуры по тех стеку, это требования или рекомендации? Если требования, то имеет ли корп.архитектор в своей карте целей пересекающиеся цели с целями владельца продукта? Для выбираемых технологий существует процесс оценки через TCO и TTM продуктов?

Ответить
Развернуть ветку
Всвиторе
Если от компании ушёл подрядчик, разработавший для неё сервис на языке, который она не использует, то команда не сможет поддерживать этот сервис.

Неправда. Вопрос в эффективности поддержки. Также зависит насколько хорошо подготовлена документация и во сколько шагов поднимается прод/дев режим.

Писать с нуля каждый раз это тупо прожигание денег компании. Что будете делать с сервисами написанными на GO когда хайп утихнет?

Ответить
Развернуть ветку
Умных много смелых мало

Очень интересная статья, особенно радует подход связанный с тем, что компания позволяет своим сотрудникам тестировать и предлагать решения с целью дальнейшего развития, а специалисты могут оценивать и проявлять себя.
Конечно много вопросов остается на процессах, умения команд правильно оценить мнения рядовых специалистов.
«Рядовой инженер может влиять на стек всей компании»
Подразумеваю, что часть специалистов имеет разные уровни и оценка решений может отличаться. Для кого то решение выбранное специалистом покажется тривиальным, для кого-то нет.
Интересно может ли такая огромная компания пройти путь развития приведя компанию к единому стеку, с точки зрения ресурсов скорее всего это была бы глобальная оптимизация.

Но это лишь догадки, мы ведём компанию 169.ru и часто обращаем внимание на такого гиганта как Леруа), отдельный респект за конструктор который есть там и памятник тому кто этот шедевр делал.
Жаль не дошли до автоматизации покупок через него, но это уже я куда-то ушел в другую тему 😏😏😏

В общем путь развития интересен, ждём статей как будете развиваться дальше 😏

Ответить
Развернуть ветку
Andrey Family

Весьма интересно устроено. Уверен, есть не мало компаний, которым стоило бы взять пример с ЛМ по части организации зоопарка.

Ответить
Развернуть ветку
James Bomond

Учитывая тот факт, что Леруа до сих пор юзает систему на db2, вопрос прогресса там не обсуждается)

Ответить
Развернуть ветку
Олег Кобзорев

В текущих условиях больше всего интересно, остается Леруа или уйдет )

Ответить
Развернуть ветку
Алишер Жолманов

Завтра

Ответить
Развернуть ветку
Алишер Жолманов

Здравствуйте

Ответить
Развернуть ветку
Алишер Жолманов

Пожалуйста помогите мне

Ответить
Развернуть ветку
Alexander

Вы тут умно про стеки рассуждаете, а у вас приложение и сайт годами не обновляется, UX весьма далёк от идеала. Чем вы там заняты вообще?

Пишите код, б..ь!

Ответить
Развернуть ветку
23 комментария
Раскрывать всегда