ABONAMENTE VIDEO REDACȚIA
RO
EN
×
▼ LISTĂ EDIȚII ▼
Numărul 45
Abonament PDF

Creșterea performanței în echipele de dezvoltare a aplicațiilor software

Ștefania Duica
IT Recruiter @Endava
DIVERSE


Într-un mediu dinamic în care apar frecvent schimbări și modificări ale cerințelor clienților, în care membrii echipei trebuie să învețe să facă față multor situații noi și în același timp să livreze la termenul stabilit, tot mai mult se discută despre metode prin care poate fi crescută performanța grupului.

Au fost realizate statistici legate de numărul de proiecte care sunt începute și finalizate de către echipele de dezvoltare software. Rapoartele realizate de The Standish Group cunoscute sub numele de CHAOS) au fost realizate în trei etape (1994, 2014 și 2015) și reprezintă o modalitate prin care este monitorizată evoluția industriei de software. Prin urmare, accentul este pus pe cauza eșuării proiectelor de software, și pe stabilirea unei strategii care să reducă numărul proiectelor eșuate. Astfel, primele statistici realizate de Standish Group International arată că în 1994 aproximativ 31.1% din echipele de dezvoltare software nu au finalizat produsul pentru care au fost alocate să lucreze, iar 52.7% dintre proiecte au costat cu 189% mai mult decât a fost estimat inițial, 16.2% au fost finalizate cu succes. În cadrul studiului s-au luat în considerare trei tipuri de situații:

  1. Proiect de succes (Project Success): este finalizat în termenul stabilit și se încadrează în bugetul estimat, cu toate funcționalitățile setate inițial.

  2. Proiect cu provocări (Project Challenged): este finalizat și operațional, dar a depășit bugetul inițial.

  3. Proiect eșuat (Project Impaired): este anulat în diferite faze în timpul ciclului de dezvoltare.

Lucrurile au evoluat și s-au îmbunătățit în timp, astfel în 2011 rata de eșec a scăzut la 22%, iar in 2015 a ajuns la aproximativ 19%, rata de succes fiind la 29%. Cu toate acestea, cel mai mare procent este în zona proiectelor pe care echipele le percep ca fiind provocatoare (Vezi Tab. 1). Rezultatele acestea evidențiază faptul că încă mai este loc pentru a îmbunătăți performanța echipelor de dezvoltare software.

Tabelul. 1 - Conceptualizarea modernă pentru toate proiectele

Conceptualizarea modernă (la timp, încadrat în buget, cu un rezultat satisfăcător) a tuturor proiectelor software din FY2011-2015 din cadrul bazei de date CHAOS.

Plusul pe care îl aduce realizarea unui astfel de studiu este legat de o monitorizare atentă a direcției în care evoluează lucrurile și progresul pe care organizațiile reușesc să îl facă în creșterea performanței echipelor de dezvoltare software. Ținând cont de marile provocări pe care le întâmpină echipele în obținerea performanței, s-au căutat modalități prin care se pot obține rezultate ridicate. Pentru ca un proiect să fie livrat cu succes, este nevoie de cunoștințe și abilități atât tehnice specifice fiecărui rol în parte (programator, tester, manager de proiect, analist de business etc), cât și în zona de creativitate, inventivitate, rezolvare de probleme, comunicare, negociere, influență. Urmărind ciclul de dezvoltare al unei aplicații se poate observa că sarcinile pe care le au inginerii IT (proiectarea arhitecturii software-ului, scrierea codului, precum și testarea aplicației) implică resurse cognitive complexe, care includ cunoștințe specializate și expertiză în aria de dezvoltare software. Ba mai mult, este nevoie de o înțelegere bună a modului în care funcționează echipa, care sunt cele mai bune strategii de aplanare a conflictelor care apar în cadrul grupului și nu în ultimul rând, cum poate fi creat un mediu optim de interacțiune între membri. Specializarea pe un anumit rol aduce ca plus în cadrul echipei expertiza, care ajută la aprofundarea proiectului și implementarea cu succes a diferitelor specificații. În procesul de dezvoltare și implementare a aplicațiilor, membrii echipei trebuie să comunice eficient, astfel încât toți să știe care sunt specificațiile pentru partea de cod care trebuie scrisă. Concluzia care poate fi extrasă de aici este aceea că interacțiunea socială și influența în cadrul echipei de proiect sunt cruciale. Transferul informațional este realizat prin schimbul de idei între membrii echipei, astfel fiind facilitat procesul de învățare, iar cei care nu au foarte multă expunere pot să vadă la cei mai experimentați diferite strategii și perspective de abordare a problemelor.

