TSM - Experts Panel: Modern Agile

Ovidiu Mățan - Fondator @ Today Software Magazine


Agile este un subiect care este întotdeauna la modă. I-am provocat pe invitații noștri să ne spună din experiența lor ce ne aduce nou modern Agile și de ce este acesta important. Alături de noi au participat la discuție:

Ovidiu Mățan: Vă invit să vă prezentați pe scurt.

Paula Giurgiu: Mă numesc Paula Giurgiu. Sunt de un an la .msg systems. Am terminat Facultatea de Matematică și Informatică, secția Germană. Lucrez pe proiecte din domeniul Insurance (Asigurări), îmi place mult atmosfera de la .msg systems, iar, momentan, sunt implicată într-un proiect de refactorizare de la cod vechi la Spring Boot și la alte tehnologii mai noi. Sunt programator Java.

Tibor Bone: Am lucrat cu multe tehnologii și am avut mai multe roluri, uneori în paralel.

David Stan: Am terminat Politehnica și, inițial, am fost programator la .msg systems. Am trecut prin Java, iOS, securitate, web.

Dan Suciu: Sunt lector la Facultatea de Matematică și Informatică din cadrul Universității Babeș-Bolyai, momentan și prodecan, iar în rest trainer și coach.

Care este diferența dintre abordarea veche și cea nouă în Agile?

Tibor Bone: Modern pentru mine înseamnă să înțeleg unde vrem să ajungem, care este scopul nostru, ce dorim să rezolvăm și care sunt valorile pe care le transmitem clientului. În context AI, trebuie să fim atenți cu valorile umane. Partea umană ne ține împreună dincolo de rolul nostru de programator, client sau project manager. Agile ne dă o direcție, ne dă niște principii ca să înțelegem mai bine unde ne îndreptăm. Agile creează un cadru unde să nu fim doar roboței ce îndeplinesc funcții, automatizare ce oricum va fi preluată de AI.

Dan Suciu: Mie nu mi se pare că s-a schimbat ceva. Avem alte denumiri, dar ne învârtim în jurul acelorași concepte. Din 2016 până acum e greu să zici că faci Modern Agile. Au ales numele greșit. Când vorbim de ceva modern, ne gândim la ceva ce a început în februarie, nu acum opt ani. Somnul agilității naște monștri și au apărut oribilități cum este SAFe, iar de acolo am dorit să ne întoarcem la principiile anterioare. Se creaseră frameworkuri din ce în ce mai complicate și mai scumpe, ca să se vândă bine. Alistair Cockburn care este unul din cei 17 semnatari ai Manifestului Agile a simplificat lucrurile și mai mult în Heart of Agile, astfel încât totul s-a redus la patru cuvinte: Collaborate - Deliver - Reflect - Improve. Prin 2020, au venit unii care au anunțat apariția Agile 2. Au explicat cum Modern Agile a deviat de la Traditional Agile, cum Modern Agile a devenit un fel de religie, drept pentru care au venit cu șase valori și 43 de principii. Autorii Agile 2 au criticat Modern Agile spunând că a fost creat doar de bărbați albi de 40 de ani, toți din IT. Din acest motiv, au zis ei, Modern Agile nu e suficient de inclusiv. Prin urmare, au scris Agile 2 în 20 de capitole unde simți că fiecare bucată e scrisă de alt autor.

David Stan: S-ar crede că Waterfall nu mai există, dar acesta există sub multe alte forme. Zicem că facem Agile, dar lucrăm în PI, luăm requirements, facem development, facem testare, dar le luăm în sprinturi în care facem câte o bucățică. Modern Agile e cu și despre oameni. Punem mare accent pe utilizator. Lucram la un moment dat pe un proiect bancar unde designul a venit direct de la echipă și nu s-a ținut cont de impactul asupra utilizatorului, deoarece s-a spus că oricum utilizatorii nu au alt design cu care să lucreze și vor învăța să folosească ce li se pune la dispoziție. Acum, punem accent pe testare cu utilizatori, pe empatie față de utilizatori, pe comunicarea în cadrul echipei. La noi în firmă sunt foarte mulți oameni la birou. Comunicăm foarte bine.

