Deși este valoroasă într-o serie de industrii, metodologia agilă s-a dovedit cel mai de succes în dezvoltarea de software și în ciclul de viață al dezvoltării software (SDLC). Provenind de la cele douăsprezece principii de bază ale manifestului Agile, metodologia agilă implică procese iterative axate pe monitorizarea continuă și îmbunătățirea rezultatelor.
Procesele agile au fost dezvoltate ca o alternativă la tehnicile tradiționale de cascadă. Metoda Cascadă este un proces de proiectare secvențial care necesită finalizarea unui pas înainte de a trece la următoarea. În mod convențional, metodologia Cascadă s-a dovedit a fi reușită în construcții; cu toate acestea, pentru mai multe industrii tehnice, o abordare agilă are o valoare mai mare. În loc să urmeze o abordare pas cu pas, toate etapele unui proiect sunt finalizate în paralel. Procesele agile încearcă să abordeze natura imprevizibilă a ciclului de dezvoltare prin identificarea erorilor și eliminarea necesității repornirii complet a proiectului.
Metodologie agilă
Un principiu de bază al metodologiei agile este satisfacerea și oferirea valorii clienților prin livrări continue. În loc să abordeze un proiect mare pe o perioadă lungă de timp, metodele agile descompun un proiect în sarcini mai mici, mai simple și mai ușor de gestionat, care pot fi finalizate eficient și rapid.
Spotify este recunoscut pentru procesele sale agile: cea mai mică unitate de grup a companiei, numite echipaje, se comportă ca startup-uri autonome. Fiecare echipă se concentrează pe o funcție specifică și se iterează pe baza unui produs viabil minim, lansând actualizări devreme și deseori. Prin definiție, un produs minim viabil este cea mai nouă versiune a unui produs care permite echipei să colecteze cantitatea maximă de informații necesare pentru a determina ce funcționează și ce nu. La Spotify, fiecare echipă se ocupă de un proiect mic; cu toate acestea, fiecare proiect se bazează pe un obiectiv comun de a crea o valoare mai mare a clienților.
Livrând un produs mai devreme și deseori, organizațiile sunt obligate să elimine tot ceea ce nu adaugă valoare. Indivizii devin experți în anumite domenii ale ciclului de dezvoltare, deoarece fiecare echipă mică se concentrează pe o misiune pentru o perioadă îndelungată de timp, care ajută la identificarea și eliminarea erorilor. În timp ce, cu metoda Waterfall, feedback-ul este oferit până la sfârșitul proiectului, după ce timpul important, banii și energia au fost deja cheltuite, metodologia agilă permite schimbări pe parcurs, prin feedback continuu. Prin feedback-ul continuu și flexibilitate în ceea ce privește aderarea la planul inițial, adăugarea sau schimbarea funcțiilor ține organizațiile la curent cu ultimele evoluții din industria lor.
Sarcinile unui proiect agil sunt determinate de iterație. O iterare este un interval de timp, în general de la una la două săptămâni, timp în care nevoile clienților sunt dezvoltate și transformate în produse de testare rulante. O caracteristică cheie a metodologiei agile este presupunerea că proiectele constau dintr-o succesiune de iterații. Echipele își pot folosi viteza pentru a urmări cât de mult realizează în timpul fiecărei iterații pentru a menține planurile realiste și pentru a evita suprasolicitarea. În fiecare iterație, un produs expedibil este finalizat după parcurgerea analizei, proiectării, testării, asigurării calității și experienței utilizatorului. În timp ce toate funcțiile reglate pot lipsi, membrii echipei ar trebui să fie siguri că ar putea lansa produsul, dacă este necesar.
Metodologia Scrum
Există mai multe cadre în cadrul metodologiei agile, inclusiv Scrum, Lean și Extreme Programming. Majoritatea organizațiilor care trec la metodologia agilă aleg să înceapă cu Scrum datorită simplității și flexibilității sale. Proiectele Scrum oferă companiilor și clienților structură pentru roluri, întâlniri, precum și reguli. Membrii echipei sunt responsabili de învățarea și adaptarea proceselor pentru a face față imprevizibilității.
Fiecare proiect Scrum are o listă de lucrări restante sau de făcut. Pe parcursul fazei de planificare, datele de bază sunt populate cu sarcini, obiective și un interval de timp pentru execuție. După ce a fost discutat rezultatul, proiectul este defalcat pe sprinturi, care sunt perioade de una până la două săptămâni, menite să completeze o serie de elemente de backlog. În timpul fiecărui sprint, echipa are întâlniri zilnice pentru a discuta progresul curent, progresul viitor și orice factori care împiedică progresul. La sfârșitul fiecărui sprint, toate etapele necesare trebuie finalizate în cazul unei versiuni potențiale a produsului.
În continuare, proprietarul produsului efectuează o revizuire pentru a stabili dacă toate poveștile din lista de sprint au fost completate suficient. În acest moment, ScrumMaster se întâlnește cu echipa pentru o retrospectivă. Membrii echipei reflectă asupra propriilor procese pentru a adapta comportamentul pentru sprinturile viitoare. Este esențial că ScrumMaster evită impedimentele comune și creează un mediu încurajator pentru discuții. Datorită naturii imprevizibile a dezvoltării de software și produse, fiecare sprint este unic și trebuie să se adapteze modificărilor.
Proiectele Scrum sunt facilitate de către un proprietar al produsului, ScrumMaster și echipă. În timpul fiecărui sprint, echipa, care este alcătuită din persoane care se autogestionează, este responsabilă de determinarea și delegarea modului în care va îndeplini toate lucrările necesare. În cadrul echipei, fiecare membru are o zonă de specialitate; cu toate acestea, nu există titluri formale sau ierarhie. ScrumMaster este o persoană dedicată, care rezolvă impedimentele și menține echipa pe traseu, asigurând în același timp transparența activității de sprint. În cele din urmă, proprietarul produsului este responsabil pentru crearea și comunicarea viziunii produsului și decide dacă produsele trebuie să fie supuse unei dezvoltări mai mari sau sunt gata să fie lansate.
Linia de jos
Utilizată pe scară largă în dezvoltarea de software astăzi, metodologia agilă a fost dezvoltată pentru lucrul care nu are procese definite. Metodele agile, spre deosebire de abordările secvențiale, nu sunt destinate tipurilor de muncă repetitive. Multe industrii au și continuă să implementeze metodologii agile în cadrul structurilor lor de afaceri.
Cadrul agil conține mai multe subseturi, inclusiv programarea Scrum, slabă și extremă, care ajută indivizii să facă față imprevizibilității și flexibilității. La suprafață, metodologia agilă poate ajuta la îmbunătățirea proceselor end-to-end; cu toate acestea, indivizii trebuie să fie dedicați, adaptabili și capabili să învețe pentru ca acesta să funcționeze.