Astfel, s-a investit în căutarea celor mai eficiente modalități ca echipele de dezvoltare software să obțină rezultate ridicate și s-a demonstrat că un rol important îl joacă sistemul de memorie tranzactivă (transactiv memory system). Este vorba despre un sistem împărtășit dezvoltat de către indivizii unui grup și organizații pentru a encoda, stoca și extrage informații sau cunoștințe din diferite domenii. Acest sistem poate fi văzut ca echivalentul sistemului mnezic individual, doar că acesta se manifestă la nivelul unui grup.

În ceea ce privește sistemul mnezic, datele memorate de fiecare individ trec prin mai multe faze. Conform modelului lui Atkinson (1968) informația stocată în memoria senzorială (MS) este transmisă ulterior memoriei de scurtă durată (MSD) care are o capacitate limitată, atât ca durată, cât și ca volum. Din memoria de scurtă durată, o parte a informației este transferată în memoria de lungă durată (MLD (Fig. 1).

Fig. 1 - Reprezentarea schematică a modelului memoriei (Atkinson & Shiffrin, 1968)

Cele trei stadii identificate pentru sistemul mnezic sunt (Fig. 2):

  1. Encodarea: introducerea informațiilor în memorie;

  2. Stocarea: menținerea informațiilor în memorie;

  3. Reactualizarea: readucerea în memorie a informațiilor.

Fig. 2 - Cele trei stadii ale memoriei

Cele două sisteme funcționează asemănător: în cadrul sistemului tranzactiv de memorie, fiecare membru al echipei introduce în memorie anumite informații, fiecare păstrează informațiile pe care le-a encodat și în final, acestea sunt recuperate de la fiecare membru al echipei. Prin urmare, fiecare știe ce informații dețin ceilalți.

Cel mai important este modul în care acest sistem este dezvoltat în cadrul echipei și cum poate fi identificat. Există trei indicatori specifici ce semnalizează momentul în care sistemul de memorie tranzactivă apare în cadrul echipei: (1) specializarea cunoștințelor sau a memoriei, (2) credibilitatea sarcinii și (3) coordonarea acesteia.

  1. Specializarea cunoștințelor se referă la tendința membrilor grupului de a reține aspecte diferite ale sarcinii sau de a-și dezvolta expertiza pe aspecte specifice și complementare. Un sistem puternic de memorie tranzactivă în cadrul echipei se conturează în momentul în care membrii grupului au informații despre cunoștințele coechipierilor, pe care le pot utiliza ulterior pentru a dobândi cunoștințe complementare diferite. Acest context permite accesul la informațiile deținute de fiecare coechipier în parte și astfel va crește eficiența distribuirii sarcinilor și implicit a grupului.

  2. Al doilea indicator este credibilitatea sarcinii, care se referă la capacitatea de a avea încredere că informațiile deținute de ceilalți membri sunt corecte. Acest lucru se dezvoltă prin utilizarea informațiilor din ariile de expertiză ale colegilor, de mai multe ori, fără a întâmpina erori, probleme sau greșeli. Prin îndeplinirea sarcinilor și răspunsul la întrebări, un membru își stabilește statutul de credibilitate și expertiză. Individul cu expertiză într-un anumit domeniu își asumă responsabilitatea pentru reamintirea cunoștințelor, pentru îndeplinirea sarcinilor din domeniul său de expertiză și răspunde la nelămuririle altor membri cu privire la domeniul său.

  3. Ultimul indicator se referă la coordonarea sarcinii. Acest aspect face trimitere la capacitatea membrilor echipei de a lucra împreună, într-un mod eficient și fără să întâmpine probleme în îndeplinirea sarcinilor. Toate aceste aspecte care sunt incluse în sistemul tranzactiv de memorie îmbunătățesc coordonarea, deoarece fiecare membru al echipei are cunoștințe despre ariile de expertiză ale celorlalți colegi, despre ce sarcini pot aceștia îndeplini și cu ce informații pot ajuta echipa. Totodată, faptul că fiecare membru își cunoaște locul în echipă, îl ajută să dobândească expertiză într-o arie specifică având încrederea că celelalte informații necesare pentru implementarea proiectului vor fi obținute de la colegii săi.

Studiile arată că sistemul de memorie tranzactivă este un model care poate fi integrat atât în mediile dinamice, cât și în cele în care acțiunile au mai multă liniaritate, oferindu-le stabilitate. De asemenea, în grupurile în care sistemul de memorie tranzactivă este bine dezvoltat nivelul creativității este ridicat. De exemplu, când membrii echipei cunosc ariile de expertiză ale colegilor, își pot reconfigura cunoștințele pentru a oferi idei inovative ce ajută la dezvoltarea de noi produse și servicii. Concret, poate fi luată o situație în care se cere formarea unei echipe de dezvoltare care să propună un produs nou. În acest moment, o persoană care și-a format o scurtă descriere a ceea ce ar vrea să dezvolte, analizează ariile de expertiză necesare pentru implementarea soluției sale și contactează persoanele care le dețin pentru a forma echipa. Ulterior, pe baza expertizei pe care aceștia o au, pot veni cu îmbunătățiri la ideea inițială dezvoltând-o tot mai aproape de un produs care poate avea succes. Acest exemplu ilustrează modul în care cunoașterea ariilor de expertiză ale membrilor poate să dea naștere unor idei noi care vor contribui la rezultatul final (Fig. 3).

Fig. 3 - Exemplificare dezvoltare nivel creativitate în grupurile cu un sistem de memorie tranzactivă bine dezvoltat

Stimularea la nivel organizațional a sistemului de memorie tranzactivă, prin fluxul informațional care identifică o persoană care este expertă pe domeniu/sarcină, îi ajută pe angajați să acceseze resursele de care au nevoie, de la persoanele care le dețin De exemplu, dacă un membru al echipei nu știe să rezolve o problemă de comunicare cu o bază de date printr-un protocol de rețea specializat, va apela la membrii echipei care sunt specializați pe traficul de informație în rețea și la cei pe baze de date, obținând informația de care are nevoie în vederea rezolvării problemei.

Integrarea cunoștințelor poate fi obținută prin reguli, rutină, secvențiere și rezolvare de probleme. Aceste mecanisme sunt necesare pentru a diferenția între informațiile deținute de indivizi, dar și cele comune care au un rol cheie în integrarea cunoștințelor.

Sistemul de memorie tranzactivă reprezintă o abilitate critică în echipă pentru ca aceasta să profite de cunoștințele deja existente și să asimileze noi informații, dar pentru ca aceste acțiuni să aibă loc, este nevoie de oportunitatea potrivită și de o motivație ridicată. Astfel, Zheng (2012) a argumentat faptul că modalitatea prin care cunoștințele deținute de echipă pot fi aplicate eficient, este folosirea încrederii reciproce între membri și existența unei similarități între sarcinile finalizate și cele ce urmează a fi realizate.

Concluziile ce pot fi extrase din cercetările anterioare susțin importanța cunoașterii reciproce a membrilor echipei și experiența muncii împreună, astfel încât să se pună bazele unei structuri puternice care să poată livra un proiect calitativ. Un exemplu de succes este compania Google, fondatorii săi lucrând împreună la Stanford University pentru câțiva ani, înainte de a pune bazele companiei. Baoqi Agency, un furnizor de servicii de marketing din China, a fost de asemenea fondat de trei angajați care au lucrat împreună timp de doi ani.

Studiul efectuat de Zheng 902012 a arătat că echipele care au un sistem de memorie tranzactivă bine dezvoltat au o performanță ridicată față de echipele cu un nivel scăzut. Acest rezultat este explicat prin faptul că sistemul de memorie tranzactivă permite echipei să asimileze și să transmită informațiile într-o manieră organizată, astfel reducând cantitatea de resurse cognitive necesare implicate. Membrii echipei sunt capabili să comunice colegilor sarcinile care trebuie îndeplinite, fiecare având acces la informațiile coechipierilor, iar la final impactul se reflectă în performanța echipei.

Pentru ca în cadrul unei echipe să existe un sistem de memorie tranzactivă bine dezvoltat este nevoie de un mediu care să faciliteze construirea acestuia. Cu cât indivizii percep mediul ca fiind unul confortabil pentru procesul de învățare, simțindu-se încrezători și capabili să se schimbe, cu atât vor fi mai deschiși în fața colegilor, facilitând accesul la informațiile pe care le deține fiecare dintre ei. De aici, se poate deduce, faptul că un mediu care pune accentul pe dezvoltarea siguranței psihologice poate facilita și construirea unui sistem tranzactiv de memorie, comportându-se ca un mediator între sistemul tranzactiv de memorie și performanța echipei. Unul din comportamentele pe care le încurajează un mediu în care siguranța psihologică este crescută este cel de cooperare. În momentul în care oamenii sunt încurajați să coopereze, aceștia vor căuta ajutor pentru problemele la care nu au un răspuns, la colegii lor de echipă, iar pentru acest lucru mai întâi vor identifica cine din acea echipă deține informațiile care le pot fi lor de folos.

Dacă se ia în considerare o conceptualizare simplă a sistemului tranzactiv de memorie, acesta poate fi văzut ca o meta-cunoaștere despre "cine ce anume știe", în care indivizii au acces la mai multe cunoștințe decât ar putea avea individual. De aici se nasc o serie de beneficii pentru o echipă cu un sistem ridicat al memoriei tranzactive: membrii pot să se compenseze unii pentru ceilalți, fiind redusă încărcarea cognitivă a fiecăruia, scăderea redundanței efortului, facilitarea partajării și diseminarea cunoștințelor din diferite domenii și nu în ultimul rând, alocarea de resurse conform expertizei fiecărui membru în parte.

De aici, se poate susține ideea conform căreia o echipă care are un sistem tranzactiv de memorie bine dezvoltat, poate avea o performanță mai ridicată decât una care nu pune accentul pe cât de bine cunoaște fiecare membru din grup domeniul de expertiză al colegilor, precum și cât de ușor poate accesa aceste informații. Modalitatea care poate da cel mai bun rezultat în dezvoltarea unui grup care are rezultate ridicate este aceea de a construi un mediu care să încurajeze cooperarea și acele comportamente care îi pot ajuta să învețe. Astfel, acele organizații ce vor reuși să pună temeliile unui mediu în care oamenii se simt confortabili să greșească, să ceară feedback în orice context și vor pune accentul pe dezvoltarea unui sistem tranzactiv de memorie puternic vor putea să construiască, integreze și reconfigureze cunoștințele într-un mod mai eficient. În încheiere, aș dori să evidențiez faptul că sistemul tranzactiv de memorie facilitează dezvoltarea acelor capacități dinamice în cadrul echipei și implicit organizației.

Câteva titluri utile:

"Transactive Memory Systems: A Microfundation of Dynamic Capabilities" - Linda Agote and Youqin Ren (2012)

Psihologie Cognitivă - Mircea Miclea (1999)

CHAOS Report - 2015

Conferință

Sponsori

  • ntt data
  • 3PillarGlobal
  • Betfair
  • Telenav
  • Accenture
  • Siemens
  • Bosch
  • FlowTraders
  • MHP
  • Connatix
  • UIPatj
  • MetroSystems
  • Globant
  • MicroFocus
  • Colors in projects