Din când în când, echipele de ingineri vor avea probleme din mai multe motive. Uneori, o creștere explozivă prinde echipa prin surprindere. Sau, serviciul de gardă a scăpat de sub control, cu alerte care se declanșează la fiecare cinci minute. Sau, echipele de dezvoltare și de operațiuni pur și simplu au încetat să se mai înțeleagă între ele. Indiferent de motiv, echipa se află într-o situație neplăcută și trebuie făcut ceva pentru a o rezolva.
Dacă este o problemă nouă, soluția ar putea fi ușoară: Adăugați câteva servere în plus, reveniți la o versiune bună cunoscută a aplicației sau adunați pe toată lumea la o pizza și beri pentru a clarifica situația. De multe ori, însă, problema se strecoară în timp și, dintr-o dată, gaura este atât de adâncă încât nu mai găsești calea de ieșire. La LinkedIn, o echipă care a ajuns în acest punct va declara adesea o stare cunoscută sub numele de „Cod Galben.”
Alertă galbenă
Câteva persoane presupun că numele de Cod Galben se bazează pe semafoarele de trafic, dar mai exact – și cu o întorsătură mai geek – este de fapt din serialul dumneavoastră preferat „Star Trek”. Mai exact, este modul în care echipajul navei stelare Enterprise își indică starea actuală de apărare. Oricum ar fi, definiția este clară: ceva nu este în regulă și trebuie să avansăm cu prudență. Fideli ambelor metafore, avem și un Cod roșu. Acesta este mai bine descris ca fiind o criză imediată, în care toată lumea lucrează 24 de ore pe zi până când este rezolvată. Codul galben este ceva mai relaxat: Acesta este obiectivul principal al tuturor, dar numai în timpul orelor de lucru. Codul Galben tinde, de asemenea, să dureze de ordinul lunilor, în timp ce un Cod Roșu ar trebui să dureze de ordinul zilelor.
Alte companii pot folosi un termen diferit de Codul Galben, dar efectul este același: Echipa comunică restului companiei că a identificat o problemă serioasă care este o prioritate care trebuie rezolvată pentru a asigura succesul echipei și, prin urmare, al companiei. Capacitatea de a face acest lucru este un aspect important al comunicării deschise și oneste, o valoare care este esențială pentru o cultură sănătoasă și care poate fi adesea trecută cu vederea. Să vorbim despre problemele noastre este la fel de important, dacă nu chiar mai important, decât să ne sărbătorim succesele. Echipele pot învăța mai mult din rezolvarea unei probleme decât dintr-un succes total.
Acest lucru nu este un eșec
Primul pas pentru a începe un Cod Galben este să înțelegeți că acesta nu este un eșec. Nu este nicio rușine în a admite că echipa are o problemă care trebuie rezolvată. Bug-urile se întâmplă, în ciuda eforturilor noastre de a le evita. Singurul lucru pe care îl putem face este să diagnosticăm problema și să o remediem. Singurul moment în care eșuăm este atunci când închidem ochii la aceste probleme. Acest lucru se aplică la modul în care echipele noastre de ingineri interacționează unele cu altele la fel de mult ca și la software-ul și sistemele pe care le producem și le rulăm.
Este esențial, totuși, ca problemele corecte să fie abordate. De cele mai multe ori, am ajuns în situația actuală din cauza unei fierbințe lente – o datorie tehnică în creștere, multe probleme mici sau defecțiuni într-un proces – care în cele din urmă s-au acumulat într-o criză. Scopul Codului Galben trebuie să fie nu numai remedierea problemelor actuale (o componentă reactivă), ci și să se asigure că acestea nu se vor repeta în viitor (componenta proactivă).
Planificarea unui Cod Galben de succes
Există mai multe componente necesare pentru un Cod Galben de succes, precum și piesele necesare pentru a obține acceptul din partea restului organizației:
- Enunțarea problemei: Trebuie să existe o declarație clară și convenită a problemelor cu care se confruntă echipa și care au determinat codul galben. Aceasta ar trebui să includă nu numai care sunt problemele actuale, ci și care este înțelegerea actuală a cauzei lor de bază.
- Criterii de ieșire: În continuare, trebuie să aveți obiective specifice la care echipa va lucra pentru a ieși din codul galben. Acestea ar trebui să fie obiective tradiționale SMART: specifice, măsurabile, realizabile, relevante și limitate în timp. Aceste obiective sunt cele care fac posibilă intrarea echipei într-un Cod Galben în primul rând, deoarece acoperă un domeniu de aplicare fix și nu este deschis.
- Comunicare: Toate informațiile despre Codul Galben, inclusiv anunțul (care include enunțul problemei și criteriile de ieșire), încheierea cu succes și actualizările periodice ale situației ar trebui să fie trimise către organizația mai mare. Aceasta poate fi departamentul dumneavoastră sau poate fi întreaga organizație de inginerie. Poate fi chiar întreaga companie, în funcție de natura problemelor.
- Managementul proiectelor: La fel ca în cazul tuturor proiectelor mari, trebuie să existe o persoană responsabilă de organizarea activității și de comunicarea informațiilor. Deoarece acest lucru reprezintă un scenariu de tip „toate mâinile pe punte” pentru echipa afectată, este de obicei util să existe un manager de proiect (PM) dedicat care să ajute în acest sens. Acesta este, de obicei, un PM care cunoaște bine echipa și activitatea, dar care nu este implicat direct în execuție. Acest lucru îi eliberează pe manageri și pe contributorii individuali să se concentreze pe munca în cauză.
După ce fiecare dintre aceste aspecte a fost gândit și s-a luat decizia de a intra în Cod Galben, primul act al echipei este de a-și reorganiza prioritățile în jurul criteriilor de ieșire. Acest lucru înseamnă adesea punerea pe raft a obiectivelor trimestriale. De asemenea, poate fi necesar să se stabilească o întâlnire dedicată în jurul discutării stadiului criteriilor de ieșire.
Space to Breathe
Este foarte bine ca o echipă să intre în Cod Galben și să lucreze cu o singură concentrare asupra obiectivelor care au fost stabilite pentru a îndrepta lucrurile, dar acest lucru nu este suficient pentru ca echipa să reușească. Pentru un succes adevărat, toți cei din jurul echipei trebuie să înțeleagă situația și să le ofere spațiul necesar pentru a-și face treaba. Acesta este locul în care o cultură inginerească sănătoasă se ridică pentru a face față provocării.
- Așteptați-vă la întârzieri: Cel mai frecvent mod în care o echipă tangențială va fi afectată este prin întârzieri. Aceștia trebuie să se aștepte ca orice solicitare care a fost făcută echipei afectate să fie întârziată dacă nu intră în sfera de aplicare a criteriilor de ieșire. Codul galben implică, în esența sa, o reordonare a priorităților pentru a aborda problema declarată. Echipele din exterior trebuie să țină cont de acest lucru și să înțeleagă că este posibil să fie necesară ajustarea propriilor termene ale proiectului.
- Minimizarea solicitărilor noi: Alte echipe ar trebui, de asemenea, să se abțină de la a solicita echipei afectate lucruri noi care sunt în afara domeniului de aplicare a criteriilor de ieșire definite. Reducerea la minimum a acestor solicitări, pe lângă acceptarea întârzierilor la orice solicitare existentă, permite echipei afectate să își petreacă orele limitate de inginerie pentru a ajunge de cealaltă parte a Codului Galben.
- Cereri de asistență din partea altor echipe: Echipa aflată în Cod Galben poate constata că are nevoie de ajutor extern pentru a-și atinge obiectivele. De exemplu, dacă există o creștere bruscă și explozivă a traficului, este posibil să aibă nevoie să accelereze aprovizionarea cu hardware nou. Faptul că vă aflați la capătul primirii unei astfel de cereri poate necesita schimbarea propriilor priorități. Amintiți-vă întotdeauna că echipa face parte din aceeași companie și, ca atare, toată lumea reușește sau eșuează împreună.
Echipele de ingineri rareori stau singure și este important ca toată lumea să înțeleagă valoarea faptului că aceste echipe funcționează bine și lucrează bine împreună. O mică amânare temporară a obiectivelor pentru a se asigura că acesta este cazul merită.
Lumina de la capătul tunelului
Codul Galben reprezintă o cantitate semnificativă de muncă de înaltă prioritate, iar lucrul prin el va fi adesea stresant pentru echipă. Este greu să spui „nu” colegilor care fac o cerere rezonabilă, iar munca care se află în domeniul de aplicare implică rareori petrecerea timpului cu noi caracteristici interesante. În plus, dacă problemele care sunt abordate includ probleme de comunicare între grupuri, vor trebui să aibă loc unele conversații dificile. Cu toate acestea, pe măsură ce echipa se apropie de sfârșitul activității, va fi mult mai ușor să vadă până la capăt ceea ce se află de cealaltă parte a criteriilor de ieșire.
Obiectivul final al Codului Galben este de a scoate echipa dintr-un mod reactiv în care aleargă de la o criză la alta și de a o aduce într-o stare proactivă în care să poată lucra la proiectele mari potrivite. Realizarea criteriilor de ieșire va însemna că inginerii sunt mai eficienți și capabili să lucreze în mod proactiv. Aceasta este o echipă mai puternică – inginerii sunt mai fericiți pentru că nu sunt supuși unui stres puternic de muncă operațională, echipa lucrează bine pentru că vorbesc eficient unii cu alții, iar clienții sunt mulțumiți pentru că solicitările sunt rezolvate fie prin automatizare, fie într-un timp rezonabil.
Compania dvs. are un proces intern care este similar cu modul în care LinkedIn face un Code Yellow?
– Todd Palino