Română (România)English (United Kingdom)French (Fr)
Luni, 02 Mai 2011 13:22

Ce înseamnă să fii Agile

Rate this item
(0 votes)

În prezent, majoritatea dezvoltatorilor de produse software optează pentru metodologia Agile în defavoarea abordărilor tradiționale. La baza acesteia se află satisfacția clientului, livrarea rapidă și continuă de rezultate, simplificarea integrării modificărilor aduse cerințelor pe parcursul dezvoltării și permanenta comunicare între dezvoltatori și clienți. Acestea au condus la obținerea unei metodologii simple, flexibile și eficiente.

Popularitatea metodologiei Agile
La sporirea aplicabilității și eficienței acesteia au contribuit în ultimii ani o serie de factori, dintre care poate cel mai important este disponibilitatea mai mare de unelte și soluții software specializate în gestiunea dezvoltării, testării, publicării și livrării proiectelor. Posibilitatea de a face estimări și predicții asupra evoluției proiectului are un rol semnificativ încă de la apariția principiilor Agile – stipulate în manifestul Agile (februarie, 2001).

Astfel, metodele Agile pot fi privite ca fiind rezultatul maturizării, standardizării și automatizării managementului de proiecte în general și designului arhitecturilor software în particular. Fundamentul îl constituie experiența dezvoltatorilor și cunoașterea obținută prin explorarea amplă și documentată a unei game variate de proiecte în trecut.
Acesta este probabil motivul pentru care metodologia Agile nu s-a dovedit productivă pentru sisteme complexe, unde evoluția proiectului este influențată de mulți factori. De aceea se preferă utilizarea ei predominant pentru proiecte de dimensiuni mici.

Design incremental
Un proiect dezvoltat cu metode Agile se va desfășura în iterații de scurtă durată, de aproximativ două săptămâni, spre deosebire de perioadele lungi de timp tipice predecesorilor acesteia. Numite și timeboxes, aceste iterații cuprind toate fazelele obișnuite de dezvoltare a proiectelor: planificarea, dezvoltarea, testarea. Decizia privind componentele ce vor fi realizate în iterația inițială se face prin alegerea acelor caracteristici ale produsului ce sunt (absolut) necesare pentru a putea livra un rezultat.

În iterațiile următoare, dezvoltarea se face în mod incremental, adăugând componente, care deși nu justifică neapărat o versiune nouă a produsului, reprezintă o soluție unitară și funcțională. În cadrul unei iterații, planificarea este minimală și pe termen scurt. Dezvolatorii agile nu se bazează pe documentații ample ale cerințelor clientului și arhitecturii proiectului, ci pe predicții și șabloane care s-au dovedit a fi de încredere. Testarea se începe devreme, aceasta influențând într-o mare măsură dezvoltarea.

Acest stil de lucru are ca scop menținerea unei echipe motivate prin reducerea timpului între planificarea proiectului și obținerea de rezultate. În același timp, sunt minimizați factorii de risc și rata defectelor din produs. Deși dezvoltarea în iterații a proiectului nu poate elimina eșecurile, acestea sunt identificate rapid, putând fi luate în considerare mai devreme.

Colaborare și comunicare
Cu siguranță cea mai reprezentativă caracteristică a dezvoltării agile este accentul pus pe comunicarea din cadrul echipei. Organizarea echipei se face din interiorul ei și nu trebuie să corespundă unei ierarhii. Colaborarea nu se face doar între membrii cu aceeași specialitate, ci între dezvoltatori, client, manageri și testeri deopotrivă.

Această prezență a clientului sau a unui reprezentant al acestuia în echipă are consecințe benefice asupra dezvoltării, deoarece cunoașterea sa și colaborarea cu acesta permite o mai bună prevedere și integrare a modificărilor aduse pe parcurs cerințelor inițiale. Satisfacția clientului este prioritatea oricărei echipe agile.

Cu evidente consecințe favorabile din punct de vedere comercial pentru client, dezvoltatorii iau în considerare feedback-ul primit de la utilizatori. Spre deosebire de situațiile în care produsul este livrat complet la final, în acest caz, cum dezvoltarea este incrementală, ea poate fi puternic influențată de utilizatori.

Adaptabilitate
Agile nu se potrivește tuturora. Foarte mulți dezvoltatori opun rezistență la abordări noi. Unei echipe nu i se poate impune să fie agile, ci trebuie antrenată pentru a deveni agile. Absența unor specificații care să trateze exhaustiv subiectul și care să ofere răspunsuri concrete dezvoltatorilor poate crea confuzie.

Disciplinele și dogmele unei organizații, cerințele guvernamentale, complexitatea aplicației pot toate să împiedice utilizarea metodologiei Agile și reprezintă unele dintre cele mai mari probleme întâmpinate de dezvoltatori.

Ceea ce nu trebuie înțeles greșit este că metodologia Agile reprezintă un set de principii care pot fi aplicate în variate moduri. Agile oferă un cadru în care o echipă nu este obligată să adopte o metodă Agile pură (Scrum, XP), ci să îmbine principiile Agile cu principiile organizației, iar rezultatul să reflecte factorii de mediu existenți. Un dezvoltator agile nu acționează pornind de la indicații clare, ci de la principii.

Bibliografie
http://www.infoworld.com/d/developer-world/agile-progress-report-shows-adoption-has-hit-wall-892?r=968
http://www.infoworld.com/d/developer-world/ibm-promotes-agile-development-953
http://www.infoworld.com/d/developer-world/mock-debate-ponders-developer-methodologies-990
http://www.infoworld.com/d/developer-world/xp-inventor-talks-about-agile-programming-565
http://www.infoworld.com/d/developer-world/agile-programming-beneficial-itll-ruffle-feathers-933
http://www.infoworld.com/d/developer-world/agile-software-development-now-mainstream-190
http://www.javaworld.com/javaworld/jw-03-2011/110322-agile-critic.html
http://en.wikipedia.org/wiki/Agile_management
http://en.wikipedia.org/wiki/Agile_software_development

Last modified on Marţi, 06 Decembrie 2011 12:23
Cristina Florea

Cristina Florea

Website: www.enterprise-concept.com/ro/despre-enterprise-concept/echipa/201-cristina-florea E-mail: Această adresă de e-mail este protejată de spamboţi; aveţi nevoie de activarea JavaScript-ului pentru a o vizualiza

Add comment