Care este impactul Societății 5.0?

Paula Giurgiu: Din ce am citit eu, Society 5.0 vine ca să ne ajute, chiar dacă AI va prelua din funcțiile noastre și va scrie cod mai repede decât noi. Suntem dependenți de AI, dar și AI depinde de noi. Suntem dependenți de tehnologie, dar și tehnologia depinde de noi. Prin Agile încerci să definești drumul produsului, dar drumul acela este plin de obstacole, de aceea avem nevoie de sprinturi și de feedback de la client. Este important să ținem cont de tot ce înseamnă Agile în spate, anume efort cognitiv, gândire strategică, pentru a putea livra continuu și pentru a exista o înțelegere comună a ceea ce avem de făcut și a ceea ce se așteaptă să obținem.

Dan, spuneai că unul dintre cele mai grele lucruri de gestionat este schimbarea cerinței. Cum putem face acest lucru mai ușor?

Dan Suciu: Unul din principii spune Welcome changing requirements, iar formularea ne duce cu gândul la o echipă care sare în sus de bucurie că s-a schimbat ceva. Nu am văzut pe nimeni care să nu fie frustrat că se schimbă lucrurile. Toți depunem efort și energie în soluție, iar când cineva vine și zice că trebuie schimbată e normal să fii frustrat. Ar trebui să avem mai mare atașament față de problemă decât față de soluție. Unul din studenții mei a zis că înțelege că schimbarea e normală, dar că și-ar dori ca soluția să stea măcar trei luni în Producție. O echipă Agile e ca o mașină care are drept scop să ajungă cât de repede și în condiții de siguranță la destinație. Cine setează destinația? Pot fi Product Ownerul, Product Managerul, clientul. Mă aștept ca mașina să nu spună NU când se schimbă destinația. Mă aștept ca mașina să schimbe direcția cu viteză cât mai mare spre noua destinație. Evident, asta nu înseamnă că vei schimba de la stânga la dreapta și invers foarte des, doar pentru că Agile îți permite, deoarece vei strica mașina și vor pleca toți frustrați din echipă. Nu facem schimbare de dragul schimbării. Dacă cineva vine, vrea să schimbe ceva, dar are pretenția ca lucrul să se finalizeze în același timp și cu aceeași bani, acesta nu mai este Agile.

Noi încercăm să facem dictatură într-o democrație. Orice firmă este o dictatură. Ți se spune ce buget este și ce trebuie făcut. Noi venim de jos și zicem că vrem o democrație, că suntem Agile, că lucrăm cât avem chef. Unde ar trebui să se poziționeze echilibrul dintre dictatura de business și democrația din echipă?

Tibor Bone: Nu văd neapărat dictatură și nu cred că e vorba de compromis. Văd roluri diferite. Dacă ne întoarcem la mașini, vom vedea că avem mai multe mașini care trebuie coordonate, care trebuie să meargă fiecare pe drumul ei. Aș încerca să aflu de unde vine presiunea pentru a face un proiect în trei luni (în loc de șase) cu un buget limitat. Definim foarte clar condițiile în care se poate termina. Dacă proiectul trebuie livrat în trei luni, nu în șase, nu aplicăm Agile, ci intrăm în mod de criză.

Dan Suciu: Nu există mai mult, mai repede sau mai bine. Alegem două. Dacă toate sunt fixe, proiectul va fi un eșec. Dacă timpul și banii sunt ficși, negociem componenta scope (domeniu de definiție). A negocia calitatea nu înseamnă că vei introduce defecte intenționat. Cu bani puțini vei face o cărare, nu o autostradă, dar cărarea va fi foarte bună pentru ceea ce poate ea duce. Îți fac o cărare de calitate.

