ABONAMENTE VIDEO REDACȚIA
RO
EN
NOU
Numărul 171
Numărul 170 Numărul 169 Numărul 168 Numărul 167 Numărul 166 Numărul 165 Numărul 164 Numărul 163 Numărul 162 Numărul 161 Numărul 160 Numărul 159 Numărul 158 Numărul 157 Numărul 156 Numărul 155 Numărul 154 Numărul 153 Numărul 152 Numărul 151 Numărul 150 Numărul 149 Numărul 148 Numărul 147 Numărul 146 Numărul 145 Numărul 144 Numărul 143 Numărul 142 Numărul 141 Numărul 140 Numărul 139 Numărul 138 Numărul 137 Numărul 136 Numărul 135 Numărul 134 Numărul 133 Numărul 132 Numărul 131 Numărul 130 Numărul 129 Numărul 128 Numărul 127 Numărul 126 Numărul 125 Numărul 124 Numărul 123 Numărul 122 Numărul 121 Numărul 120 Numărul 119 Numărul 118 Numărul 117 Numărul 116 Numărul 115 Numărul 114 Numărul 113 Numărul 112 Numărul 111 Numărul 110 Numărul 109 Numărul 108 Numărul 107 Numărul 106 Numărul 105 Numărul 104 Numărul 103 Numărul 102 Numărul 101 Numărul 100 Numărul 99 Numărul 98 Numărul 97 Numărul 96 Numărul 95 Numărul 94 Numărul 93 Numărul 92 Numărul 91 Numărul 90 Numărul 89 Numărul 88 Numărul 87 Numărul 86 Numărul 85 Numărul 84 Numărul 83 Numărul 82 Numărul 81 Numărul 80 Numărul 79 Numărul 78 Numărul 77 Numărul 76 Numărul 75 Numărul 74 Numărul 73 Numărul 72 Numărul 71 Numărul 70 Numărul 69 Numărul 68 Numărul 67 Numărul 66 Numărul 65 Numărul 64 Numărul 63 Numărul 62 Numărul 61 Numărul 60 Numărul 59 Numărul 58 Numărul 57 Numărul 56 Numărul 55 Numărul 54 Numărul 53 Numărul 52 Numărul 51 Numărul 50 Numărul 49 Numărul 48 Numărul 47 Numărul 46 Numărul 45 Numărul 44 Numărul 43 Numărul 42 Numărul 41 Numărul 40 Numărul 39 Numărul 38 Numărul 37 Numărul 36 Numărul 35 Numărul 34 Numărul 33 Numărul 32 Numărul 31 Numărul 30 Numărul 29 Numărul 28 Numărul 27 Numărul 26 Numărul 25 Numărul 24 Numărul 23 Numărul 22 Numărul 21 Numărul 20 Numărul 19 Numărul 18 Numărul 17 Numărul 16 Numărul 15 Numărul 14 Numărul 13 Numărul 12 Numărul 11 Numărul 10 Numărul 9 Numărul 8 Numărul 7 Numărul 6 Numărul 5 Numărul 4 Numărul 3 Numărul 2 Numărul 1
×
▼ LISTĂ EDIȚII ▼
Numărul 171
Abonamente

Evoluția echipelor și managementul atenției

Dan Boncuț
Senior Engineering Manager @ Betfair Development Romania



MANAGEMENT


Orice inginer cunoaște senzația, chiar dacă nu îi dăm întotdeauna acesteia un nume: problema din fața ta este suficient de grea cât să fie interesantă, dar nu atât de grea încât să te blocheze. Distragerile dispar, timpul se comprimă și, două ore mai târziu, îți îndrepți privirea înspre ceva de care ești cu adevărat mândru.

Zilele pe care ni le amintim ca fiind cele mai bune zile de inginerie nu sunt, de obicei, cele în care am închis cele mai multe tichete. Sunt cele în care ne-am putut gândi limpede la un singur lucru dificil și pe care l-am dus până la capăt.

Problema este că starea de flow a devenit tot mai rară pentru că ne-am umplut treptat zilele cu exact lucrurile care fac concentrarea din ce în ce mai dificilă: schimbări de context, notificări, coordonare, statusuri, handoffuri, așteptarea unui code review și zeci de fragmente de informație pe care trebuie să le ținem simultan în minte.

O lentilă utilă prin care putem privi problema este cea a încărcării cognitive.

Anatomia flow-ului: încărcarea cognitivă

Flow-ul ține, în esență, de atenție, iar atenția este guvernată de încărcarea cognitivă. Un model util al încărcării cognitive distinge între trei tipuri, iar distincția contează enorm pentru felul în care proiectăm munca de inginerie.

Încărcarea intrinsecă vine din complexitatea problemei în sine: numărul de concepte și relații pe care trebuie să le înțelegi simultan pentru a rezolva ceva. Un algoritm distribuit sau o migrare complexă de date rămân dificile indiferent cât de bine îți organizezi calendarul.

