Ce este metodologia AGILE?Ati putea fi AGILE fara sa o stiti.
AGILE este o
Metodologie de Management a dezvoltarii proiectelor software care asigura livrarea la timp, in marjele de calitate, a proiectelor, optimizand rezultatele echipei prin cresterea productivitatii, a gradului de planificare si prin optimizarea structurilor existente in organizatia Dvs.
A fi
AGILE inseamna sa aderi si sa urmezi urmatoarele principii:
- 1. Prioritatea este satisfacerea nevoilor clientului prin lansari sustinute si in timp de software cu valoare
- 2. Cererile de schimbare sunt binevenite, chiar si in stadiile avansate ale dezvoltarii. Procesele AGILE trebuie sa poata conduce aceste cereri catre un avantaj competitiv al clientului
- 3. Livram frecvent software functional, cu o frecventa saptamanala spre lunara, cu preferinta pentru termenii mai scurti
- 4. Software-ul functional livrat este principala masura a progresului
- 5. Cele mai bune arhitecturi, cerinte si pattern-uri de dezvoltare reies din echipe care stiu sa se organizeze
- 6. La intervale regulate, echipa reflecta asupra modalitatilor de imbunatatire a eficientei, apoi isi ajusteaza perfomanta
AGILE exista in mai multe feluri:
XP (eXtreme Programming),
SCRUM,
DSDM,
Crystal,
Feature Driven Development,
Lean Software Development (ca sa mentionam doar cateva). Toate folosesc principii de baza ale filozofiei
AGILE, dar o implementeaza in moduri diferite.
Tehnica sugerata (fiind cea mai comuna) este SCRUM. Nu e un acronim, este doar un process wrapper, general si scalabil, gandit sa rezolve unele din cele mai des intalnite probleme in dezvoltarea de proiecte software, cum ar fi:
- Haos datorita schimbarii cerintelor - cerintele reale sau percepute ale unui proiect se schimba dramatic din momentul in care produsul este in faza de design pana la faza de lansare. In mai toate metodologiile de dezvoltare, analiza este facuta in partea de inceput a proiectului, si nicio schimbare nu mai este permisa pana spre final.
- Estimari nerealiste de timp, cost si calitate a produselor - managerul de proiect si dezvoltatorii tind sa subestimeze cat timp si resurse sunt necesare pentru un proiect, si cate funcitonalitati pot fi livrate in aceste constrangeri. Acestea nu pot fi niciodata prevazute 100% in faza de inceput a ciclului de dezvoltare.
- Dezvoltatorii trebuie sa minta cand se discuta progresul proiectului - cand managementul subestimeaza timpul si costul necesar atingerii unui anumit nivel de calitate, dezvoltatorii fie vor altera realitatea referitoare la progresul dezvoltarii produsului, fie vor fi nevoiti sa faca fata indignarii managerului de proiect.
Valorile SCRUM sunt derivate din cele ale metodologiei AGILE de software development:
- Indivizii si interactiunea primeaza proceselor si instrumentelor de dezvoltare - desi acestea din urma sunt de folos, nu vor aduce niciun plus in progresul dezvoltarii daca echipa nu invata sa comunice si sa colaboreze intr-o maniera constructiva.
- Software-ul functional livrat primeaza unei documentatii stufoase - documentarea progresului este importanta, dar este mult mai importat ca rezultatul final sa functioneze conform nevoilor clientului.
- Colaborarea cu clientul primeaza negocierii de contracte - ideea de baza este ca nu trebuie sa se urmareasca contractarea unui proiect pentru a primi bani, ci pentru a rezolva problema ridicata de client.
- Raspunde schimbarilor conform planului - daca cerintele se schimba, si planul de proiect si design-ul trebuie actualizate.