Jak zespół ds. infrastruktury danych firmy Intercom sprostał rosnącemu zapotrzebowaniu dzięki solidnym zasadom

Opublikowany: 2022-05-06

Skalowanie firmy nigdy nie jest procesem liniowym. Gdy Twój startup będzie się rozwijał, zespoły napotkają przeszkody, które wymagają od nich szybkiego dostosowania się do nowych wymagań.

Właśnie tam znaleźliśmy nasz zespół ds. infrastruktury danych pod koniec 2020 r. – dostarczamy dane i narzędzia dla zespołów w Intercomie, aby uzyskać wgląd i uruchomić kluczowe procesy, i byliśmy bardziej poszukiwani niż kiedykolwiek. Intercom doświadczył znacznego rozwoju w ciągu ostatnich kilku lat i zatrudniliśmy wielu niesamowicie utalentowanych ludzi, aby pomogli nam w naszej podróży. W rezultacie trajektoria naszej firmy gwałtownie się zmieniła – pod koniec zeszłego roku nasz zespół odczuwał większe zapotrzebowanie niż kiedykolwiek wcześniej. Zdaliśmy sobie sprawę, że używane przez nas infrastruktury, praktyki i procesy miały problemy z efektywnym działaniem na nową skalę.

Zespół ds. infrastruktury danych osiągnął punkt krytyczny

Zespół spędzał większość czasu na radzeniu sobie z drobnymi problemami, które pojawiły się w naszym systemie, nieustannie pracując reaktywnie, zamiast przyglądać się podstawowym problemom i proaktywnie wzmacniać infrastrukturę – po prostu nie mieliśmy czasu. Jako menedżer oznaczało to, że często musiałem włączać się i pomagać w codziennych zadaniach, zamiast skupiać się na kierowaniu zespołem, strategii i rozwoju zawodowym. Osiągnęliśmy punkt krytyczny i było jasne, że coś musi się zmienić.

„Ustanowiliśmy zestaw zasad, aby dostosować zespół do naszych celów i skoncentrować naszą pracę”

Kiedy do zespołu dołączył Cormac McGuire, nasz Group Engineering Manager, cofnęliśmy się o krok i przyjrzeliśmy się, co należy zrobić, aby wrócić na właściwe tory. Zauważyliśmy kilka problemów, które w przeszłości blokowały zespoły, takich jak silosowanie wiedzy, ciągłe przełączanie kontekstu i zmiana priorytetów ważnych problemów dotyczących kondycji systemu. Aby rozwiązać te problemy, opracowaliśmy zestaw zasad, aby dostosować zespół do naszych celów i skoncentrować naszą pracę.

Dlaczego zasady są integralną częścią sposobu, w jaki pracujemy w Intercom?

Przez lata nauczyliśmy się, że nasze najskuteczniejsze i najszczęśliwsze zespoły lepiej radzą sobie z wymaganiami, gdy są rozważne i zastanawiają się nad tym, jak pracują. Uważamy, że zasady to najlepszy sposób na skalowanie zespołu i utrzymywanie ich w zgodzie, jednocześnie ufając, że zrobią to, co jest dla nich właściwe. Nasze zasady wyrastają z tego, czego nauczyliśmy się o tym, co działa dobrze, a co nie.

Oto najpilniejsze problemy, które musieliśmy rozwiązać, oraz zasady, które zastosowaliśmy do każdego z nich.

Problem 1: Priorytetyzacja szybkości przed rozwiązywaniem problemów

Zadowoliliśmy naszych klientów, czyli naszych kolegów z Intercomu, szybko dostarczając projekty, ale nie daliśmy sobie wystarczająco dużo czasu, aby zrozumieć główny problem do rozwiązania. Często musieliśmy wracać do ukończonych projektów, gdy poprzednie założenie okazało się błędne lub zdaliśmy sobie sprawę, że scenariusz został przeoczony.

Zasada 1: Rób mniej, lepiej

Praca nad mniejszą liczbą zadań oznacza mniej przełączania kontekstów i pozwala na głębsze skupienie się na całkowitym zrozumieniu problemu. Zespół ma więcej miejsca na iterację rozwiązania, aż spełni cele, które sobie wyznaczyliśmy.

Przyjęcie zasady „rób mniej, lepiej” oznaczało dokonywanie trudnych kompromisów z korzyścią dla zespołu w dłuższej perspektywie. Najpierw utworzyliśmy usługę statusu, aby inne zespoły mogły sprawdzać postęp swoich danych zamiast sprawdzać u nas. To uwolniło czas, który spędzilibyśmy na odpowiadaniu na zapytania, abyśmy mogli go wykorzystać do pracy w naszych systemach i ostatecznie przyspieszyć dostarczanie danych.

„Musieliśmy skupić się na jednej rzeczy, dopóki nie zostanie rozwiązana i byliśmy pewni, że nie będziemy musieli do tego wracać. Dopiero wtedy mogliśmy przejść do następnej rzeczy”

