Documente Academic
Documente Profesional
Documente Cultură
Def: Ramur a disciplinei Ingineria software, care se ocup cu definirea, structurarea i controlul procesului de dezvoltare a aplicaiilor software. Acest framework este utilizat pentru structurarea, planificarea si controlul procesului de dezvoltare a unui sistem software, care include rezutate specifice predefinite, artefacte care sunt create si completate de catre echipa de proiect pentru a dezvolta sau de a intretine un sistem software. Clasificare: - Dezvoltare incremental o Livrare accelerat de servicii clienilor n funcie de prioriti o Implicarea utilizatorului pentru a obine un rezultate care s se muleze ct mai bine pe cerinele acestuia - Dezvoltare iterativ o Incurajeaz comunicarea cu clientul o Sistemul evolueaz prin adugarea de noi funcionaliti n cadrul fiecrei iteraii o Pentru cele dinti iteraii cele mai importante elemente sunt funcionalitile critice Ciriterii pentru selectarea unei metodologii: - Buget: rol cheie n alegerea metodologiei - Dimensiunile echipei (pentru metodologia agile este nevoie de o echip mic) - Tehnologiile utilizate - Unelte i tehnici - Natura proiectului - Procese existente n companie
Metoda Agile
Dezavantajele metodelor clasice folosite inainte - Numar mare de resurse folosite pentru modificarea cerintelor tehnice intr-un mediu in continua schimbare - Personalul este considerat ca si factor de productie - Se creaza haos datorita schimbarilor cerintelor att n faza de design, ct i n cea de implementare i de lansare - Estimrile fcute asupra timpului, costului i calitii proiectelor sunt nerealiste Manifestul Agile 2001 Motto-ul acestui manifest se poate rezuma astfel:
Descoperim incontinuu metode mai bune pentru dezvoltarea de software prin aplicarea acestora si prin ajutorul acordat altora pentru a le aplica. Astfel, am ajuns sa pretuim: oamenii i interaciunile, software-ul funcional, colaborarea cu clienii, adaptarea la schimbare. Principiile Agile 1. Livrri nentriziate i continue de software valoros 2. Schimbarea cerinelor n decursul procesului de dezvoltare 3. Intervale mai scurte de timp 4. Oamenii de afaceri i dezvoltatorii lucreaz mpreun 5. Proiectele sunt construite n jurul persoanelor motivate 6. Comunicare eficient ctre i n interiorul echipei de dezvoltare 7. Software funcional 8. Ritm constant pe timp nedefinit 9. Superioritate tehnic i proiectare bun 10. Simplitate 11. Echipe organizate propriu 12. Brainstorm-ing pentru evoluia intern a echipei Avantajele Agile - Iterativ o iteraie se desfuar pe parcursul a 1-4 sptmni, fiind livrate anumite funcionaliti ale proiectului la sfritul acestei perioade - Bazat pe timp durata unei iteraii este fix i se stabilete la nceputul proiectului, fr a se mai interveni ulterior asupra ei - Deschis ctre client un rezultat provizoriu este prezentat clientului la sfritul fiecrei iteraii - Bazat pe livrri de versiuni intermediare ale produsului la sfritul fiecrei iteraii, taskurile completate n cadrul ei vor duce la o versiune funcional a aplicaiei solicitate Dezavantajele Agile - Interesul clienilor implicai n proces poate fi dificil de pstrat - Prioritizarea schimbrilor poate fi dificil cnd exist clieni multipli - Meninerea simplitii poate implica un fir de munc suplimentar - Contractele pot reprezenta o problem ca i n cazul celorlalte abordri de dezvoltare iterativ Metodologii Agile, conform Manifestului Agile din 2001 - Scrum (1995) - Crystal Clear - Extreme Programming (1996) XP - Adaptive Software Development - Feature Driven Development - Dynamic Systems Development (1995) DSDM
Bibliografie
1. Beck K., Manifest pentru dezvoltare agil de software, Agile Alliance, 2001 2. Pescaru D., Dezvoltarea sistemelor software, Fundamente de inginerie software, 2009