Cum echipa de infrastructură de date a Intercom a satisfăcut cererea în creștere cu principii solide

Publicat: 2022-05-06

Scalarea unei companii nu este niciodată un proces liniar. Pe măsură ce startup-ul dvs. devine o extindere, echipele vor întâmpina obstacole care le impun să se adapteze rapid la noile cerințe.

Acolo am găsit echipa noastră de infrastructură de date la sfârșitul anului 2020 – oferim date și instrumente pentru echipele din Intercom pentru a obține informații și a rula procese esențiale și am fost mai solicitați ca niciodată. Intercom a cunoscut o creștere majoră în ultimii doi ani și am angajat o mulțime de oameni incredibil de talentați care să ne ajute în călătoria noastră. Drept urmare, traiectoria companiei noastre s-a schimbat rapid – până la sfârșitul anului trecut, echipa noastră se confrunta cu o cerere mai mare decât oricând. Ne-am dat seama că infrastructurile, practicile și procesele pe care le folosim se străduiau să funcționeze eficient la noua noastră scară.

Echipa Infrastructurii de date a atins un punct critic

Echipa și-a petrecut cea mai mare parte a zilei confruntându-se cu probleme minore care au apărut în sistemul nostru, lucrând constant în mod reactiv în loc să se uite la problemele de bază și să consolideze în mod proactiv infrastructura – pur și simplu nu aveam timp. În calitate de manager, a însemnat că de multe ori a trebuit să sar și să ajut cu sarcinile de zi cu zi, mai degrabă decât să mă concentrez pe direcția, strategia și dezvoltarea profesională a echipei. Am ajuns la un punct de cotitură și era clar că trebuia să se schimbe ceva.

„Am stabilit un set de principii pentru a alinia echipa la obiectivele noastre și pentru a ne concentra munca”

Când Cormac McGuire, managerul nostru de inginerie al grupului, sa alăturat echipei, am făcut un pas înapoi și ne-am uitat la ce trebuia făcut pentru a ne readuce pe drumul cel bun. Am observat mai multe probleme pe care le-am întâlnit în trecut cu echipele blocate, cum ar fi izolare a cunoștințelor, schimbarea constantă a contextului și deprioritizarea problemelor importante de sănătate a sistemului. Pentru a remedia aceste probleme, am stabilit un set de principii pentru a alinia echipa la obiectivele noastre și a ne concentra munca.

De ce principiile sunt parte integrantă a modului în care lucrăm la Intercom?

De-a lungul anilor, am învățat că echipele noastre cu cele mai înalte performanțe și cele mai fericite se confruntă mai bine cu cerințele atunci când sunt atent și deliberați cu privire la modul în care lucrează. Considerăm că principiile sunt cea mai bună modalitate de a mări o echipă și de a le menține aliniate, în timp ce avem încredere în ei să facă ceea ce este potrivit pentru ei. Principiile noastre cresc din ceea ce am învățat despre ceea ce funcționează bine – și ce nu.

Iată care sunt cele mai presante probleme pe care trebuia să le rezolvăm și principiile pe care le-am aplicat fiecăruia.

Problema 1: Prioritizarea vitezei față de rezolvarea problemelor

Ne-am mulțumit clienților noștri, alias, colegii noștri din Intercom, prin livrarea rapidă a proiectelor, dar nu ne-am acordat suficient timp pentru a înțelege problema principală care trebuie rezolvată. A trebuit adesea să revizuim proiectele finalizate atunci când o presupunere anterioară s-a dovedit incorectă sau ne-am dat seama că un scenariu a fost trecut cu vederea.

Principiul 1: Fă mai puțin, mai bine

Lucrul la mai puține sarcini înseamnă mai puțină schimbare de context și permite o concentrare mai profundă pentru a înțelege problema în totalitate. Echipa are mai mult spațiu pentru a repeta soluția până când aceasta satisface obiectivele pe care ne-am propus să le atingem.

Adoptarea principiului „a face mai puțin, mai bine” a însemnat realizarea unor compromisuri dificile pentru a aduce beneficii echipei pe termen lung. În primul rând, am stabilit un serviciu de stare, astfel încât alte echipe să poată verifica progresul datelor lor în loc să se înregistreze cu noi. Acest lucru ne-a eliberat timp pe care l-am fi petrecut răspunzând la întrebări, astfel încât să-l putem folosi pentru a lucra la sistemele noastre și, în cele din urmă, să accelerăm livrarea datelor.

„Trebuia să ne concentrăm asupra unui singur lucru până când acesta va fi rezolvat și eram siguri că nu va trebui să îl revedem. Abia atunci am putea trece la următorul lucru”

