Как команда Infrastructure Data Infrastructure удовлетворяла растущий спрос, придерживаясь твердых принципов
Опубликовано: 2022-05-06Масштабирование компании никогда не бывает линейным процессом. По мере масштабирования вашего стартапа команды будут сталкиваться с препятствиями, которые потребуют от них быстрой адаптации к новым требованиям.
Вот где мы нашли нашу команду по инфраструктуре данных в конце 2020 года — мы предоставляем данные и инструменты для команд в Intercom, чтобы получать информацию и запускать важные процессы, и были более востребованы, чем когда-либо. За последние пару лет компания Intercom значительно выросла, и мы наняли множество невероятно талантливых людей, чтобы они помогали нам в нашем путешествии. В результате траектория развития нашей компании быстро изменилась – к концу прошлого года спрос на нашу команду был выше, чем когда-либо прежде. Мы поняли, что инфраструктуры, методы и процессы, которые мы использовали, не могли эффективно работать в нашем новом масштабе.
Команда по инфраструктуре данных достигла критической точки
Команда провела большую часть дня, занимаясь мелкими проблемами, которые возникали в нашей системе, постоянно работая реактивно, вместо того, чтобы искать основные проблемы и активно укреплять инфраструктуру — у нас просто не было времени. Как менеджеру это означало, что мне часто приходилось вмешиваться и помогать с повседневными задачами, а не сосредотачиваться на направлении, стратегии и профессиональном развитии команды. Мы достигли переломного момента, и было ясно, что что-то должно измениться.
«Мы установили набор принципов, чтобы привести команду в соответствие с нашими целями и сфокусировать нашу работу»
Когда к команде присоединился Кормак МакГуайр, наш менеджер по инженерным вопросам, мы сделали шаг назад и посмотрели, что нужно сделать, чтобы вернуться в нужное русло. Мы заметили несколько проблем, с которыми мы сталкивались в прошлом, таких как разрозненность знаний, постоянное переключение контекста и снижение приоритетности важных проблем работоспособности системы. Чтобы решить эти проблемы, мы установили ряд принципов, чтобы привести команду в соответствие с нашими целями и сфокусировать нашу работу.
Почему принципы являются неотъемлемой частью нашей работы в Intercom?
За прошедшие годы мы узнали, что наши самые результативные и счастливые команды лучше справляются с требованиями, когда они вдумчиво и обдуманно подходят к своей работе. Мы считаем, что принципы — это лучший способ масштабировать команду и поддерживать ее согласованность, доверяя им делать то, что им нужно. Наши принципы вырастают из того, что мы узнали о том, что работает хорошо, а что нет.
Вот самые насущные проблемы, которые нам нужно было решить, и принципы, которые мы применяли к каждой из них.
Проблема 1: приоритет скорости над решением проблемы
Мы порадовали наших клиентов, то есть наших коллег из Intercom, тем, что реализовали проекты быстро, но не давали себе достаточно времени, чтобы понять основную проблему, которую нужно было решить. Нам часто приходилось пересматривать завершенные проекты, когда предыдущее предположение оказывалось неверным или мы понимали, что какой-то сценарий был упущен из виду.
Принцип 1: Делай меньше, лучше
Работа над меньшим количеством задач означает меньшее переключение контекста и позволяет более глубоко сосредоточиться, чтобы полностью понять проблему. У команды есть больше возможностей для повторения решения, пока оно не удовлетворит цели, которые мы поставили перед собой.
Принятие принципа «делай меньше, лучше» означало необходимость идти на трудные компромиссы, чтобы принести пользу команде в долгосрочной перспективе. Во-первых, мы установили службу статуса, чтобы другие команды могли проверять ход своих данных вместо того, чтобы проверять их у нас. Это высвободило время, которое мы бы потратили на ответы на запросы, чтобы мы могли использовать его для работы в наших системах и, в конечном итоге, для ускорения доставки данных.
«Нам нужно было сосредоточиться на одной проблеме, пока она не будет решена, и мы были уверены, что нам не придется к ней возвращаться. Только после этого мы могли перейти к следующему пункту».
Во-вторых, мы решили сосредоточиться только на надежности нашего ежедневного ELT (извлечение, загрузка, преобразование), процесса, с помощью которого последние данные извлекаются каждую ночь и обновляются все существующие данные. Нам нужно было сосредоточиться на одной вещи, пока она не будет решена, и мы были уверены, что нам не придется к ней возвращаться. Только после этого мы могли перейти к следующему пункту.