Încărcarea extrinsecă este efortul mental care nu contribuie direct la rezolvarea problemei: schimbări de context, ownership neclar, căutarea informației, handoffuri, așteptarea după alte echipe, întâlniri inutile sau reconstruirea contextului unui pull request la două zile după ce a fost scris.

Mai există și conceptul de încărcare germinativă, efortul prin care construim modele mentale mai bune, învățăm și transformăm experiența în expertiză. Vrem să păstrăm spațiu mental pentru înțelegere, nu doar pentru execuție.

Asta ne oferă un principiu simplu: complexitatea reală a problemelor nu poate fi eliminată. Flow-ul apare mai ușor atunci când atenția noastră rămâne concentrată pe problemă și pe înțelegerea ei, nu pe mecanismele construite în jurul muncii.

Ce schimbă IA-ul în ecuație

Ceea ce știm despre dezvoltarea asistată de IA este simplu: producem mai mult cod. Mult mai mult cod.

Un inginer poate explora mai multe variante, genera boilerplate, scrie teste, modifica mai multe fișiere simultan și delega unui agent sarcini care înainte necesitau zeci de minute sau ore.

Dar generarea codului nu este întregul sistem de livrare software.

Mai mult cod înseamnă mai multe schimbări de înțeles, mai multe pull requesturi, mai multe review-uri, mai multe teste, și, inevitabil, mai multe lucruri de observat și operat în producție

Aici este paradoxul. IA-ul reduce costul producerii unei schimbări, dar poate crește costul sistemic al înțelegerii tuturor schimbărilor produse. Am făcut codul mai rapid, dar nu am îmbunătățit atenția. Iar atenția umană devine noul bottleneck.

Înapoi la principii: ce este o echipă?

O echipă este un grup de oameni care lucrează împreună către același obiectiv. Pare banal, dar definiția are o consecință importantă.

IA-ul ne-a accelerat capacitatea de execuție, iar răspunsul natural al multor organizații a fost să ofere echipelor existente un scop mai mare. Dacă putem produce de două ori mai mult, de ce să nu avem grijă de două ori mai multe lucruri?

Asta încalcă discret definiția și trage grupul în mai multe direcții, slăbind alinierea. Lucrează la mai multe obiective care împart aceiași oameni, iar costul ascuns este acela al periclitării coordonării.

Mișcarea contraintuitivă este să reducem dimensiunea echipelor.

Aceste echipe mici, denumite și poduri (capsulă sau modul), devin unitatea de bază pe care se construiește restul organizației. Într-o echipă mică pot înțelege ce fac colegii mei fără să întrețin permanent un model mental al muncii altor șapte sau zece oameni doar pentru a ști unde mă încadrez. Comunicarea devine mai directă, ownershipul mai clar, iar costul alinierii scade.

Dar mai mic nu înseamnă izolat.

Coordonarea excesivă este costisitoare, însă absența totală a coordonării este la fel de periculoasă. Fără mecanisme prin care informația importantă circulă între poduri, apar alte probleme: echipele reinventează aceleași soluții, standardele diverg, iar două grupuri pot modifica aceeași zonă a sistemului fără să știe unul de celălalt.

Potrivit unei investigații Reuters, Meta s-a lovit chiar de aceste provocări. Sub programul intern Proiectul Transformarea Organizației, compania a reorganizat echipe de 10-20 de oameni în poduri de trei-cinci persoane susținute de IA. Fragmentarea în sine nu a fost vinovatul, ci mecanismele de coordonare și partajare a cunoștințelor care nu au ținut pasul cu schimbarea.

Betfair Romanian Development

Volumul de cod a crescut cu 220% de la an la an. În paralel, incidentele tehnice și de securitate majore au crescut cu aproximativ 40%, iar timpul petrecut de echipe pentru a le gestiona a crescut cu 70%, ceea ce a dus la punerea pe pauză a proiectului.

Fragmentarea fără mecanisme suficient de bune de coordonare și partajare a cunoștințelor nu elimină încărcarea organizațională, ci doar o mută. Uneori direct în producție.

Rezultatul arată exact acest cost mutat, nu eliminat: uneori direct în producție. Este motivul pentru care structurile transversale precum chapters, guilds sau comunități de practică nu sunt un lux birocratic, ci mecanismul care trebuie întărit.

Modelul de sprint cu backlog fix, estimare și angajament pe două săptămâni devine greu de susținut cu ritmul schimbării pe care IA-ul îl impune. Așa că ne întoarcem la a itera imediat: un flux mai suplu, de tip Kanban, în locul angajamentelor în loturi. Iei următorul lucru cel mai valoros, îl livrezi, iei următorul.

Protejarea încărcării germinative: întoarcerea la Extreme Programming

Dacă IA-ul reduce timpul necesar producerii codului, avantajul competitiv se mută către viteza feedbackului. Din perspectiva asta, o serie de practici vechi de peste două decenii devin surprinzător de moderne.

Pair programming. Nu vreau să aflu ce ai construit două zile mai târziu, încercând să reconstruiesc intenția dintr-un pull request de 800 de linii. Prefer să construim înțelegerea împreună, cu un agent care produce rapid variante, teste sau implementări, în timp ce noi păstrăm controlul asupra intenției și designului.