În al doilea rând, am ales să ne concentrăm doar pe fiabilitatea ELT-ului nostru zilnic (extragere, încărcare, transformare), procesul prin care cele mai recente date sunt extrase în fiecare noapte și toate datele existente sunt reîmprospătate. Trebuia să ne concentrăm asupra unui singur lucru până când acesta va fi rezolvat și eram siguri că nu va trebui să îl revedem. Abia atunci am putea trece la următorul lucru.

Problema 2: Silozuri de cunoștințe

Echipa noastră de infrastructură de date este mică, așa că inginerii ar lucra în general la proiecte individual. Pentru alți ingineri din echipă a fost dificil să revizuiască codul fără contextul necesar și, dacă au apărut probleme cu serviciile existente, doar inginerul care lucrase la sistem avea cunoștințele necesare pentru a rezolva problema rapid.

„Am avut oameni inteligenți care făceau lucruri inteligente în paralel”

Când acel inginer era în concediu, toate lucrările aveau să înceteze. Coechipierii noștri au devenit curând frustrați de a fi singurul responsabil pentru o zonă. Pe scurt, aveam oameni inteligenți care făceau lucruri inteligente în paralel – trebuia să creăm procese coezive care să sprijine mai bine inginerii noștri.

Principiul 2: Asociați-vă în probleme

Fiecare soluție ar avea cel puțin doi ingineri care lucrează la ea. Alocarea unui inginer în loc de doi nu dublează neapărat eficiența sau calitatea rezultatului, ci doar crește riscul de puncte de defecțiune. Proiectele dau întotdeauna rezultate mai bune atunci când există mai multe perspective incluse în proces.

Știind că există întotdeauna cineva care să răspundă la întrebări sau să rezolve probleme într-o anumită zonă, a redus presiunea asupra inginerilor individuali, făcându-le mai ușor să își ia timp liber sau să treacă la noi proiecte.

Problema 3: Sub-prioritizarea sănătății sistemului

Problemele de sănătate ale sistemului fac parte integrantă din operarea oricărui serviciu. Cu toate acestea, fără un sistem eficient de triere și prioritizare a noilor probleme, inginerul de gardă ar decide subiectiv ce probleme să abordeze mai întâi.

Când au apărut aceste probleme de sănătate a sistemului, am fost reticenți să le semnalăm ca prioritate maximă (P1), deoarece datele noastre de analiză nu se adresează strict clienților și, prin urmare, le-am considerat mai puțin critice. Cu toate acestea, aceste probleme au avut potențialul de a afecta sănătatea generală a sistemului și de a avea un impact negativ asupra muncii echipei noastre. Ne-am dat seama că nu le acordam suficientă prioritate și, în timp, acestea s-au agravat pentru a cauza probleme mai mari.

Principiul 3: Sănătatea sistemului este întotdeauna P1

Orice problemă de sistem care afectează SLA-urile noastre principale (acorduri de învățare prin servicii) ar fi prioritară (P1). Trebuia să ne regândim abordarea de a semnala o problemă ca P1; să nu se mai gândească la P1 doar ca urgențe urgente, care blochează clienții și, în schimb, ca instigatori ai unui proces important.

De la implementarea acestui principiu, ne-am ocupat de probleme mult mai eficient. Problemele de sănătate ale sistemului sunt semnalate ca P1, iar dacă inginerul de gardă nu are suficient context pentru a rezolva o nouă problemă P1 în mod independent, echipa întrerupe activitatea proactivă și își redirecționează eforturile până când problema este cauzată și rezolvată complet. Incidentul este înregistrat automat pe canalul Slack al echipei noastre de inginerie, ceea ce înseamnă că oricine din cadrul organizației, cu un context suplimentar sau informații despre problemă, poate contribui pentru a rezolva problema cât mai repede posibil.

Fii realist cu privire la ceea ce poate face echipa ta

Este ușor pentru echipele mici să preia prea multe, să își concentreze prea puțin și să rateze detalii importante care vor crea mai multă muncă pe termen lung.

A face mai puțin, mai bine și a plasa sănătatea sistemului ca prioritate principală a însemnat că am putea construi structuri mai robuste din care să îmbunătățim alte elemente cheie ale procesului nostru și să lucrăm proactiv în loc de reactiv. Alocarea a doi ingineri pentru fiecare proiect a transformat modul în care lucrăm. Una dintre valorile Intercom este „mergem mai departe împreună”, iar acest lucru s-a dovedit adevărat de nenumărate ori de când am adoptat această abordare.

Ești interesat de modul în care lucrăm și abordăm problemele? Ne-ar plăcea să vorbim cu tine – vezi rolurile noastre deschise.

Cariere interfon