Проблема 2: бункеры знаний
Наша команда по инфраструктуре данных небольшая, поэтому инженеры обычно работают над проектами индивидуально. Другим инженерам в команде было сложно просматривать код без необходимого контекста, и если возникали проблемы с существующими службами, только инженер, работавший над системой, обладал знаниями для быстрого решения проблемы.
«У нас были умные люди, которые параллельно делали умные вещи»
Когда этот инженер был в отпуске, вся работа останавливалась. Наши товарищи по команде вскоре разочаровались в том, что они являются единственным человеком, ответственным за область. Короче говоря, у нас были умные люди, которые параллельно делали умные вещи — нам нужно было создать сплоченные процессы, которые лучше поддерживали бы наших инженеров.
Принцип 2: Объединяйтесь в проблемах
Над каждым решением должны работать как минимум два инженера. Назначение одного инженера вместо двух не обязательно удваивает эффективность или качество результата, это просто увеличивает риск возникновения точек отказа. Проекты всегда дают лучшие результаты, когда в процесс включено более одной точки зрения.
Знание того, что всегда есть кто-то, кто ответит на вопросы или решит проблемы в определенной области, уменьшило нагрузку на отдельных инженеров, облегчив им возможность взять отпуск или перейти к новым проектам.
Проблема 3: недооценка работоспособности системы
Проблемы со здоровьем системы являются неотъемлемой частью работы любой службы. Однако без эффективной системы сортировки и приоритизации новых проблем дежурный инженер субъективно решал, какие проблемы решать в первую очередь.
Когда эти проблемы со здоровьем системы действительно возникали, мы не хотели помечать их как первоочередные (P1), потому что наши аналитические данные не предназначены строго для клиентов, и поэтому мы считали их менее важными. Однако эти проблемы могли повлиять на общее состояние системы и негативно сказаться на работе нашей команды. Мы поняли, что уделяем им недостаточно внимания, и со временем они усугублялись, вызывая более серьезные проблемы.
Принцип 3. Состояние системы всегда равно P1.
Любая системная проблема, влияющая на наши основные SLA (соглашения об обучении), будет приоритетной (P1). Нам нужно было переосмыслить наш подход к пометке проблемы как P1; перестать думать о P1 только как о срочных, блокирующих клиентов чрезвычайных ситуациях, а вместо этого как о инициаторах важного процесса.
С момента реализации этого принципа мы решали вопросы гораздо эффективнее. Проблемы с работоспособностью системы помечаются как P1, и если дежурному инженеру не хватает контекста для самостоятельного решения новой проблемы P1, команда приостанавливает упреждающую работу и перенаправляет свои усилия до тех пор, пока проблема не будет полностью устранена и устранена. Инцидент автоматически записывается в Slack-канал нашей инженерной команды, а это означает, что любой человек в организации, обладающий дополнительным контекстом или пониманием проблемы, может внести свой вклад, чтобы решить проблему как можно быстрее.
Будьте реалистичны в отношении того, с чем может справиться ваша команда
Небольшим командам легко взять на себя слишком много, слишком рассредоточиться и упустить важные детали, которые в конечном итоге создадут больше работы.
Делать меньше, лучше и ставить здоровье системы в качестве нашего главного приоритета означало, что мы могли создавать более надежные структуры, на основе которых можно было улучшать другие ключевые элементы нашего процесса, и работать проактивно, а не реактивно. Назначение двух инженеров для каждого проекта изменило то, как мы работаем. Одной из ценностей Intercom является «мы идем дальше вместе», и это подтверждается снова и снова с тех пор, как мы приняли этот подход.
Вам интересно, как мы работаем и подходим к решению проблем? Мы будем рады поговорить с вами — ознакомьтесь с нашими открытыми вакансиями.