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

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Привет, Хабр! Меня зовут Кирилл Веркин, я Senior QA в СберМаркете. Эта статья о том, как за 1,5 года моя команда прокачала уровень инженерной культуры с нуля до самого высокого среднего балла в компании среди 105 команд. (Да, у нас есть уровни инженерной культуры!)

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

Что было на старте (спойлер: ничего)

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

В тот момент в СберМаркете запустилась Модель оценки зрелости команд — инструмент, с помощью которого каждая команда могла определить свой уровень инженерной культуры и наметить план развития. Уровни нужно было «защищать» — показывать результаты и внедрять стандартизированные подходы.

Точкой отсчета стал... нулевой уровень. Звучит обидно. И очень мотивирует что-то менять. Поэтому по договоренности с тимлидом я взял на себя ответственность за прокачку команды по нескольким показателям.

Что такое модель зрелости команд и зачем она нам понадобилась

Team Maturity Model (Модель зрелости команд, дальше TMM) — это список инженерных практик с описанием базового уровня для всех команд разработки. Цель внедрения TMM — сильная инженерная культура: синхронизация и достижение бейзлайна по ключевым инженерным метрикам для всех команд. 

Это универсальная практика, которую каждая конкретная компания адаптирует под себя, свои цели и особенности. Напрмер, в СберМаркет Tech в TMM включены 3 метрики, каждая из которых состоит из нескольких направлений:

  1. Эксплуатация — оценивает вклад команды в работу над устойчивостью сервисов.

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

    • Observability. Оценивает, насколько хорошо команда знает и видит состояние своих систем, имеет ли список действий на заранее известные проблемы.

  2. Security — уровень информационной безопасности.

    • Образование и культура в сфере ИБ. Оценивает уровень Security-грамотности всех членов команды и актуальность знаний.

    • Развитие безопасности. Оценивает динамику применения Security-практик и снижение появления новых уязвимостей.

  3. Delivery — как команда планирует сроки выполнения задач, насколько эффективно доставляет фичи в прод.

ТММ помогает системно прокачивать команды на основе прозрачных правил. Все метрики имеют уровни от 0 до 3, где 2 — это целевое значение, к которому все должны стремиться.

Например, вот уровни метрики «Дежурства и практики инцидент-менеджмента» в рамках «Эксплуатации».

Уровень

Описание

Что нужно сделать, чтобы получить уровень

0

В команде нет процесса дежурств.

Оценка по умолчанию выдается новой команде или команде, у которой нет дежурных и она не сталкивается с инцидентами.

1

Команда осознаёт важность дежурств и следит за актуальностью информации, чтобы как можно быстрее реагировать на инциденты.

Прочитать регламент дежурств. 

Настроить график дежурств в Grafana.

Настроить цепочку эскалации.

2 (Бейзлайн)

Команда поддерживает актуальность информации о своих сервисах. Все в команде знают, кто такие NOC и что такое инцидент/проблема.

Заполнить файл с конфигурациями  для всех сервисов команды.

Всем в команде пройти курс о процеcсах работы с NOC-инженерами.

3

Команда самостоятельно заполняет инциденты. Проводятся разборы, при необходимости заполняются постмортемы и заводятся проблемы.

Заполнить 2 инцидента — они должны быть приняты экспертами.

Процесс прокачки уровня в рамках каждой из метрик строится следующим образом:

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

  2. Далее команда выполняет запланированные шаги и растет по TMM в течение квартала. Если возникают вопросы или нужна помощь, призывают на помощь опять же внутренних экспертов. Каждый участник команды может взять на себя лидирование зрелости по категориям ТММ в команде.

  3. По окончании квартала команда может попробовать «защитить» получение нового уровня. 

Как мы прокачивали метрику Delivery

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

Пока мы выбирали, какая метрика это будет, в компании объявили большое соревнование: нужно первым достичь 3-го уровня метрики Delivery. 

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

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

На момент старта в нашей команде были следующие проблемы:

  1. Мы не оценивали сложность задач и брали в спринт всё «без разбора».

  2. Как следствие — брали больше задач, чем могли выполнить.

  3. Задачи были не декомпозированы: мы не разбивали крупные таски на более мелкие — в итоге на ревью нужно было просматривать большие фрагменты кода, что увеличивало сроки.

  4. Мы не обсуждали, что в спринте прошло хорошо, а что не очень, и не проговаривали, на каком этапе возникают повторяющиеся проблемы.

Я понял, что нам нужно внедрить регулярные ретро, и записался на внутреннее обучение у скрам-мастеров — это был дневной мастер-класс с теорией и практикой, после которого у меня остался готовый фреймворк и набор шаблонов в Miro. 

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

Внедрили ретро

Мы начали проводить ретро в команде в конце каждого спринта. Выделили 2 цели:

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

  2. Сделать это регулярной практикой. Мы будем потихоньку предпринимать новые шаги, которые помогут завоевать 1-й уровень Delivery. Например, один из пунктов, чтобы его получить — смотреть дэшборды с командными метриками. Эту практику внедрили в первую очередь.

