Cu câteva luni în urmă am participat la Conferința Scrum de la Berlin, organizată de Scrum Alliance. În cadrul acestei conferințe, am descoperit că există multe organizații care au dedicat foarte mult timp unui proces de schimbare a mentalității. Au adoptat mentalitatea agile ca răspuns la un mediu aflat în continuă schimbare, cu clienți ale căror cerințe se schimbă de la o zi la alta și unde orice timp pierdut poate reprezenta foarte multă muncă în plus, fără ca aceasta să aducă un beneficiu real.
Atunci când vorbim despre Agile, vorbim despre un mindset, despre capacitatea de a reacționa la schimbări într-un timp cât mai scurt, despre un grup de metodologii bazate pe dezvoltare iterativă și incrementală sau despre strânsa colaborare între membrii unei echipe cu expertiză funcțională diversă.
Având discuții cu mai mulți reprezentanți ai organizațiilor despre care vorbeam mai sus, am observat că fiecare avea un alt set de probleme cu care se confruntau și că nivelul lor de cunoștințe era diferit de la unii la alții. Unele organizații erau la începutul procesului și aveau nevoie de prezentarea unor concepte fundamentale despre ce înseamnă/presupune agile, altele erau în punctul în care aveau o direcție, știau care sunt pașii următori și aveau doar nevoie de sfaturi pentru a fi siguri de direcția în care au pornit. Întrebarea pe care mi-am pus-o este: cum poate un coach agile să găsească modalitatea de transmitere a informațiilor în funcție de punctul în care se află o organizație în cadrul procesului de schimbare?
Răspunsul la întrebarea mea a fost dat de Ken Power care a vorbit despre diferite roluri sau dinamici care trebuie studiate atunci când se prezintă aspectele gândirii agile. Organizațiile apelează la ajutorul unui coach agile și devin la rândul lor clientul acestuia, produsul fiind procesul de adaptare la o nouă gândire. Un coach trebuie să adapteze formatul în care va transmite informația în funcție de nevoile fiecărui client. Aceste roluri sunt în număr de nouă și sunt determinate de orientarea clientului care poate fi spre rezultate sau spre adunarea de cunoștințe. Cele nouă roluri sunt: coach,consilier, facilitator, expert, modelator, partener, observator, profesor și consilier tehnic.
Scopul observatorului este de a lua parte la toate activitățile de zi cu zi ale echipei, de a observa și comenta situațiile găsite. Se concentrează îndeosebi pe momentele în care membrii echipei interacționează cel mai mult, cum sunt întâlnirile zilnice referitoare la statusul proiectului, ședințele de planificare, retrospectivele, ședințele demonstrative. Pentru a avea o imagine cât mai clară asupra gradului de coeziune al echipei, observatorul poate lua parte și la activități mai puțin legate de mediul de lucru, cum sunt pauzele de masă sau pauzele de cafea.
Prin toate activitățile exemplificate mai sus, observatorul va putea determina cât de bine comunică membrii echipei între ei pentru ca mai apoi să poată identifica și propune soluții pentru potențialele probleme.
Unul din primele roluri care ne vin în minte atunci când ne gândim la un agile _coach_este cel de consilier tehnic. În mediul în care noi lucrăm este fundamentală nevoia de a da și de a primi sfaturi. Orice întârziere este de cele mai multe ori cauzată de lipsa unui sfat bun la momentul oportun. Ceea ce diferențiază acest rol de toate celelalte este faptul că poate avea un adevărat impact în momentul în care clientul știe ce dorește să facă, are un plan în minte și are nevoie doar de o opinie secundară.
Pentru ca acest tip de relație să funcționeze, clientul trebuie să fie deschis la păreri, să aibă o viziune corectă asupra problemei pe care o întâmpină și să fie dispus să prezinte în detaliu toate soluțiile la care s-a gândit. De partea cealaltă, consilierul tehnic trebuie să fie atent la toate aspectele discuției și să adreseze toate întrebările relevante la momentul oportun. Prin acest exercițiu, deseori, clientul va ajunge la soluția cea mai bună fără a fi nevoie de un sfat clar din partea consilierului.
De ceva vreme, acest tip de abordare este folosit în tot mai multe organizații, un exemplu fiind Coaches Clinic, care se bucură de un real succes în cadrul adunărilor scrum organizate de Scrum Alliance. În aceste clinici, o discuție de un sfert de oră este mai mult decât suficientă pentru ca o persoană să găsească o soluție la o problemă. Dacă după acest timp nu se găsește o soluție, este posibil ca situația să aibă nevoie de un alt rol dintre cele discutate mai sus. Dacă problema este una fundamentală, atunci un profesor sau expert ar putea fi folositor, dacă problema este organizatorică atunci un facilitator ar fi cu adevărat de folos.
Așa cum îi spune numele, rolul de expert este cel care identifică o problemă și știe și cum să o rezolve. După o analiză amplă a situației acesta va ști toate măsurile care trebuie luate astfel încât totul să meargă bine. Există mai multe modalități de a pune în practică soluțiile propuse. Un exemplu ar putea fi să joace rolul deScrum Master pe durata unuia sau a mai multor iterații, să facă pair programming cu membrii echipelor sau să aleagă _tool-_urile care vor fi folosite de echipă.
Dat fiind faptul că este un expert într-o anumită zonă, acesta va putea determina cât de urgentă este soluționarea fiecărei probleme în parte. Apoi, va avea capacitatea de a crea un plan de abordare și va putea determina atât direcția cât și primii pași în viitorul organizației. Dacă aceasta se află la început, expertul poate fi chiar parte din echipa care se ocupă de procesul de angajare.
Facilitatorul este foarte folositor în cadrul organizațiilor care se află la începutul perioadei de tranziție spre o mentalitate agilă. Este acel rol care ajută un grup de indivizi să ajungă la obiective comune și apoi îi asistă în atingerea acestora. De asemenea, prezența unui facilitator poate fi benefică atunci când sunt explorate diferitele riscuri care pot apărea când un grup este informat despre o decizie majoră. Datoria unui facilitator este de a crea un context și un mediu propice discuțiilor astfel încât scopul principal al acestora să nu fie uitat. Pe toată durata procesului trebuie să mențină o atitudine neutră și să se asigure că toți participanții la discuție au posibilitatea să-și exprime părerile.
Pentru ca acest tip de relație să aibă un rezultat cât mai bun clientul trebuie să aibă încredere deplină în facilitator. Lipsa de încredere poate deveni o problemă în cadrul unei tentative de soluționare a unui conflict între două persoane sau în cadrul unui grup de persoane. Dacă ne gândim la metodologia Scrum, facilitatorul poate fi persoana care moderează prima retrospectivă a echipei. Acesta este un punct critic în viața unei echipe agile. Asigurându-se că fiecare participant va avea ocazia să își exprime îngrijorările și principiile, acesta va crea o legătură strânsă în cadrul echipei.
La fel ca și în cazul expertului, profesorul are cunoștințe vaste în ceea ce privește prezentarea și descrierea aspectelor agilității. Scopul profesorului este acela de a împărtăși aceste cunoștințe cu întreaga organizație. Modul prin care acesta trebuie să se desfășoare este unul direct, fără multe dezbateri și schimburi de opinie. Profesorul este prezent doar pentru a-și exprima propriile cunoștințe, și nu pentru a da sfaturi sau pentru a analiza situații.
Ca modalitate de prezentare, profesorul poate opta pentru seminarii sau laboratoare referitoare la aspecte precum practici XP și Scrum sau prezentări față în față pentru un rol de Scrum Master, spre exemplu.
Modelatorul este persoana care este adusă în cadrul unei companii cu scopul de a fi un model pentru ceilalți angajați. Dacă în cazul expertului acesta juca rolul Scrum Master-ului pentru a se asigura că lucrurile merg într-o anumită direcție, modelatorul va juca acest rol într-un sprint iar apoi cineva va face același lucru în următoarele sprint-uri. Modelatorul trebuie să își adapteze rolul în funcție de nevoile clientului și singurul scop al său este de a găsi o soluție optimă pe care o va pune în aplicare lăsând clientul să adune cunoștințe de-a lungul timpului.
Dacă modelatorul este adus ca parte din echipă, atunci acesta poate să aibă rolul unui programator, tester sau manager. Acesta va reprezenta un exemplu în orice situație.
Consilierul este prezent pentru a oferi sfaturi și pentru a prezenta toate opțiunile posibile în cadrul unei discuții. Clientul va trebui să ia deciziile și să fie responsabil de rezultat indiferent care ar fi acesta. Consilierul nu poate fi învinovățit pentru un rezultat negativ la fel cum nici nu poate să i se ofere merite pentru un rezultat pozitiv. Consilierul trebuie să asculte într-un mod activ, să explice problema identificată și să evidențieze toate aspectele care au nevoie de o atenție mai mare.
Probabil cel mai comun nume al unui expert Agile este coach-ul. Acesta este persoana care este chemată într-o organizație pentru a învăța, a ajusta, a prezenta și pentru a discuta despre agilitate. În realitate el nu trebuie să învețe nimic. Rolul acestei persoane este de a sugera soluții după o analiză preliminară. Un coach trebuie să scoată clientul din zona de confort iar pentru ca acest lucru să funcționeze, este necesar preocuparea clientului de a deveni mai bun. El va oferi suport, dar la finalul zilei clientul va decide ce să facă și cum să acționeze. După tot acest proces, va oferi feedback după care procesul începe din nou.
Din punctul de vedere al agilității, _coach-_ul poate să propună idei de organizare și gestionare în cadrul unei organizații pentru a se ajunge la o asemenea mentalitate.
Când o persoană este adusă în cadrul unei organizații pentru a fi partener al clientului atunci cele două părți trebuie să pornească de la premisa că sunt implicați împreună în acest proces. Succesul unuia reprezintă succesul celuilalt și eșecul unuia reprezintă eșecul celuilalt. În cadrul unui parteneriat cele două părți vor învăța una de la cealaltă și vor conștientiza împreună riscurile, obiectivele și cultura organizației. Partenerul va fi un stakeholder și va lua parte la toate deciziile. Viziunea celor două părți trebuie să fie compatibilă și întotdeauna vor trebui să ajungă la situații câștig-câștig.
În cadrul ISDC există un grup de persoane numit IDAM (ISDC Defined Agile Model) implicat în dezvoltarea unei metodologii agile, bazată pe Scrum, modificată, modelată și formată pentru a fi eficientă în mediul, cultura și organizația noastră.
Unul dintre cele mai de succes proiecte la care lucrăm este IDAM Advisory (consiliere IDAM) care combină câteva dintre rolurile prezentate mai sus. De cele mai multe ori asistăm la ceremonii și activități din cadrul echipelor pentru o perioadă determinată, timp în care observăm și analizăm comportamentul membrilor echipei și reacția lor la apariția unor probleme, precum și la modul în care oferă soluții. Gândindu-ne la aspectele prezentate mai sus, aceste activități sunt făcute de un observator.
În urma acestei analize ascultăm părerile din cadrul echipei, avem discuții fie față în față, fie în grup și împreună găsim soluții pentru problemele identificate. Aceste activități sunt tipice consilierului tehnic.
Trecând peste aceste momente în care găsim soluții ajungem la stadiul în care echipele doresc să devină mai bune, mai eficiente și mai responsabile, moment în care au nevoie de intervenția unui coach agile.
Cele trei roluri identificate mai sus reprezintă ceea ce avem noi nevoie în cadrul organizației noastre. În acest fel ne putem canaliza energia în rezolvarea adevăratelor probleme și nu petrecem timpul concentrându-ne pe alte activități care sunt reprezentative altor roluri.
Având în vedere cele descrise mai sus doresc să revin la principala idee de la începutul articolului și anume abordarea unei mentalități agile în cadrul companiei. Consider că fiecare organizație trebuie să facă o analiză foarte amplă a situației în care se află și să identifice care sunt cu adevărat nevoile sale. Odată ce etapa aceasta este realizată cu succes, se poate apela la un rol care va putea prezenta conceptele agile într-un mod în care va fi folositor organizației, iar investiția va reprezenta un real succes.
Un bun coach agile va ști să abordeze orice problemă, adaptându-și demersurile în funcție de situație.
de Peter Lawrey
de Răzvan Costa