Acest articol este despre acea persoană din cadrul unei echipe care știe și întelege cel mai bine un proiect din punct de vedere funcțional și, într-un fel sau altul, este responsabilă de specificații, fie că se numește business analyst , requirements engineer sau proxy product owner, Totodată, acest articol încearcă să identifice beneficiile pe care le poate aduce acest rol, ca parte integrate în echipa de dezvoltare într-un proiect software.
De la a scrie primele specificații, a le reformula, sumariza sau clarifica până la a controla modificările apărute pe parcurs, vorbim despre persoana care are toate aceste responsabilități și nu numai. Pentru a fi mai ușor de urmărit în continuare, vom numi aceasta persoană BA-ul proiectului chiar dacă, depinzând de context, poate fi vorba despre cineva care nu are oficial această titulatură (un tester, spre exemplu).
În același timp, este persoana căreia clientul îi expune nevoile sale fără rețineri, project manager-ul îi poate delega atribuții cu încredere, tester-ul îi adresează cu ușurință întrebări, developer-ul îi poate explica tehnic complexitatea din spatele unei implementări. De asemenea, BA-ul este persoana care poate susține totodată UX designer-ul atunci când nimeni altcineva nu pare să înțeleagă de ce navigarea folosind tab-uri e mai facilă decât una care folosește liste.
Pare dificil de găsit pe cineva cu un set de abilități care să asigure înțelegerea atâtor oameni diferiți, nu-i așa? Totuși, câți dintre cei care beneficiază de o astfel de prezență în echipă, consideră că aceste abilități sunt folosite la adevărata lor valoare?
Din variate experiențe anterioare am realizat că setul de calități pe care ar trebui să le aibă un BA e mai mult decât capacitatea de a scrie sau comunica ori curiozitatea de a înțelege funcționalitatea și că în majoritatea situațiilor, oamenii care îndeplinesc atribuții de BA fac mult mai mult de atât.
Ei sunt cei care fac diferența între a livra ceva valoros pentru business sau a preda clientului cod funcțional, cei care jonglează cu interesele tuturor beneficiarilor încercând să îi mulțumească pe fiecare în parte și să le mențină așteptările la un nivel realist. Riscând mereu să supere pe cineva, ei agregă tot ce trebuie realizat într-o perspectivă de ansamblu, uitată în general de restul lumii, sau deconstruiesc toate aspectele astfel încât să poată fi ierarhizate și integrate în planuri meticuloase, care să asigure clienții că vor primi ceva cu adevărat valoros și folositor nevoilor lor pentru prețul plătit. Totodată, găsesc și timpul și voința necesară să cerceteze zona mai tehnică pentru a înțelege mai bine echipa de programare.
Multe echipe de proiect sunt circumspecte în privința beneficiilor pe care un BA le-ar putea aduce dacă li s-ar alătura, din teama de a oferi prea multă putere de decizie clientului, de a îngreuna comunicarea sau de a adăuga complexitate inutilă funcționalităților livrate. Ceea ce nu iau în considerare este adevărata valoare pe care un bun BA, lucrând alături de echipa de dezvoltare, o poate aduce respectivului proiect.
Iată șapte lucruri cheie, pe care un bun BA le poate realiza atunci când i se acordă încrederea necesară:
1.Să "traducă" specificațiile
Chiar dacă avem impresia că vorbim aceeași limbă cu clientul , realitatea este de obicei alta. Date fiind rolurile diverse dintr-un proiect, nivelul tehnic în comunicare este și el diferit, lucru care face înțelegerea deplină a cerințelor din zona de business, dificilă pentru echipa de dezvoltare. BA-ul știe ce așteaptă fiecare rol ca nivel de detalii și poate face cerințele clientului explicite echipei, asigurând o bună asimilare a specificațiilor.
2.Să păstreze privirea de ansamblu
Există nenumărate persoane interesate să obțină beneficii din ceea ce se va livra. Urmărindu-și scopurile individuale, ei uită de cele mai multe ori de produsul final, care ar trebui să existe la sfârșitul proiectului. Acesta este momentul în care BA-ul poate interveni să completeze puzzle-ul cu bucățile lipsă, să le elimine pe cele care nu aparțin imaginii de ansamblu și să le semnaleze pe cele care din motive de mărime sau complexitate pot cauza devieri de la planul inițial de livrare.
3.Să investească echipa de dezvoltare cu putere de decizie asupra soluției tehnice
Mulți clienți consideră că adăugând detalii tehnice exacte cu privire la ceea își doresc, vor elimina o eventuală discrepanță între ceea ce au cerut și ceea ce vor primi, însă adevărul este puțin diferit. Nici un programator nu vrea să fie un simplu executant de cerințe explicite atunci când scrie cod. Oamenii vor să aibă puterea de a alege, oportunitatea de a fi mai buni decât alții, de a crea, învăța și chiar a se juca cu sarcini care îi provoacă, până când ajung la un rezultat pe care sunt dispuși să și-l însușească și să și-l asume.
Mai mult, în momentul în care oamenii sunt specializați pentru anumite activități, decizia optimă e să fie lăsați să își exercite meseria așa cum știu ei mai bine. La fel cum atunci când mergem la doctor ne lăsam pe mâna cunoștințelor si experienței lor în ceea ce privește diagnoza sau tratamentul, la fel ar trebui să ne încredem în programatori în ceea ce privește implementarea unei soluții software.
Un BA ingenios se poate asigura că specificațiile sunt scrise în asemenea manieră încât funcționalitatea cerută să fie înțeleasă fără a fi nevoie de detalii tehnice, lăsând astfel loc pentru echipă sa fie motivată și creativă în găsirea soluției tehnice.
4.Să cunoască nevoile echipei și să se asigure că sunt înțelese de client
Spre surprinderea multora, un rezumat scris bine și câteva design-uri de interfață nu sunt mereu suficiente pentru o bună implementare, iar lucrurile se înrăutățesc atunci când estimările date de echipa de dezvoltare sunt puse la îndoială de client.
Oamenii vor să știe că lucrurile cerute au fost gândite înainte, situațiile de excepție au fost anticipate, impactul prevăzut și complexitatea au fost înțelese înainte de a ajunge în sfera lor de atribuții. Este un semn tacit de respect pentru munca lor atunci când specificațiile sunt clare și unul răspicat atunci când estimările lor sunt privite cu încredere.
Când acest lucru nu este înțeles de client, BA-ul își poate asuma să țină departe de echipa de dezvoltare atitudinea neconstructivă a acestuia. El poate vedea detaliile lipsă, discuta ceea ce se cere cu echipa și reveni de câte ori este necesar la client pentru a-l face să înțeleagă gradul de claritate al cerințelor. Totodată poate reveni către client pentru a întreba, clarifica și integra răspunsurile primite în specificații până când acestea vor fi pregătite pentru implementare, iar complexitatea va fi atât de evidentă încât nimeni să nu se poată îndoi de estimări.
Ar putea face chiar un pas înainte în folosul echipei și să solicite acces la planurile de viitor ale clientului pentru a putea informa echipa despre direcția în care merg lucrurile și a o ține motivată și dedicată muncii prestate.
5.Să cunoască nevoile clientului și să se asigure că acestea sunt înțelese de echipă.
Sunt numeroase situațiile pe parcursul unui proiect când anumite caracteristici ale produsului software sunt cerute într-un anumit mod, considerat greșit de către echipă din cauza lipsei informației de context. Dacă nu este cine să argumenteze acesteia nevoia de a face lucrurile în felul respectiv, clientul ar putea să manifeste lipsă de încredere în produsul dezvoltat sau în capacitățile profesionale. Pe termen lung, această atitudine va afecta negativ atât proiectul cât și produsul, deoarece, în loc de a colabora cu clientul se va tinde către un "război" silențios împotriva sa.
Ajungând să înțeleagă atât nevoile clientului în profunzime cât și aspectele "politice" care le ghidează, BA-ul poate aduce argumente solide echipei de dezvoltare pentru a o convinge că ceea ce ei pun la îndoială a fost bine analizat de client și e ancorat în realitatea businessului său. Nu trebuie să divulge tot, ci doar necesarul de informație care să asigure menținerea unei colaborări pozitive.
6.Să îi arate clientului că echipa îi poate oferi alternative demne de luat în calcul
Când clientul solicită lucruri care par nerealiste sau fără temei, nimeni nu își dorește să îi comunice că nu se poate face nimic în privința solicitării sale. BA-ul este persoana potrivită pentru a aduna feedback-ul echipei, a elimina părțile descurajatoare, a pregăti alternative mai bune alături de echipă și a merge în întâmpinarea clientului cu un DA și ,,iată cum propunem noi să facem asta" în loc de un "nu" demotivant.
7.Să mențină concentrarea pe livrarea de valoare
În planificarea a ceea ce urmează să fie implementat în fiecare etapă de proiect se pierde de multe ori din vedere scopul final, din cauza efortului necesar implementării. Se primesc o serie de funcționalități dorite de product owner, toate cu aceeași prioritate, se consideră capacitatea echipei, randamentul ei și se completează fiecare sprint cu ceea ce se poate realiza în timpul disponibil. Acesta reprezintă unul din momentele cheie în care ar trebui consultat BA-ul.
BA-ul poate ajusta scopul propus astfel încât valoarea pentru client să fie mai mare pentru efortul depus, planificarea pe termen lung să fie mai eficientă, iar clientul să poată primi în fiecare sprint funcționalitate cu beneficii imediate, având satisfacția progresului în timp ce echipa se poate concentra pe livrare.
În cele din urmă, BA-ul ar trebui să fie principalul aliat în a livra un proiect de succes alături de o echipă care se axează neîntrerupt pe calitate.
El ar trebui să fie prietenul succesului și inamicul eșecului având pe tot parcursul proiectului un singur lucru/aspect în vizor: să contribuie cu adevărat la succesul clientului prin ceea ce implementează echipa de dezvoltare.
Așadar, credeți că folosiți abilitățile acestei persoane așa cum ar trebui? Vă bucurați de beneficiile pe care acest om le poate aduce proiectului vostru sau vă întrebați cum să le obțineți?
Dacă vă puneți încă întrebări atunci punctul de pornire este să aduceți acea persoană în echipă și să îi acordați încredere. Încrederea presupunând să-i oferiți cu adevărat libertatea să schimbe mersul lucrurilor, să fie creativ, să pună întrebările incomode, să afle răspunsurile relevante, să găsească adevărata nevoie din spatele fiecărei solicitări, să o comunice echipei și să o valorifice în fața clientului.
Permițând BA-ul să fie acel numitor comun în colaborarea cu clientul, avantajele nu vor întârzia să apară. Iată unul de încheiere: un client încrezător alături de care poți forma o echipă.
de Vlad Ciurca
de Ioana Rusu
de Ioana Varga