Подробнее об IT-метриках в СберМаркете наши tech-менеджеры рассказывали в подкасте «Люди и код».

На ретро мы начали смотреть на такие диаграммы:

  • сгорание задач — с какой скоростью закрывались задачи в течение двух недель;

  • управление — на каком этапе зависали задачи;

  • производительность — какой процент задач, заявленных на спринт, выполнен в конце двух недель.

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

Зафиксировать на странице Командные соглашения: для того, чтобы реквест считался проверенным, нужное как минимум два апрува от команды. 15.09.2023. Ответственный — Иванов Иван Петрович.

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

Это заняло больше времени, чем планировалось изначально. Ключевой сложностью стало научиться корректно оценивать сложность задач. 

Вписались в новый челлендж

За 10 месяцев мы достигли сразу второго уровня! Именно столько времени нам понадобилось, чтобы не только изменить процесс, но и показать результат на реальных данных. 2-й уровень нам выдали, когда по итогам квартала мы стали закрывать 70% запланированных задач. 

Через пару месяцев после этого у нас в команде появилась проджект-менеджер, и работа по этому направлению перешла к ней. Уже под её чутким руководством мы достигли 3-го уровня, хотя и не стали в этом первыми в компании. Она помогла нам навести порядок с документацией — мы стали лучше описывать задачи и еще точнее их оценивать.

Однако совсем скоро стартовал новый челлендж. Теперь команды должны были достичь среднего уровня в 2,8 по всем метрикам (балл за Security и Эксплуатацию считается как среднее арифметическое нескольких метрик, поэтому может быть дробным). На тот момент мы достигли второго уровня по всем метрикам и решили ворваться ещё и в эту игру.

Как взялись за следующую метрику и что из этого вышло

За несколько месяцев до объявления конкурса тимлид предложил мне лидировать рост ещё одной метрики — Security. А точнее — одной из её составляющих: обучения и развития культуры ИБ. Для этого было необходимо, чтобы все члены команды регулярно были в курсе свежих изменений в практиках ИБ в компании и своевременно проходили обязательные курсы. 

В команде назначают Security Champion’а — ответственного за метрику Security. Он посещает воркшопы по безопасности, а затем транслирует информацию на команду и следит за тем, чтобы эти знания применялись на практике. 

Уровень 2 по этой метрике присваивается команде, когда все члены команды успешно прошли онбординг-курс, в команде назначен как минимум один Security Champion, никто еще не прошел тестирование по материалу от Security Champion’а.

У нас Security Champion’ом назначили меня — я ходил на обучение от команды ИБ, а затем доносил ключевые мысли до команды с помощью воркшопов. После я следил, чтобы необходимые Security-практики использовали при разработке.

Чтобы защитить нужный уровень по этой метрике, мы предоставляли записи проведенных командных воркшопов. Всем членам команды нужно было пройти обязательные курсы, я лично составил с каждым план по прохождению и поддерживал в этом процессе. В итоге мы достигли 3-го уровня Security через 4 месяца после получения 2-го. 

В итоге всего за 1,5 месяца со старта конкурса мы стали первой командой, которая достигла среднего уровня инженерной культуры 2,8 по всем трём метрикам!

Что в итоге

В каждой практике есть уровни и их описание — это добавило элемент геймификации: как будто подталкивало собирать ачивки и помогло нам поэтапно развить инженерную культуру с разных сторон. 

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

Расскажите, а как у вас в компаниях оценивают инженерную культуру? Можете ли вы повлиять на процессы, будучи специалистом, а не тимлидом?

Tech-команда СберМаркета ведет соцсети с новостями и анонсами. Если хочешь узнать, что под капотом высоконагруженного e-commerce, следи за нами в Telegram и на  YouTube. А также слушай подкаст «Для tech и этих» от наших it-менеджеров.

Источник: https://habr.com/ru/companies/sbermarket/articles/793934/


Интересные статьи

Интересные статьи

Эта статья посвящена особенностям доработок в Apache Superset, и в ней я расскажу, как его можно использовать для визуализации больших объемов данных в рамках сводных таблиц. Хочу читать дальше Все...
Всем привет. Меня зовут Семён, я руковожу разработкой партнёрских сервисов в ДомКлик. О роли тимлида сказано и написано много: бесконечное число книг, технических и не очень, тренинги, ...
В недавнем выпуске подкаста DotNet & More мы обсуждали полезные материалы для тимлидов и всплыла классическая проблема: как совмещать управление командой и напис...
В конце 2019 года мы на Хабр Карьере проводили опрос пользователей, чтобы понять текущее состояние ИТ-рынка — насколько специалисты удовлетворены своей работой, какие факторы их мотивирут и д...
Это — подборка мероприятий, которые пройдут при поддержке Университета ИТМО в ближайшие несколько месяцев. Будут фестивали, семинары, конкурсы, «зимние школы» и даже стендап. ...