Schimbările rapide de piaţă au condus la nevoia companiilor de a scurta timpul de livrare al unui produs şi de a fi mai receptivi la expectanţele şi doleanţele clienţilor. Metodologiile de dezvoltare agile sunt instrumente necesare, de top, ele reuşind să reprezinte un adevărat suport pentru echipele de dezvoltare a proceselor soft, în dorinţa lor de a se adapta conform noilor tendinţe de pe piaţă.
Metodologiile de implementare agile au un impact deosebit asupra disciplinei de analiză de business în general, întrucât aduc în prim - plan o metodă nouă de abordare şi prioritizare a cerinţelor în cadrul unei echipe de implementare al unui proiect IT.
Analiştii de business sunt o componentă vitală a unei echipe IT în Agile pe întreg parcursul derulării proiectului, reprezentând legătura dintre partea tehnică şi cea business. Calităţi precum colaborarea, facilitarea, leadership-ul, coaching-ul, cât şi teambuilding-ul devin competenţe necesare, suficiente şi esenţiale pentru asigurarea livrării cu succes a unui produs IT în final. Împreună cu noile maniere şi trăsături ale procesului de dezvoltare, analiştii de business devin persoane critice în asigurarea succesului unei echipe ce abordează o metodologie agilă.
Migrarea de la o perspectivă de abordare tradițională a unui proiect la una "agilă" va conduce la o redefinire a rolurilor funcţionale din cadrul unei echipe de proiect într-o manieră diferită.
Pentru analiştii de business, gestionarea cu succes a unui proiect agil depinde foarte mult de procesul de definire a cerinţelor în paşi mai mici şi dezvoltarea unei colaborări mai strânse cu întreaga echipă de-a lungul SDLC -ului proiectului.
În cele ce urmează, acest articol va explora impactul metodologiei de dezvoltare agilă asupra Analizei de Business,. De asemenea identificarea competenţelor necesare şi conturarea rolului Analistului de Business pentru a facilita tranziţia de la metodologii tradiţionale la cele Agile, vor reprezenta subiecte de analiză.
Într-o lume agilă, cerinţele software sunt dezvoltate prin explorarea continuă a nevoilor de business. Acestea sunt colectate și rafinate printr-un proces iterativ de planificare, de prezentare a criteriilor de acceptare, de prioritizare şi dezvoltare a acestora, precum şi de evaluare rezultatelor obţinute. De-a lungul derulării procesului de analiză business, specialiştii acestui domeniu trebuie să se asigure în mod constant că toate caracteristicile cerute de clienţi se aliniază cu obiectivele de business ale produsului, mai ales ca acestea evoluează și se pot schimba în timp.
Ce înseamnă Analiza de Business în context Agile? Aceasta aduce în prim- plan nevoia creşterii de livrare a valorii de business către sponsorii si clienţii proiectului / produsului aflat în curs de implementare. Domeniul Analizei de Business Agile respectă cu stricteţe valorile şi principiile ilustrate în "Agile Manifesto" (www.agilemanifesto.org):
Rolul Analizei de Business în context agil este acela de a oferi informaţia corectă și necesară echipei de implementare în momentul şi în etapa când aceasta este solicitată pentru a asigura o stabilitate a derulării procesului soft.
În context agil, analiştii de business pot beneficia de feedback-ul constant al clienţilor atunci când efectuează împreună cu partea de client o recenzie a rezultatelor obţinute în urma efectuării unor iteraţii succesive. Astfel, ei pot executa rafinarea specificaţiilor produsului pentru a se asigura de menţinerea coeziunii cu nevoile de business a produsului / proiectului, cât şi identificarea şi reducerea riscurilor încă din incipitul proiectului / produsului.
Procesele de dezvoltare iterative oferă şansa de a creşte gradul de eficienţa în cadrul activităţii de analiză de business. În cadrul metodologiei Waterfall, analiza specificaţiilor are loc înaintea începerii fazei de implementare.
Identificarea factorilor de risc corelată cu dezvoltarea specificaţiilor de business conduc la modificarea sau eliminarea cerinţelor, efortul depus în acest sens devenind inutil. Aşadar, prin oferirea specificaţiilor de tip just - in - time, scade semnificativ şansa de a reface anumite cerinţe, întrucat doar specificaţiile necesare release-ului planificat vor fi definite în detaliu şi ulterior implementate.
Abordarea unor proiecte de complexitate ridicată a condus la creşterea importanţei funcţionale a unui analist de business. Rolul acestuia este acela de a crea o viziune a produsului bazându-se pe specificaţiile primite de la toţi stakeholder-ii implicaţi.
Părţiciparea unui Analist de Business poate fi abordată din mai multe perspective:
Unul dintre elementele cheie vitale pentru un analist de business într-un mediu agil este reprezentat de abilitatea de a utiliza feedback-ul pentru a genera mecanismul schimbării.
Analistul trebuie să revizuiască în mod constant împreună cu toate părţile implicate cerinţele şi totodată să se asigure că orice modificare a nevoilor de business sunt reflectate cu acurateţe în iteraţiile viitoare ale produsului.
Conform punctelor stipulate în Agile Manifesto, întreaga echipă trebuie să fie extrem de competentă şi eficientă în ceea ce priveşte activitatea ei profesională. Pentru a atinge toate obiectivele de productivitate planificate într-o echipă agilă , analistul de business trebuie sa fie mereu cu un pas înaintea tuturor.
Acesta are datoria de a cunoaşte întreaga viziune şi lista de specificaţii a produsului şi de a face parte din echipa finală de livrare a produsului. Ei sunt participanți activi, responsabili de planificare, analiză, testare și demo al produsului. Analistul se asigură ca produsul să respecte toate standardele cerinţelor de business. Un alt element primordial în activitatea sa este acela de a defini criteriile strategice pentru finalizarea produsului / proiectului.
În această etapă, calităţi precum negocierea, comunicarea şi facilitarea sunt esenţiale. Este un moment când analistul are nevoie de capacitatea de a asculta şi întelege feedback-ul primit de la toate părţile direct interesate și ulterior de a utiliza aceste informații primite pentru a executa modificările necesare în analiza şi prioritizarea cerinţelor proiectului / produsului.
Analiştii de business trebuie să posede o capacitate enormă de a înțelege caracteristicile metodologiei agile pe care o folosesc în munca lor de zi cu zi cu scopul de a gestiona, extrage, analiza, documenta, comunica şi valida specificaţiile. În cele ce urmează, se vor aduce în prim - plan o suită de metodologii agile şi rolul analistului de business în fiecare dintre acestea.
În Scrum nu se face o referire minuţioasă şi exactă asupra activităţilor de analiză de business. Ca un fapt adiacent, multe dintre activităţle specifice analizei de business apar ca etape implicite în Scrum. În acest sens, figura următoare ilustrează ciclul de viată specific în Scrum unde activităţle tipice de analiză de business se vor suprapune:
Realizarea şi asigurarea mentenanţei backlog-ului produsului reprezintă o activitate majoră a analizei de business. Pentru o clarificare mai specifică, backlog-ul este construit cu ajutorul:
În cadrul unui sprint, activităţile de analiză de business se focusează strict pe definirea cerinţelor pentru elementele backlog-ului ce sunt implementate şi pe criteriile de acceptare a acestora ("Just - in - time requirements gathering")
Technicile specifice sunt:
Pentru a facilita o mai bună întelegere a acestei metodologii, în figura de mai jos se ilustrează modelul XP:
Această metodologie se concentrează foarte mult pe "value driven development", şi mai puţin pe activităţi prestate în domeniul analizei de business. Conform modelului XP, rolul clientului este reprezentat de un grup de oameni care ştiu exact specificaţiile pe care trebuie să le respecte sistemul.
Totuşi există anumite circumstanţe, când modelul XP este aplicat la scară largă sau clienţii nu au o viziune clară a produsului. În acest caz, apare imperioasa nevoie a unui analist de business. Contribuţia acestuia se va materializa prin crearea unei reprezentări grafice de poveşti (engl. "story mapping") de - al lungul unui continuum de timp. Aceasta va fi utilizată pentru a identifica riscurile şi dependinţele între poveștile de utilizator în vederea optimizării valorii livrate de fiecare punere în aplicare a unei poveşti într-o manieră incrementală.
Competenţele specifice analizei de business pot fi utilizate pentru a asigura că problemele ce stau la bază vor fi abordate într-un mod convenabil pentru majoritatea actorilor implicaţi în proces, precum şi pentru asigurarea criteriilor riguroase de acceptare ce vor fi selectate pentru fiecare user story.
Technicile specifice sunt:
Bazându-se pe teoria constrângerilor şi totodată pe lean product development, Kanban se axează pe următoarele caracteristici:
Activitătile de analiză de business se caracterizează prin constanţă de-a lungul ciclului de viață al unui proiect. Pentru menţinerea unei ordini a functionalităţilor ce trebuie implementate, analiştii de business vor utiliza tehnici de identificare şi extragere de noi specificaţii ale produsului. Ulterior, prin intermediul metodelor specifice analizei cerinţelor se vor prioritiza specificaţiile având la bază valorile de business concret stabilite. Gestionarea listei de cerinţe, cât şi identificarea şi definirea domeniului de business se vor materializa prin aplicarea technicilor binecunoscute de analiza de business.
În ceea ce priveşte etapa de planificare şi coordonare a task-urilor în metodologia Kanban, se va apela la acorduri privind nivelul serviciilor (engl. "Service Level Agreements") pentru a menţine tracking-ul enhacement-urilor la care se lucrează momentan. În Kanban, această estimare include planificarea si prioritizarea activităţilor de analiză de business ce au loc înainte de etapa de implementare a funcţionalităţilor. Astfel, analistul de business se focusează strict pe monitorizarea şi planificarea activităţilor, putând face o revizie constantă si rafinare a estimărilor de fiecare dată când o nouă funcţionalitate intră în faza de analiză a ciclului Kanban. Un analist de business extrem de bun va reuși să definească cerinţe noi pentru sistem mult mai repede decât acestea ar putea fi implementate şi testate. Acest fapt este util pentru un analist de business, întrucât îl va ajuta la identificarea şi gestionarea riscului încă din incipitul proiectului. După cum se poate observa, succesul de piată în economia zilelor noastre depinde foarte mult de promptitudinea răspunsului dat la tendinţa schimbătoare a acesteia. S-a demonstrat faptul că aspiraţiile tradiționale de livrare a produselor nu sunt extrem de prompte în anumite tipuri de business unde se cere o calitate deosebită a produselor ce se doresc a fi livrate.
Metodologiile agile permit echipelor implicate în dezvoltarea produselor să împlinească doleanţele clienţilor prin crearea unei ambianţe de lucru plăcute unde membrii echipei vor dori să se implice total. Analiştii de business îndeplinesc un rol cheie în cadrul unei echipe agile. Pentru a-şi atinge obiectivele cu succes, aceştia trebuie să treacă de la o abordare consacrată de gândire în ceea ce înseamnă analiza de cerinţe. Ca un element adiţional, analiştii trebuie să îşi îmbunăţească procesul de documentare a specificaţiilor, cât şi aprofundarea de noi tehnici pentru managementul eficient al acestora. Întregul succes va depinde în mare măsură de cât de bine vor reacţiona analiştii de business la noile tendinţe de lucru cu specificaţiile, la formarea echipelor şi la colaborarea tuturor stakeholder-ilor implicaţi.