Cum putem aplica AI pentru a obține optimizări?

David Stan: AI-ul este un buzz word. Orice soluție facem, lumea vine și se întreabă cum poate băga puțin AI. Am auzit de aplicații pentru bazele sportive în care vrem să punem AI. Eu folosesc pentru redactarea de meeting notes firefly.ai. Folosesc și ChatGPT.

Ar putea oamenii să lucreze cot la cot cu aplicații sau roboți? Dacă da, cum poți să îi gestionezi pe toți?

Paula Giurgiu: Există deja astfel de soluții, dar nu există o standardizare a modului în care ne raportăm la AI. Cerându-i AI-ului să facă ceva, îi dăm o anume libertate să facă ceva. De interacționat, va trebui să interacționăm cu AI-ul și să înțelegem ideea din spate, chiar dacă nu înțelegem fiecare pas pe care îl face. Uneori, uităm că interacționăm cu o tehnologie AI care are limitările sale, fapt ce ne duce la ideea că această tehnologie nu este potrivită cerințelor noastre.

David Stan: Momentan, noi în zona de AI folosim AI. Cu AI poți vorbi oricum, deoarece acesta este setat să îți dea ceea ce îi ceri. Noi îl folosim, nu comunicăm cu el. Până când AI să devină o parte din echipă, vom da comenzi în continuare.

Dan Suciu: Eu, inițial, îi mulțumeam și îi ceream politicos lui ChatGPT lucruri, dar mi-am dat seama că nu este eficient, deoarece îmi dădea răspunsuri prea alambicate.

David Stan: A scrie prompturi este o artă și ne gândeam să adunăm și să refolosim prompturile care au dat răspunsuri bune.

Una din observațiile mele despre Agile este că încearcă cumva să plafoneze echipa. Cum îi motivezi pe cei mai buni să rămână și să performeze într-un mediu Agile?

Tibor Bone: Într-o echipă nu suntem toți egali. În Agile nu suntem toți egali. Nici într-o echipă de fotbal nu sunt toți egali. Dacă toți sunt egali, ajungem la o omogenitate periculoasă. O echipă cu cinci oameni egali înseamnă că acei cinci oameni pot face un singur lucru. Fiecare individ trebuie să fie specializat pe altceva și trebuie să lucreze împreună cu ceilalți.

David Stan: Trebuie să lăsăm fiecare membru al echipei să ia decizii. Cu cât se simt mai încrezători că pot lua decizii, cu atât vor lucra mai bine, mai unit și vor fi mai motivați. Simon Sinek dă exemplul a doi muncitori care lucrează la o catedrală și au manageri diferiți, unul care reușește să aducă motivație și altul care nu reușește. Drept urmare, unul din muncitori spune că el lucrează pentru salariu și pentru a-și plăti cheltuielile, pe când al doilea spune că el lucrează, deoarece, peste mulți ani, oamenii vor continua să pășească în ceva ce el a construit.

Dan Suciu: Mai este o poveste cu un om care curăța pe jos la NASA și care, întrebat de Kennedy care este rolul său, i-a răspuns președintelui că el ajută să trimită un om pe Lună.

Tibor Bone: Tu de ce faci revista TSM în continuare?

Mă pasionează și îmi face plăcere. Vreau să fac asta.

Tibor Bone: Exact acest context trebuie replicat în cadrul echipelor pentru a le ține motivate.

Da, dar revista TSM este produsul meu, pe când programatorii nu lucrează la produsul lor.

David Stan: Produsul acela rămâne, iar oamenii vor interacționa cu el. Este exact cum ai spus tu mai devreme dând exemplul catedralei. S-a mai dat exemplul cu programatorii care își doresc ca ceea ce ei au făcut să rămână neschimbat în producție măcar trei luni. Asta arată că oamenilor le pasă de lucrurile la care lucrează.