#EnciclopediATIC | Episodul 1: Metodologiile Agile și Waterfall

Platforma career.ict.md lansează primul episod #EnciclopediATIC. Subiectul abordat în prima ediție este despre „Metodologiile Agile și Waterfall”.

Agile reprezintă dezvoltarea flexibilă de programe. Este o familie de metodologii de project management în ingineria software, bazată pe dezvoltarea incrementală care îmbrățișează și promovează schimbările ce evoluează de-a lungul întregului ciclu de viață al unui proiect. Problema este divizată în sub-probleme mici și planificarea lor se face pe durate scurte. Se evită planificarea în detaliu pe termen lung, deoarece inerent în dezvoltarea de software apar întârzieri din cauza schimbărilor și cerințelor clientului. 

Waterfall este cunoscut ca șimodelul cascadei. În acest model, activitatea de dezvoltare software este împărțită în diferite faze și fiecare fază constă dintr-o serie de sarcini și are obiective diferite. În cascadă, dezvoltarea unei faze începe numai dacă cea anterioară este finalizată, fiecare fază fiind destul de precisă și bine definită. Așadar, fazele cad de la un nivel mai înalt la un nivel inferior, ca o cascadă, de aici și denumirea sugestivă de waterfall. 

Tipurile Agile: Scrum și Kanban

Scrum este un cadru utilizat în echipe care gestionează proiecte complexe. Cu alte cuvinte, Scrum este o metodologie Agile care își propune să prezinte rezultate valoroase în perioade scurte. De altfel, prima abordare a acestei metode a fost descrisă de Takeuchi and Nonaka în „The New Product Development Game” în 1986 în revista Harvard Business Review. Potrivit autorilor, proiectele care folosesc echipe mici și au posibilitatea de a transfera una de la alta sarcini produc cele mai bune rezultate. De asemenea, ei au comparat aceste echipe performante cu grămada folosită în rugby, în engleză „scrum”, referindu-se la această metodă de organizare a proiectelor ca Scrum. 

Metoda Kanban, așa cum a fost definită de David J. Anderson, este o metodă de schimbare incrementală, evoluționară a proceselor și sistemelor organizaționale. Pe scurt, Kanban-ul este o modalitate de organizare a haosului, care însoțește activitatea multiplelor echipe de implementare, prin conștientizarea nevoii de prioritizare și de aliniere a eforturilor. Mai este descrisă și ca o modalitate de descoperire a problemelor legate de procese și fluxuri de lucru, care permite rezolvarea lor și livrarea de mai multă consistență pentru clienți si cumpărători.

Rolurile întâlnite

  • Development team este formată din profesioniști care fac din activitatea de livrare un potențial Increment, lansabil pe piață, al produsului “Finalizat”, la sfârșitul fiecărui Sprint. Echipele de dezvoltare se auto-organizează. Nimeni, nici măcar Scrum Master-ul, nu îi poate spune cum să transforme elementele din Product Backlog în potențiale Incrementuri ale funcționalității ce pot fi lansate pe piață. În plus, aceste echipe sunt inter-funcționale și au toate competențele pentru produsul final. Dacă e să ne referim la câţi membri trebuie să numere development team, atunci să ştiţi că trebuie să fie suficient de mică încât să rămână agilă, dar şi suficient de mare încât să poată termina o munca semnificativă în cadrul unui Sprint.
  • Product owner este o funcție deținută de o persoană și este un membru al echipei Agile responsabil pentru a maximiza valoarea produsului prin munca echipei de dezvoltare. Un Product Owner se axează pe backlog, asigurându-se că totul este clar, optimizat, iar echipa de programatori înţelege toţi itemii. Un Product Owner se va axa pe organizarea internă pentru a se asigura că nevoile clientului sunt armonizate cu trăsăturile tehnice ale produsului. Tot el, Product Owner-ul este cel care ia feedback de la client, asigurându-se că rezultatul final al proiectului este cel așteptat. 
  • Scrum Master-ul este facilitatorul unei echipe de dezvoltare în sistem Agile. Scrum masterul este responsabilă de gestionarea procesului și numai a procesului. Ei nu sunt implicați în luarea deciziilor, ci acționează pentru ghidarea echipei de dezvoltatori. Această persoană este la curent mereu cu starea proiectului și jobul lui poate fi echivalent cu cel al unui manager de proiect. Mai este referit și ca Lord de Scrum. Așadar, Scrum Master-ul nu este un arhitect sau vreun expert tehnic, dar e mai degrabă un antrenor. Fără această persoană în echipă care gestionează procesul de la A la Z, proiectul poate să eșueze.
  • Stakeholder este persoana care oferă feedback proprietarului de produs și echipei Scrum, dar și care contribuie frecvent la Sprint Review. De multe ori, stakeholderii chiar fac parte din organizația care dezvoltă produsul respectiv. De fapt, stakeholderul poate fi o persoană sau un grup de persoane ori chiar o organizație care au interes fie la o anumită etapă, fie la tot procesul pentru ca acesta să se desfășoare într-un anume fel și să producă un anume rezultat.

Articolul a fost realizat în cadrul colaborării cu Sabina Paulescu, HR Manager Amdaris și Alina Malbaș, HR Manager Technosoft.