Continuous delivery și continuous deployment. Vreau codul meu în producție cât mai repede posibil. Cod scris dar netestat, nevalidat, neobservat în producție este pură încărcare extrinsecă ce acumulează risc. Cu cât este mai mic intervalul dintre a scrie și a vedea rulând, cu atât mai puțin din acea greutate trebuie dusă de cineva.

Test-driven development. Dacă IA-ul produce cod mai repede decât putem face review linie cu linie, barierele de siguranță trebuie construite continuu, nu după. TDD scrie safeguardurile în paralel cu codul. Modelele IA sunt predictive, nu deterministe, iar predicția e failibilă; nu ne putem sprijini pe ele ca sursă a corectitudinii, ci trebuie să-l înconjurăm cu teste care ne oferă feedback rapid și reduc riscul erorilor.

Release-uri mici. Cele mari sunt scumpe cognitiv. Implică mai multe schimbări, mai multe dependențe, mai mulți oameni și o suprafață mai mare în care ceva poate merge prost. De aceea ajung să necesite ceremonii, checklisturi, coordonare și, uneori, echipe întregi dedicate livrării. Un release mic este mai ușor de înțeles, și mai ușor de observat.

Refactorizare fără frică. Refactorizarea nu ar trebui să fie proiectul anual în care oprim produsul ca să schimbăm frameworkul, să rescriem jumătate din sistem și să sperăm că totul funcționează după trei luni. Când testele oferă feedback rapid, schimbările sunt mici, integrarea este frecventă și sistemul este observabil, designul poate fi îmbunătățit pe măsură ce învățăm.

Guvernanță la scară

Pentru liderii unei organizații, trecerea de la cinci echipe la cincisprezece nu înseamnă pur și simplu de trei ori mai multă muncă. Primul lucru care se rupe este iluzia că poți continua să urmărești în detaliu backlogul fiecărei echipe. Cu cinci echipe poate funcționa, dar cu cincisprezece, leadershipul însuși devine bottleneckul.

Sunt trei schimbări importante:

Direcție prin obiective, nu prin backloguri. Nu trebuie să spun fiecărui pod ce să construiască. Echipa primește o problemă, o metrică sau un outcome clar și autonomia de a descoperi cea mai bună cale către el. Leadershipul păstrează direcția, iar echipa păstrează decizia locală.

Semnale în loc de status. La scară, sănătatea organizației trebuie să devină vizibilă prin semnale, nu prin rapoarte manuale: lead time, deployment frequency, change failure rate, incidente. Completate de predictibilitatea livrării, satisfacția utilizatorilor și metrici specifice produsului, acestea înlocuiesc nevoia de status. Scopul nu este să transformăm oamenii într-un dashboard, ci exact invers: să nu îi obligăm să producă manual status doar pentru ca managementul să se simtă informat.

Safeguarduri. Autonomia nu înseamnă absența constrângerilor. Înseamnă că aceste constrângeri sunt suficient de clare încât echipa să poată decide singură în interiorul lor. SLO-uri, politici de securitate, standarde de observability, praguri de testare, reguli pentru rollout și timp de răspuns la incidente conturează limitele în care o echipă poate acționa liber. Adăugate la principii arhitecturale explicite, aceste constrângeri permit auto-guvernare fără aprobare la fiecare pas.

La cincisprezece echipe, rolul liderului se schimbă: de la urmărirea muncii la definirea rezultatelor, proiectarea sistemului organizațional, observarea semnalelor și codificarea constrângerilor.

Firul roșu

Scopul nu a fost niciodată mai mult cod, ci ingineri în stare de flow care își consumă atenția pe probleme grele și pline de sens, nu pe mecanismele din jurul lor. IA-ul elimină fricțiune locală și poate crea fricțiune sistemică.

Trei idei duc greutatea acestui articol: flow-ul individual depinde de cât de bine protejăm încărcarea intrinsecă și germinativă de zgomotul extrinsec; echipele mici funcționează doar când coordonarea între ele este proiectată și nu lăsată la voia întâmplării; iar la scară mai mare, rolul liderului se mută de la urmărirea muncii la proiectarea semnalelor și a constrângerilor care permit autonomie reală.

În era IA, organizațiile care vor câștiga nu vor fi cele care produc cel mai mult cod, ci acelea care știu cel mai bine unde merită consumată atenția umană.

Surse: DORA, State of AI-assisted Software Development 2025; Faros AI, AI Productivity Paradox 2025 și AI Engineering Report 2026 - The Acceleration Whiplash.

LANSAREA NUMĂRULUI 171

Human-in-the-loop: Keeping people at the center of AI

Miercuri, 23 septembrie, ora 18:00

Betfair Romania Development

Facebook Meetup StreamEvent YouTube

NUMĂRUL 166 - AI for Programmers

Sponsori

  • Banca Transilvania
  • Betfair
  • MHP
  • .msg systems
  • P3 group
  • Cognizant Softvision
  • BMW TechWorks Romania

INTERVIURI