Po drugie, zdecydowaliśmy się skupić tylko na niezawodności naszego codziennego ELT (wyodrębnianie, ładowanie, przekształcanie), procesu, w którym najnowsze dane są pobierane każdej nocy, a wszystkie istniejące dane są odświeżane. Musieliśmy skupić się na jednej rzeczy, dopóki nie zostanie rozwiązana i byliśmy pewni, że nie będziemy musieli do niej wracać. Dopiero wtedy mogliśmy przejść do następnej rzeczy.

Problem 2: Silosy wiedzy

Nasz zespół ds. infrastruktury danych jest niewielki, więc inżynierowie zazwyczaj pracowali nad projektami indywidualnie. Innym inżynierom w zespole trudno było przejrzeć kod bez niezbędnego kontekstu, a jeśli pojawiły się problemy z istniejącymi usługami, tylko inżynier, który pracował nad systemem, miał wiedzę, aby szybko rozwiązać problem.

„Mądrzy ludzie robili mądre rzeczy równolegle”

Kiedy inżynier był na urlopie, wszelkie prace się kończyły. Nasi koledzy z zespołu wkrótce byli sfrustrowani faktem, że są jedyną osobą odpowiedzialną za dany obszar. Krótko mówiąc, mieliśmy inteligentnych ludzi, którzy równolegle robili inteligentne rzeczy – musieliśmy stworzyć spójne procesy, które lepiej wspierałyby naszych inżynierów.

Zasada 2: Połącz się w problemach

Każde rozwiązanie wymagałoby pracy co najmniej dwóch inżynierów. Przypisanie jednego inżyniera zamiast dwóch niekoniecznie podwaja wydajność lub jakość wyniku, po prostu zwiększa ryzyko wystąpienia punktów awarii. Projekty zawsze przynoszą lepsze rezultaty, gdy w procesie jest uwzględniona więcej niż jedna perspektywa.

Świadomość, że zawsze był ktoś, kto odpowiadałby na pytania lub rozwiązywał problemy w danym obszarze, zmniejszała presję na poszczególnych inżynierów, ułatwiając im wzięcie urlopu lub przejście do nowych projektów.

Problem 3: Niedostateczna priorytetyzacja stanu systemu

Problemy ze zdrowiem systemu są nieodłączną częścią obsługi każdej usługi. Jednak bez skutecznego systemu do segregowania i ustalania priorytetów nowych problemów, inżynier dyżurny subiektywnie decydowałby, które problemy należy rozwiązać w pierwszej kolejności.

Kiedy pojawiły się te problemy zdrowotne systemu, niechętnie oznaczyliśmy je jako najwyższy priorytet (P1), ponieważ nasze dane analityczne nie są ściśle skierowane do klientów, dlatego uznaliśmy je za mniej krytyczne. Jednak te problemy mogły potencjalnie wpłynąć na ogólny stan systemu i negatywnie wpłynąć na pracę naszego zespołu. Zdaliśmy sobie sprawę, że nie nadaliśmy im wystarczająco wysokiego priorytetu i z biegiem czasu narastały, powodując większe problemy.

Zasada 3: Stan systemu to zawsze P1

Każdy problem systemowy mający wpływ na nasze podstawowe umowy SLA (umowy dotyczące nauki usług) będzie miał najwyższy priorytet (P1). Musieliśmy przemyśleć nasze podejście do oznaczania problemu jako P1; przestać myśleć o P1s tylko jako o pilnych, blokujących klienta sytuacjach awaryjnych, a zamiast o inicjatorach ważnego procesu.

Od czasu wdrożenia tej zasady radzimy sobie z problemami znacznie efektywniej. Problemy ze zdrowiem systemu są oznaczane jako P1 i jeśli inżynier dyżurny nie ma wystarczającego kontekstu do samodzielnego rozwiązania nowego problemu P1, zespół wstrzymuje proaktywną pracę i przekierowuje swoje wysiłki, aż problem zostanie w pełni spowodowany i rozwiązany. Incydent jest automatycznie rejestrowany w kanale Slack naszego zespołu inżynierów, co oznacza, że ​​każdy w organizacji, który ma dodatkowy kontekst lub wgląd w problem, może jak najszybciej rozwiązać problem.

Realistycznie podejdź do tego, z czym może sobie poradzić Twój zespół

Małym zespołom łatwo jest przejąć zbyt wiele, zbytnio się skupić i przegapić ważne szczegóły, które stworzą więcej pracy na dłuższą metę.

Robienie mniej, lepiej i umieszczanie zdrowia systemu jako naszego najwyższego priorytetu oznaczało, że mogliśmy budować solidniejsze struktury, z których moglibyśmy ulepszać inne kluczowe elementy naszego procesu, i pracować proaktywnie zamiast reaktywnie. Przypisanie dwóch inżynierów do każdego projektu zmieniło sposób, w jaki pracujemy. Jedną z wartości Intercomu jest „razem idziemy dalej”, co wielokrotnie potwierdzało prawdę, odkąd przyjęliśmy to podejście.

Interesuje Cię sposób, w jaki pracujemy i podchodzimy do problemów? Chętnie z Tobą porozmawiamy – sprawdź nasze otwarte role.

Kariera w domofonie