Agilni 180-204 Flashcards
180.Sta je Agilni razvoj softvera?
Agilni razvoj softvera (ARS) je familija metodologija nastala krajem
80-tih, pocetkom 90-tih. Naziv je oblikovan 2001. godine kada je formulisan Manifest agilnog razvoja softvera. Agilni razvoj softvera ima
dosta slicnosti sa objektno orijentisanim metodologijama, ali sa drugacijem pristupom planiranja. Uglavnom se pretpostavlja upotreba tehnika OO projektovanja i programiranja. Propisuje skup principa tehnika za njihovo ostvarivanje. Promovi2e dinamican i disciplinovan timski rad. Brzo se reaguje na svaku promenu u okruzenju.
- Navesti osnovne pretpostavke Manifesta agilnog razvoja.
Manifest prepoznaje osnovne 4 pretpostavke na kojima pociva agilni
razvoj i odredjuje 12 osnovnih principa agilnih metodologija. Konkretne agilne metodologije mogu imati dodatne pretpostavke, principe i da odredjuju metode i tehnike kojima se principi ostvaruju.
Pretpostavke:
Pojedinci i saradnja ispred procesa i alata;
Funkcionalan softver ispred iscrpne dokumentacije;
Saradnja sa klijentom ispred pregovaranja;
Reagovanje na promene ispred pra¢enja plana.
- Objasniti pretpostavku agilnog razvoja da su pojedinci i saradnja ispred procesa i alata.
Ima smisla staviti pojedince i saradnju ispred procesa i alata, jer su
ljudi ti koji odgovaraju na zahteve posla i razvijaju procese. Ako procesi ili alati vode razvoj, onda su manje sanse da tim uspesno odgovori na promene ili ispostuje zahtev klijenta.
Komunikacija je primer gde mooe da se predstavi razlika izmedju vrednovanja pojedinaca naspram vrednovanja procesa. U slucaju vrednovanja pojedinaca, komunikacija dolazi prirodno kada je potrebna, a u slucaju vrednovanja procesa je komunikacija zakazana i zahteva konkretnu temu.
Ljudi predstavljaju najvaoniji deo uspe2nog razvoja. Dobar proces ne
mooe uspeti sa lo2im ljudima, dok lo2 proces i najbolje ljude £ini neproduktivnim. Veoma je bitno da se izgradi dobar tim u kojem ¢e biti dobra saradnja. Dobri alati su dobrodosli, ali previse paznje posveceno alatima je jednako lose kao potpuno odsustvo alata.
- Objasniti pretpostavku agilnog razvoja da je funkcionalan softver ispred iscrpne
dokumentacije.
Agilne metodologije ne elimini2u dokumentaciju, jer je softver bez
dokumentacije beskoristan. Medjutim, agilne metodologije vise vrednuju funkcionalan softver nego dokumentaciju. Taj stav ima smisla, jer je osnovni cilj softver, a ne dokumentacija. Korisno je pisati popratnu dokumentaciju, ali bez preteranog iscrpljivanja.
- Objasniti pretpostavku agilnog razvoja da je saradnja sa klijentom ispred pregovaranja.
Softver ne mooe da se naru£uje kao name2taj, jer u svakom malo slozenijem slu£aju je prakti£no nemogu¢e da se napi2e opis zadatka i prepusti nekome da se napravi softver. Bitna je aktivna komunikacija sa klijentom
i tokom razvoja. Klijent nije tehni£ko lice i ne mooe da zna precizno sta zeli, a ne moze ni da zna sta razvojni tim moze da uradi za njega. Zbog
toga uspeh projekta zavisi od redovne komunikacije sa klijentom.
- Objasniti pretpostavku agilnog razvoja da je reagovanje na promene ispred pracenje plana.
Tradicionalno je promena smatrana kao dodatan tro2ak, zbog £ega
je izbegavana. Promene su neizbeone i sigurno nastupaju, a pitanje je
samo kada ¢e nastupiti i koje ¢e promene nastupiti. Zbog toga je bitno d
186
Navesti bar 8 principa agilnog razvoja softvera.
187
Navesti bar 3 metodologije agilnog ra-
zvoja softvera.
188
Sta je ekstremno programiranje?
189
Navesti bar 8 metoda ekstremnog programiranja.
190
Objasniti metod ekstremnog progra-
miranja Klijent je £lan tima.
191
Objasniti metod ekstremnog progra-
miranja Korisni£ke celine.
192
Objasniti metod ekstremnog progra-
miranja Kratki ciklusi.
193
Objasniti metod ekstremnog programiranja Testovi prihvatljivosti.
194
Objasniti metod ekstremnog progra-
miranja Programiranje u paru.