Agile metodologija, ki je bila dragocena v številnih panogah, se je izkazala za najuspešnejšo pri razvoju programske opreme in v življenjskem ciklu razvoja programske opreme (SDLC). Agile metodologija, ki temelji na dvanajstih temeljnih načelih Agile Manifesta, vključuje iterativne procese, usmerjene v nenehno spremljanje in izboljšanje rezultatov.
Agilni procesi so bili razviti kot alternativa tradicionalnim tehnikam slapov. Metoda Slap je zaporedni postopek načrtovanja, ki zahteva izvedbo koraka pred prehodom na naslednji. Metodo slapov se je običajno izkazalo za uspešno v gradbeništvu; vendar pa ima za bolj tehnične panoge večjo vrednost agilni pristop. Namesto da bi sledili korak za korakom, so vse faze projekta končane vzporedno. Agile procesi se poskušajo spoprijeti z nepredvidljivo naravo razvojnega cikla tako, da ugotovijo napake in odpravijo potrebo po ponovnem zagonu projekta.
Agilna metodologija
Temeljno načelo agilne metodologije je zadovoljevanje in zagotavljanje vrednosti za stranke z nenehnimi rezultati. Namesto da bi se lotili enega velikega projekta v daljšem časovnem obdobju, agilne metode razdelijo projekt na manjše, enostavnejše in bolj vodljive naloge, ki jih je mogoče učinkovito in hitro dokončati.
Spotify je prepoznaven po svojih okretnih procesih: najmanjša skupinska enota podjetja, imenovana squads, deluje kot avtonomni startup. Vsaka ekipa se osredotoči na določeno funkcijo in iterati na podlagi minimalnega proizvoda, ki ga je mogoče preživeti, in sprošča posodobitve predčasno in pogosto. Po definiciji je minimalno uporaben izdelek najnovejša različica izdelka, ki ekipi omogoča zbiranje največje količine informacij, potrebnih za ugotovitev, kaj deluje in kaj ne. V Spotifyju vsaka ekipa obravnava majhen projekt; vendar vsak projekt temelji na skupnem cilju ustvarjanja večje vrednosti za stranke.
Z dostavo izdelka predčasno in pogosto so organizacije prisiljene odpraviti vse, kar ne prinaša dodane vrednosti. Posamezniki postanejo strokovnjaki na določenih področjih razvojnega cikla, saj se vsaka majhna skupina dalj časa osredotoči na eno poslanstvo, kar pomaga pri prepoznavanju in odpravljanju napak. Medtem ko z metodo Slap dajemo povratne informacije proti koncu projekta, potem ko so že porabljeni znatni čas, denar in energija, agilna metodologija omogoča spremembe na poti z nenehnimi povratnimi informacijami. Z nenehnimi povratnimi informacijami in fleksibilnostjo glede spoštovanja prvotnega načrta dodajanje ali spreminjanje funkcij omogoča, da so organizacije na tekočem z najnovejšimi razvoji v svoji panogi.
Naloge agilnega projekta poganja iteracija. Ponovitev je časovni okvir, navadno en do dva tedna, v katerem se potrebe strank razvijejo in pretvorijo v tekoče, preizkušene izdelke. Ključna značilnost agilne metodologije je domneva, da projekti sestavljajo zaporedje ponovitev. Skupine lahko s svojo hitrostjo spremljajo, koliko dosežejo med vsako ponovitvijo, da bodo načrti realni in se izognili prekomernemu oddajanju. Po vsaki ponovitvi je izdelek, ki ga je mogoče dobaviti, opraviti po analizi, oblikovanju, testiranju, zagotavljanju kakovosti in uporabniški izkušnji. Čeprav morda manjkajo vse natančno nastavljene funkcije, morajo biti člani skupine prepričani, da lahko izdelek sprostijo, če bo to potrebno.
Scrum Methodology
V okviru agilne metodologije obstaja več okvirov, vključno s programiranjem Scrum, Lean in Extreme. Večina organizacij, ki preidejo na agilno metodologijo, se odloči, da začne s Scrumom zaradi svoje preprostosti in prilagodljivosti. Scrum projekti podjetjem in strankam zagotavljajo strukturo za vloge, sestanke in pravila. Člani skupine so odgovorni za učenje in prilagajanje procesov za obvladovanje nepredvidljivosti.
Vsak Scrum projekt ima zaostanke ali seznam opravkov. Med fazo načrtovanja je zaostanek napolnjen z nalogami, cilji in časovnim okvirom za izvedbo. Po razpravi o zaostanku se projekt razdeli na sprint, ki je obdobje enega do dveh tednov in je namenjen izpolnjevanju številnih zaostankov. Med vsakim šprintom ima ekipa vsakodnevno srečanja, na katerih razpravlja o trenutnem napredku, prihodnjem napredku in vseh dejavnikih, ki ovirajo napredek. Na koncu vsakega šprinta je treba v primeru morebitne sprostitve izdelka opraviti vse potrebne korake.
Nato lastnik izdelka opravi pregled, da ugotovi, ali so bile vse zgodbe v zaostanku sprint dovolj končane. V tem trenutku se ScrumMaster z ekipo sreča za retrospektivo. Člani skupine razmišljajo o svojih procesih, da bi prilagodili vedenje prihodnjim šprintom. Ključnega pomena je, da se ScrumMaster izogne skupnim oviram in ustvari spodbudno okolje za razpravo. Zaradi nepredvidljivosti razvoja programske opreme in izdelkov je vsak šprint edinstven in se mora prilagoditi spremembam.
Projekte Scrum olajšata lastnik izdelka, ScrumMaster in ekipa. Med vsakim šprintom je ekipa, ki jo sestavljajo samoupravni posamezniki, odgovorna za določitev in delegiranje, kako bo opravila vse potrebno delo. V ekipi ima vsak član področje posebnosti; vendar ni uradnih naslovov ali hierarhije. ScrumMaster je predan posameznik, ki rešuje ovire in ohranja ekipo na pravi poti, hkrati pa zagotavlja preglednost zaostanka v šprintu. Nazadnje je lastnik izdelka odgovoren za ustvarjanje in sporočanje vizije izdelka in odloča, ali naj bodo izdelki bolj razviti ali so pripravljeni za izdajo.
Spodnja črta
Danes široko uporabljena pri razvoju programske opreme, je bila razvita agilna metodologija za delo, ki nima določenih procesov. Agilne metode za razliko od zaporednih pristopov niso namenjene ponavljajočim se vrstam dela. Mnoge panoge imajo in še naprej izvajajo agilno metodologijo v svojih poslovnih strukturah.
Agilen okvir vsebuje več podskupin, vključno s programi Scrum, vitko in skrajno programiranje, ki posameznikom pomagajo pri nepredvidljivosti in prilagodljivosti. Na površini lahko agilna metodologija pomaga izboljšati procese od konca do konca; vendar morajo biti posamezniki predani, prilagodljivi in se jih lahko naučijo, da lahko to učinkujejo.
