agile manifesto understanding agile values
Uvodni pokretni manifest:
Naš prethodni tutorial o Agilna metodologija detaljno nam je objasnio sve o agilnim modelima i metodologijama.
Ali do sada se ne bavimo pitanjem zašto je uopće bila potrebna agilnost i koliko je agilan prevladao nedostatke postojećih metodologija razvoja softvera poput modela vodopada.
U ovom uputstvu ćemo dublje ući u detalje agilnog i agilnog manifesta. Vidjet ćemo što kaže manifest i koje su vrijednosti i principi sadržani u njemu.
Što ćete naučiti:
Uvod
Kao što smo vidjeli u našem prethodni tutorial , ranije razvojne metodologije uzimale su previše vremena i dok bi softver bio spreman za implementaciju, poslovni bi se zahtjevi promijenili, ne udovoljavajući trenutnim potrebama.
Brzina promjena koja je u to vrijeme nedostajala stvarala je puno problema. Kad su se čelnici različitih razvojnih metodologija sastali kako bi odlučili o putu naprijed, mogli su se dogovoriti o boljoj metodi i također su mogli finalizirati formulaciju za manifest.
Ovo je zabilježeno kao 4 vrijednosti i 12 principa kako bi se praktičarima pomoglo da razumiju, pozovu se na njega i provedu ga u praksi. I u tom trenutku, nitko od njih nije mogao ni zamisliti kakav će to utjecaj imati na budućnost upravljanja projektima.
Agile Manifest
Manifest je vrlo pažljivo sročen kako bi se bit agilnosti uhvatio u najmanje riječi, a glasi kao u nastavku -
„Otkrivamo bolje načine za razvoj softvera radeći to i pomažući drugima da to učine. Kroz ovaj rad došli smo do slijedeće vrijednosti:
- Pojedinci i interakcije nad procesima i alatima.
- Radni softver preko sveobuhvatne dokumentacije.
- Suradnja kupaca tijekom pregovora o ugovoru.
- Odgovor na promjenu slijedeći plan.
Odnosno, dok vrijednost ima u stavkama s desne strane, mi više vrednujemo stavke s lijeve strane. '
Kao što vidimo, ovo su prilično sažete i jednostavne izjave i vrlo jasno daju do znanja ono što su osnivači željeli promovirati. Obično su tradicionalni projektni planovi kruti i naglašavaju postupke i vremenske rokove, ali agilni manifest propagira upravo suprotne stvari.
Preferira:
- narod
- Proizvod
- Komunikacija i
- Odzivnost
Istražit ćemo ovu novu paradigmu koju su osnivači željeli detaljno promovirati dubljim razumijevanjem okretnih vrijednosti i principa.
4 okretne vrijednosti
Četiri vrijednosti, zajedno s 12 principa, vode agilnu isporuku softvera. Sada ćemo detaljno razgovarati o svakoj od vrijednosti.
# 1) Pojedinci i interakcije nad procesima i alatima
Pojedinci i interakcije preferiraju se u odnosu na procese i alate jer to čini proces osjetljivijim. Ako su pojedinci usklađeni i nakon što se razumiju, tim može riješiti sve probleme s alatima ili procesima.
Ali ako timovi inzistiraju na slijepom pridržavanju procesa, to bi moglo uzrokovati nesporazume među pojedincima i stvoriti neočekivane zapreke, što rezultira kašnjenjem projekata.
Zbog toga je uvijek poželjno imati interakciju i komunikaciju među članovima tima, a ne slijepo, ovisno o procesima koji vode put dalje. Jedan od načina da se to postigne je uključivanje vlasnika proizvoda koji radi i može donositi odluke u suradnji s razvojnim timom.
Dopuštanje pojedincima da sami daju svoj doprinos omogućuje im i da slobodno prikažu ono što mogu donijeti na stol. Kada su ove timske interakcije usmjerene ka rješavanju zajedničkog problema, rezultati mogu biti vrlo moćni.
# 2) Rad softvera preko sveobuhvatne dokumentacije
Tradicionalno upravljanje projektima uključivalo je sveobuhvatnu dokumentaciju koja je zahtijevala kašnjenje mjeseci. To je nekada negativno utjecalo na isporuku projekta, a kašnjenja koja su posljedica bila neizbježna.
Vrste dokumentacije stvorene za ove projekte bile su vrlo detaljne i stvoreno je toliko dokumenata da se mnogi od njih nisu ni spominjali tijekom napretka projekta. Ovo je bilo nepotrebno zlo s kojim su projektni timovi nekada živjeli.
Ali to je također pogoršalo probleme u isporuci. Fokus je bio na dokumentaciji u tolikoj mjeri jer su timovi željeli završiti s gotovim proizvodom koji je bio 100% prema specifikacijama. Zato je fokus bio na detaljnom hvatanju svih specifikacija.
Ali ipak, krajnji se proizvod nekad sasvim razlikovao od očekivanja ili bi izgubio važnost. Zbog toga agilni kaže da je radni softver puno bolja opcija za mjerenje očekivanja kupaca od gomile dokumentacije.
To ne znači da dokumentacija nije potrebna. To samo znači da je radni proizvod svaki dan bolji pokazatelj usklađenosti s potrebama i očekivanjima kupaca od dokumenta stvorenog prije nekoliko mjeseci. To također podrazumijeva da su timovi odgovorni i spremni prilagoditi se promjenama prema potrebi i po potrebi dok klijentu prikazuju radni softver kada završi sprint.
Neispitivanje proizvoda tijekom sprinta zahtijeva višestruke troškove i napor u sljedećem sprintu. Jednom kada se funkcionalnost implementira, troškovi tih promjena znatno se povećavaju.
3. Suradnja kupaca tijekom pregovora o ugovoru
Pregovaranje znači da se detalji još uvijek bilježe i nisu dovršeni. Još uvijek postoji prostor za ponovna pregovaranja. No, nakon što pregovori završe, o njemu se ne može raspravljati. Agilan kaže da umjesto pregovaranja idite na suradnju.
Suradnja podrazumijeva da još uvijek ima prostora za raspravu i da je komunikacija u tijeku.
kako koristiti assert u selenom webdriveru -
Ni jednokratna stvar. To čini dvostruku prednost - iako pomaže timu da izvrši korekciju tečaja ako je potrebno u ranijoj fazi, pomaže klijentu da također pročisti svoj vid i redefinira svoje zahtjeve ako je potrebno tijekom trajanja projekt.
Drugi je aspekt taj da, iako tradicionalni modeli razvoja softvera uključuju kupca prije nego što razvoj započne tijekom faze dokumentacije i pregovora, i oni nisu toliko uključeni tijekom razvoja projekta.
Jednom kada su zahtjevi zamrznuti, oni mogu vidjeti proizvod samo nakon što je spreman. Agile se probija i kroz ovu prepreku omogućavajući sudjelovanje kupaca tijekom cijelog životnog ciklusa.
To pomaže agilnim timovima da se bolje usklade s potrebama kupaca. Jedan od načina da se to postigne je posvećeni i uključeni vlasnik proizvoda koji može pomoći timu u stvarnom vremenu za pojašnjenja i usklađivanje rada s prioritetima kupaca
4. Reagiranje na promjenu slijedeći plan
Standardni misaoni postupak je da su promjene skupa stvar i da bismo ih trebali izbjegavati pod svaku cijenu. To je ono što je nepotreban fokus na dokumentaciji i razrađenim planovima za pridržavanje vremenskih rokova i specifikacija proizvoda.
No kako nas iskustvo također uči, promjene su uglavnom neizbježne i umjesto da bježimo od toga, trebali bismo ga pokušati prihvatiti i planirati.
Agile nam omogućuje ovaj prijelaz. Agile misli da promjena nije trošak, već dobrodošla povratna informacija koja pomaže u poboljšanju projekta. To se ne smije izbjeći, ali umjesto toga dodaje vrijednost.
Kratkim sprintom koji je predložio agil, timovi mogu u kratkom roku dobiti brzu povratnu informaciju i promijeniti prioritete. Nove se značajke mogu dodati iz iteracije u iteraciju.
Zašto to radimo? Budući da se većina značajki razvijenih pomoću vodopada nikada ne koristi. To je zato što model vodopada slijedi plan, dok je to faza u kojoj najmanje znamo.
Agile također planira, ali slijedi i pravovremeni pristup gdje se planiranje vrši taman toliko koliko je potrebno. A planovi su uvijek otvoreni za promjenu kako sprinti napreduju.
12 agilnih načela
Postoji 12 agilnih principa koji su dodani nakon izrade manifesta kako bi pomogli i usmjerili timove da prijeđu u agilne i provjere jesu li prakse koje slijede u skladu s agilnom kulturom.
Slijedi tekst izvornih 12 načela, objavljenih 2001. od strane Agile Alliance:
# 1) Naš najveći prioritet je zadovoljiti kupca ranom i kontinuiranom isporukom vrijednog softvera.
#dva) Dobrodošli u promjenu zahtjeva, čak i kasno u razvoju. Agili procesi mijenjaju promjene u svrhu kupčeve konkurentske prednosti.
# 3) Dostavljajte radni softver često, od nekoliko tjedana do nekoliko mjeseci, preferirajući kraći vremenski okvir.
# 4) Poslovni ljudi i programeri moraju svakodnevno surađivati tijekom cijelog projekta.
# 5) Gradite projekte oko motiviranih pojedinaca. Pružite im okruženje i podršku koja im je potrebna i vjerujte im da će posao obaviti.
# 6) Najučinkovitija i najučinkovitija metoda prenošenja informacija razvojnom timu i unutar njega je razgovor licem u lice.
kako dodati svn spremište u eclipse
# 7) Radni softver primarno je mjerilo napretka.
# 8) Agilni procesi promiču održivi razvoj. Sponzori, programeri i korisnici trebali bi biti u mogućnosti održavati konstantan ritam unedogled.
# 9) Kontinuirana pažnja na tehničku izvrsnost i dobar dizajn povećava okretnost.
# 10) Jednostavnost - umijeće maksimiziranja količine neobavljenog posla je vrlo bitno.
#jedanaest) Najbolje arhitekture, zahtjevi i dizajni proizlaze iz samoorganizirajućih timova.
# 12) U redovitim intervalima tim razmišlja o tome kako postati učinkovitiji, a zatim podešava i prilagođava svoje ponašanje u skladu s tim.
Ovi agilni principi pružaju praktične smjernice razvojnim timovima.
Drugi način organizacije 12 principa je razmatranje u sljedeće četiri različite skupine:
- Zadovoljstvo kupaca
- Kvaliteta
- Timski rad
- Upravljanje projektima
# 1) Naš najveći prioritet je zadovoljiti kupca ranom i kontinuiranom isporukom dragocjenog softvera - Kupci će očito biti oduševljeni kad vide kako se svaki sprint isporučuje radni softver, umjesto da moraju proći kroz dvosmisleno razdoblje čekanja na kraju kojeg će samo oni moći vidjeti proizvod.
Ovdje se kupac može definirati kao sponzor projekta ili osoba koja plaća razvoj. Krajnji korisnik proizvoda također je kupac, ali možemo razlikovati to dvoje jer se krajnji korisnik naziva korisnikom.
#dva) Dobrodošli u promjenu zahtjeva, čak i kasno u razvoju. Agili procesi mijenjaju promjene radi kupčeve konkurentske prednosti - Promjene se mogu unijeti bez mnogo odgađanja u cjelokupni vremenski raspored.
Budući da agilni timovi prije svega vjeruju u kvalitetu, radije bi ugradili promjene i isporučili prema zahtjevima kupca, nego da bi izbjegli promjene i isporučili proizvod koji ne zadovoljava poslovne potrebe.
# 3) Dostavljajte radni softver često, od nekoliko tjedana do nekoliko mjeseci, preferirajući kraći vremenski okvir - O tome se brinu timovi koji rade u sprintu. Budući da su sprintovi vremenski ograničene iteracije i isporučuju radni softver na kraju svakog sprinta, kupci redovito dobivaju ideju o napretku
# 4) Poslovni ljudi i programeri moraju svakodnevno surađivati tijekom projekta - Bolje se odluke donose kad oboje rade zajedno, a između njih postoji stalna povratna veza za korekciju tečaja i promjenljivost. Komunikacija među dionicima uvijek je ključ agilnosti.
# 5) Gradite projekte oko motiviranih pojedinaca. Pružite im okruženje i podršku koja im je potrebna i vjerujte im da će posao obaviti - Morate podržati, vjerovati i motivirati timove. Motivirani tim vjerojatnije će biti uspješan i pružit će vrhunski proizvod od nesretnih timova koji nisu spremni dati sve od sebe.
Jedan od načina da se to učini je osnaživanje razvojnog tima da se samoorganizira i donosi vlastite odluke.
# 6) Najučinkovitija i najučinkovitija metoda prenošenja informacija razvojnom timu i unutar njega je razgovor licem u lice - Komunikacija je bolja i učinkovitija ako su timovi na istom mjestu i ako se mogu sastati licem u lice radi rasprava. Pomaže u izgradnji povjerenja i donosi razumijevanje među različitim dionicima.
# 7) Radni softver primarno je mjerilo napretka - Radni softver nadmašuje sve ostale KPI-je i najbolji je pokazatelj obavljenog posla.
# 8) Agilni procesi promiču održivi razvoj. Sponzori, programeri i korisnici trebali bi biti u mogućnosti održavati konstantan ritam unedogled - Naglašava se dosljednost isporuke. Tim bi trebao biti u stanju održavati tempo tijekom trajanja projekta i ne izgarati nakon prvih nekoliko sprintova.
# 9) Kontinuirana pažnja na tehničku izvrsnost i dobar dizajn povećava okretnost - Tim bi trebao imati sve vještine i dobar dizajn proizvoda kako bi se nosio s promjenama i proizveo visokokvalitetni proizvod, a istovremeno mogao uključiti promjene
# 10) Jednostavnost - Umijeće maksimiziranja količine neobavljenog posla je neophodno i dovoljno je samo da zadovolji definiciju obavljenog posla.
#jedanaest) Najbolje arhitekture, zahtjevi i dizajni proizlaze iz samoorganizirajućih timova - Samoorganizirani timovi osnaženi su i preuzimaju vlasništvo nad svojim radom. To dovodi do otvorene komunikacije i redovitog dijeljenja ideja među članovima tima.
# 12) U redovitim razmacima tim razmišlja o tome kako postati učinkovitiji, a zatim podešava i prilagođava svoje ponašanje u skladu s tim - Samopoboljšanje dovodi do bržih rezultata i manje prerade.
Zaključak
Usmjerenost na kupca i fokus na komunikaciji donijeli su agilnom uspjehu koji je danas vidljiv.
To je dokazana tehnika sa implikacijama ne samo na isporuku softvera već i na druge industrije, a danas je postala industrija za sebe.
Naš predstojeći vodič u ovoj seriji objasnit će više o Scrum timu zajedno s njihovim ulogama !!
Preporučena literatura
- Internetski kviz Agile Scrum: testirajte svoje znanje o Agile Scrumu
- Promjena načina razmišljanja agilnog testera: usklađivanje s agilnim manifestom
- Kanban vs Scrum vs Agile: Detaljna usporedba za pronalaženje razlika
- Kako isporučiti značajke softvera visoke vrijednosti u kratkom vremenskom razdoblju pomoću Agile Scrum procesa
- SAFe Agile Tutorial: Što je Scaled Agile Framework
- 4 koraka prema razvoju agilnog načina testiranja za uspješan prijelaz na agilni proces
- JIRA Agile Tutorial: Kako učinkovito koristiti JIRA za upravljanje agilnim projektima
- Praksa DevOps-a temeljena na agilnom manifestu (2. dio - blok 1)