Cum să îmbunătățești performanța unei echipe IT: Agile Coaching cu Eduard Budacu de la DOvelopers

Eduard este pasionat de dezvoltare software, Agile, echipe performante și dezvoltare personală. Anul acesta se împlinesc zece ani de când lucrează în domeniu, timp în care a evoluat de la programatorul lup singuratic, la a lucra în echipă și a conduce echipe care dezvoltă software.

Ne-a mărturisit că îi place să lucreze mai mult cu oamenii și că programarea este mai degrabă un pretext pentru a petrece timp printre oameni deștepți și pasionați. Despre Agile a auzit pentru prima oară în 2010, când și-a schimbat jobul.

S-a transformat în pasiune pe măsură ce a descoperit mai multe despre ce înseamnă să dezvolți software și că nu este importantă doar partea de programare. Asta l-a atras să înțeleagă mai bine întreg procesul și interacțiunile dintre diverse roluri. Acum lucrează ca Agile Coach cu echipele care vor să aplice acest mod de lucru și să-și îmbunătățească performanța.

Ce este Agile și cum ne ajută într-o organizație, principiile sale se aplică doar pentru echipele de mari dimensiuni?

Agile este un termen care descrie un set de valori și principii pentru dezvoltare software, o serie de metode și multe bune practici aplicate în diverse contexte. Agile este în același timp o comunitate de practică în care membrii aderă la valori comune pentru a dezvolta software de calitate.

Fiecare organizație, indiferent de dimensiune, caută să își îmbunătățească performanța urmărind să își crească veniturile, să își eficientizeze procesul pentru a ieși pe piață cu produse mai rapid sau să atragă cei mai talentați angajați pentru a forma o echipă solidă. Metodele Agile vin cu principii sau practici care răspund acestor nevoi. Cele mai populare astfel de metode sunt Scrum, Kanban, Extreme Programming (XP).

Sunt practici care țin de modul de organizare și planificare precum estimările în echipă, gestionarea unei liste de priorități ordonate în funcție de valoarea adusă și întâlniri zilnice pentru monitorizarea progresului. O practică importantă în filozofia Agile este dată de inspectarea și adaptarea continuă pentru a crește eficiența echipei.

Există o serie de elemente ale managementului de tip Agile care îl definesc și îl deosebesc de orice alt tip de management. Cum le-ai descrie?

În primul rând, accentul se pune pe indivizi și interacțiunea dintre ei mai presus de procese și unelte. Este preferată comunicarea față în față și colaborarea strânsă între business și echipa de dezvoltare.

În al doilea rând, oricât de bine ar arăta documentația unui proiect și oricât de bine este realizată planificarea, în dezvoltare software este mai important să livrezi software care funcționează și care aduce beneficii utilizatorului. Așa că accentul în metodologia Agile se pune pe execuție, pe împuternicirea echipei pentru a lua decizii și pe capacitatea acesteia de a se auto-organiza pentru a obține rezultatele asumate.

Totodată, se pretează mai bine pentru proiecte în care complexitatea este dată de incertitudine privind cerințele și tehnologia cu care se dezvoltă. Un astfel de proiect necesită un model care să permită dezvoltarea rapidă de prototipuri și flexibilitate la schimbare.

Sunt mulți manageri care încă nu înțeleg conceptul sau care cred că acesta se leagă doar de industria IT. Ce părere ai, poate fi el replicat pentru diferite organizații, echipe și domenii?

Din punctul meu de vedere, metodele Agile reprezintă o adaptare la munca bazată pe cunoștințe. Oamenii care lucrează în astfel de medii au nevoie de mai multă autonomie și flexibilitate. Industria IT, fiind una relativ tânără, a preluat multe practici din alte domenii.

Sunt multe situații în care activitatea se blochează în formalități sau procese birocratice. La polul opus, nu vei obține rezultate într-un mod predictibil dacă nu ai procese clare.

E de la sine înțeles că fiecare companie are nevoie de procese, proceduri și ședințe. Însă, este important să le înțelegem rolul și să nu le forțăm existența dacă nu este cazul. Ce se întâmplă când angajații petrec mai mult timp pe protocoale și procese, decât făcându-și treaba?

Evident că atunci când se preocupă mai mult de procese și de proceduri, echipa nu va reuși să livreze ceea ce își propune. Sunt multe situații în care activitatea se blochează în formalități sau procese birocratice. La polul opus, nu vei obține rezultate într-un mod predictibil dacă nu ai procese clare.

Contractele sunt folositoare, însă au un efect neplăcut: oamenii tind să fie preocupați de a livra proiectul în timpul și banii stabiliți, mai mult decât să îndeplinească scopul de business sau să gândească “the big picture”. Care este abordarea Agile într-un astfel de caz?

Agile propune colaborarea mai presus de negocierea contractuală. Este adevărat că acesta este principiul care se aplică cel mai dificil în practică. Dacă echipa lucrează la propriul produs sau ca departament de tehnologie din cadrul organizației, atunci nu vorbim despre un contract, ci mai degrabă despre angajamente. Nevoia este de aliniere la o viziune comună. În acest context, Agile propune ca oamenii de business și dezvoltatorii sa lucreze cât mai mult împreună pentru a atinge obiectivele companiei sau pentru a dezvolta produse care satisfac nevoile utilizatorilor.

Între un client și un furnizor relația devine mai formală. Proiectele tind să fie mult mai bine documentate înainte de a fi începute pentru a elimina din riscuri și fiecare parte încearcă să se protejeze. O abordare în care sunt definite livrabile și evaluări intermediare reduce riscul de a deraia de la scop. În nici un caz părțile implicate nu ar trebui să se întâlnească doar la începutul și la finalul proiectului.

Ce presupune rolul de Agile Coach și care sunt provocările pe care le au echipele cu care lucrezi?

Uneori glumesc și spun că mă ocup de chestiuni religioase. Propovăduiesc cuvântul “agile”, mă asigur că toată lumea din echipă cunoaște calendarul și că ședințele Scrum sunt respectate. Cum multe din provocările echipei țin de partea de organizare și colaborare, o bună parte din timpul petrecut este în întâlniri cu „pălăria de facilitator”.

Într-o organizație care se dezvoltă, rolul presupune să acționezi ca un agent de schimbare. Ajut echipa să reflecteze asupra procesului și să găsească noi metode de a face munca mai eficient. De aici apare nevoia de a organiza sesiuni de training și de a găsi resurse care să contribuie la dezvoltarea profesională și personală. În general, mă asigur că fac orice este nevoie pentru ca echipa să aibă succes.

Unul dintre proiectele cele mai complexe de până acum a presupus reorganizarea departamentului de IT dintr-un start-up internațional pentru a răspunde mai bine cerințelor din business.

Am început cu o serie de workshop-uri cu echipele existente și am organizat ședințe de retrospectivă pentru a identifica problemele cu care se confruntau. După o perioadă de învățare, structura echipelor a fost schimbată astfel încât să includă toate disciplinele necesare pentru a livra o funcționalitate (responsabil de produs, programare, testare, design). Acum au o structură care le permite să crească și au internalizat rolul de Agile Coach.

 

 

Împarte pe social media

Valentina Roman

Ca specialist în domeniul comunicării și director executiv la Asociația Curtea Veche, Valentina interacționează cu profesioniști din toate ariile creative și contribuie la proiecte cu impact social. Dă valoare fiecărei întâlniri și îi motivează pe cei din jur pentru a reuși în ceea ce și-au propus.

Comentarii. Intră în dezbatere

Alătură-te comunității noastre. Scrie bine și argumentat și poți fi unul dintre editorialiștii platformei noastre.