Iako vrijedna u mnogim industrijama, agilna metodologija pokazala se najuspješnijom u razvoju softvera i tijekom životnog ciklusa razvoja softvera (SDLC). Potječući iz dvanaest osnovnih načela Agilnog manifesta, agilna metodologija uključuje iterativne procese usmjerene na kontinuirano nadgledanje i poboljšanje rezultata.
Agilni procesi razvijeni su kao alternativa tradicionalnim tehnikama vodopada. Metoda vodopada je sekvencijalni proces dizajniranja koji zahtijeva završetak koraka prije prelaska na sljedeći. Konvencionalno, metodologija vodopada pokazala se uspješnom u gradnji; međutim, za više tehničke industrije, okretni pristup ima veću vrijednost. Umjesto praćenja korak po korak, sve faze projekta paralelno su završene. Agilni procesi pokušavaju se nositi s nepredvidivom prirodom razvojnog ciklusa identificirajući pogreške i eliminirajući potrebu za ponovnim pokretanjem projekta u potpunosti.
Agilna metodologija
Temeljno načelo agilne metodologije je zadovoljavanje i pružanje korisničke vrijednosti stalnim rezultatima. Umjesto da se bave velikim projektom kroz dugo vremensko razdoblje, agilni metodi raščlanjuju projekt na manje, jednostavnije i upravljivije zadatke koji se mogu učinkovito i brzo dovršiti.
Spotify je prepoznatljiv po agilnim procesima: najmanja grupna jedinica tvrtke, nazvana momčadi, ponašaju se kao autonomni startapovi. Svaka momčad usredotočena je na određenu funkciju i ponavlja se na temelju minimalnog održivog proizvoda, puštajući ažuriranja rano i često. Po definiciji, minimalni održivi proizvod najnovija je inačica proizvoda koja omogućuje timu da prikupi maksimalnu količinu informacija potrebnih da utvrdi što djeluje, a što ne. U Spotifyju svaki tim obrađuje mali projekt; međutim, svaki se projekt zasniva na zajedničkom cilju stvaranja veće vrijednosti kupca.
Dostavljajući proizvod prerano i često, organizacije su prisiljene ukloniti sve što ne daje vrijednost. Pojedinci postaju stručnjaci za određena područja razvojnog ciklusa jer se svaki mali tim fokusira na jednu misiju kroz dulje vremensko razdoblje, što pomaže u prepoznavanju i uklanjanju pogrešaka. Dok se metodom vodopada daju povratne informacije prema kraju projekta nakon što su već utrošeni značajni vrijeme, novac i energija, agilna metodologija omogućava promjene na putu kroz stalne povratne informacije. Kroz kontinuirane povratne informacije i fleksibilnost u pogledu pridržavanja izvornog plana, dodavanjem ili promjenom značajki organizacije su u tijeku s najnovijim dostignućima u njihovoj industriji.
Zadaci agilnog projekta upravljaju iteracijom. Ponavljanje je vremenski okvir, obično jedan do dva tjedna tijekom kojeg se potrebe klijenata razvijaju i pretvaraju u tekuće, testirane proizvode. Ključna značajka agilne metodologije je pretpostavka da se projekti sastoje od niza iteracija. Timovi mogu pomoću svoje brzine pratiti koliko postižu tijekom svake iteracije kako bi planovi bili realni i izbjegli prekomjernu predaju. U svakoj iteraciji proizvod koji se može isporučiti dovršava se nakon analize, dizajna, testiranja, osiguranja kvalitete i korisničkog iskustva. Iako sve precizirane značajke možda nedostaju, članovi tima trebaju biti sigurni da će po potrebi moći pustiti proizvod.
Scrum Methodology
Nekoliko okvira postoji u okviru agilne metodologije, uključujući Scrum, Lean i Extreme programiranje. Većina organizacija koja prelazi na agilnu metodologiju odlučuje započeti s Scrumom zbog njegove jednostavnosti i fleksibilnosti. Scrum projekti tvrtkama i klijentima pružaju strukturu za uloge, sastanke kao i pravila. Članovi tima odgovorni su za učenje i prilagođavanje procesa kako bi se mogli nositi s nepredvidivošću.
Svaki Scrum projekt ima zaostatak ili popis obaveza. Tijekom faze planiranja, zaostaci su popunjeni zadacima, ciljevima i vremenskim okvirom za izvršavanje. Nakon razgovora o zaostatku, projekt se raščlanjuje na sprintove, koji su razdoblje od jednog do dva tjedna usmjereno na dovršetak brojnih zaostalih predmeta. Tijekom svakog sprinta, tim ima svakodnevne sastanke kako bi raspravljao o trenutnom napretku, budućem napretku i svim čimbenicima koji ometaju napredak. Na kraju svakog sprinta, potrebno je izvršiti sve potrebne korake u slučaju potencijalnog puštanja proizvoda.
Zatim vlasnik proizvoda vrši pregled kako bi utvrdio jesu li sve priče u zaostatku sprinta dovoljno završene. U ovom trenutku ScrumMaster se sastaje s timom radi retrospektive. Članovi tima razmišljaju o vlastitim procesima kako bi prilagodili ponašanje budućim sprinterima. Ključno je da ScrumMaster izbjegne uobičajene prepreke i stvori ohrabrujuće okruženje za raspravu. Zbog nepredvidive prirode razvoja softvera i proizvoda, svaki sprint je jedinstven i mora se prilagoditi promjenama.
Scrum projekte olakšava vlasnik proizvoda, ScrumMaster i tim. Tijekom svakog sprinta, tim, koji se sastoji od samoupravnih pojedinaca, odgovoran je za određivanje i delegiranje na koji će način obaviti sve potrebne poslove. Unutar tima svaki član ima područje specijalnosti; međutim, ne postoje formalni naslovi ili hijerarhija. ScrumMaster je posvećeni pojedinac koji rješava prepreke i održava tim na pragu, osiguravajući transparentnost zaostataka u sprintu. I na kraju, vlasnik proizvoda odgovoran je za stvaranje i komuniciranje vizije proizvoda i odlučuje trebaju li proizvodi proći više razvoja ili su spremni za puštanje u promet.
Donja linija
Danas široko korištena u razvoju softvera, razvijena je agilna metodologija za rad koji nedostaje definirane procese. Agilne metode, za razliku od sekvencijalnih pristupa, nisu namijenjene ponavljanim vrstama rada. Mnoge industrije imaju i nastavljaju primjenjivati agilnu metodologiju u svojim poslovnim strukturama.
Agilni okvir sadrži više podskupova, uključujući Scrum, lean i ekstremno programiranje koji pomažu pojedincima da se nose s nepredvidivošću i fleksibilnošću. Na površini, agilna metodologija može pomoći poboljšati postupke od početka do kraja; međutim, pojedinci moraju biti predani, prilagodljivi i sposobni učiti kako bi to uspjelo.