Uvod u Agile i Scrum

Agile je metodologija razvoja softvera koja ima širinu pojasa da se brzo prilagodi promjenjivim zahtjevima projekta i da se prilagodi razvoju novog proizvoda dok je projekt u tijeku ili nakon završetka projekta, za razliku od tradicionalnog upravljanja projektima.

Shvatimo razlikovnu prednost koju Agile ima u odnosu na tradicionalnu metodologiju upravljanja projektima:

Tradicionalni pristup:

  • Detaljno planiranje prije početka
  • Omogućuje usvajanje minimalnih promjena
  • Fiksna definicija projekta

Agilni pristup:

  • Prije početka potrebno je minimalno planiranje
  • Prihvatit će se i prilagoditi se promjenama
  • Fiksno vrijeme i trošak

Scrum je najčešće korišteni i najpopularniji pristup za primjenu agilne metodologije.

Uskoro ćemo doći do dijela scruma, ali prvo da vidimo više o agilnom okviru.

Načela iza agilnog manifesta

  1. Zadovoljstvo kupaca je najveći prioritet koji se postiže kontinuiranom i ranom isporukom vrijednog softvera.
  2. Dostavite radni softver u kratkom vremenu, uz kontinuirani razvoj novog softvera / proizvoda koji se slijede po istom pristupu.
  3. Trebali bismo biti u skladu s promjenjivim zahtjevima, čak i ako dođe kasno tijekom SDLC životnog ciklusa.
  4. Članovi tima trebali bi uvijek biti motivirani i za to im treba pružiti dovoljno podrške i dobrog okruženja.
  5. Programeri i poslovni ljudi moraju raditi zajedno tijekom cijelog projekta.
  6. Najefikasniji način razgovora smatra se interakcijom licem u lice.
  7. Održivi razvoj. Svi članovi tima trebali bi biti u mogućnosti održavati stalan tempo.
  8. Djelotvorni proizvod / softver smatra se primarnom mjerom napretka.
  9. Na kraju dana, glavni fokus bi trebao biti tehnička izvrsnost i robustan dizajn.
  10. Jednostavnost se treba pridržavati tijekom procesa SDLC
  11. Timovi bi zapravo trebali pokazati kontinuiranu učinkovitost i usvojiti bilo kakve promjene za povećanje učinkovitosti.
  12. Robustan dizajn i arhitektura potiču od samoorganizirajućih timova.

Pristupi agilnoj implementaciji:

Link: https://goo.gl/images/fkZqGe

  1. SCRUM - Ovo je iterativni pristup u kojem postoji nešto što se naziva sprinteri koji traju do jednog ili dva tjedna. Ovaj pristup omogućuje timovima da redovito isporučuju radni proizvod ili softver.
  2. Kanban - Da bi se implementirala agilnost, ovaj pristup koristi vizualni okvir. Ovdje nema sprintova fiksne duljine i tim dobiva zadatak iz prioriteta zaostatka.
  3. Ekstremno programiranje (XP) - Ovaj je pristup namijenjen poboljšanju kvalitete softvera i odzivnosti uključivanjem jednostavnosti, povratnih informacija i prihvaćanjem promjena.
  4. Razvoj vođen značajkama (FDD) - Ovaj pristup uključuje 5 osnovnih aktivnosti koje su - Razviti cjelokupni model, sastaviti popis značajki, planirati značajku, dizajnirati po značajki i izgraditi po značajkama.
  5. Razvoj adaptivnog sustava (ASD) - Ovaj se pristup može koristiti za izgradnju složenih softvera i sustava i uglavnom se usredotočuje na timsku suradnju i samoorganizaciju. Sadrži 3 iterativne aktivnosti koje su - Nagađajte, surađujte i učite.
  6. Metoda razvoja dinamičkog sustava - DSDM je agilni pristup koji slijedi iterativni i inkrementalni pristup koji se uvelike temelji na Metodologiji brzog razvoja aplikacija. Rješava uobičajene nedostatke projekata, poput problema s projektom, nedostajućih rokova itd.
  7. Lean razvoj softvera - Lean softverski razvoj je okretni pristup koji ima 7 osnovnih principa, a oni su: eliminirajte otpad, osnažite tim, brzo isporučite, optimizirajte cijelu, ugradite kvalitetu, odložite odluke i pojačajte učenje.

Što je Scrum?

U prethodnim smo odjeljcima već vidjeli pristupe koji se koriste za provođenje agilnog procesa, a Scrum je bio jedan od njih, Scrum je jedan od najvažnijih i najčešće korištenih agilnih metoda. Scrum je iterativni pristup u kojem postoji nešto što se zove sprint koji traje do jednog ili dva tjedna. Ovaj pristup omogućuje timovima da redovito isporučuju radni proizvod ili softver. Ovdje su odgovornosti, uloge i sastanci odlučeni u Scrumu, a sprintovi su rasporedi u kojima je planiranje sprint-a, demo sprint-a, dnevni standup i retrospektiva sprint-a.

Uloge za Scrum / Scrum timovi:

Link: https://goo.gl/images/XpNHBe

  1. Scrum Master - Scrum Master je uloga koja je odgovorna za tim Scruma da slijedi Scrum metodologiju. Scrum Master organizira sastanke, potiče tim, olakšava planiranje i praćenje, bavi se izazovima i rješava uska grla. Scrum Master također komunicira s vlasnikom proizvoda kako bi osigurao da je zaostatak proizvoda spreman za sljedeći sprint.
  2. Vlasnik proizvoda - Vlasnik proizvoda odgovoran je za analizu i komunikaciju verzije softvera Scrum timu. Vlasnik proizvoda također koordinira s Scrum Master-om da odluči o zaostatcima proizvoda za sprintove.
  3. Razvojni tim - Razvojni tim sastoji se od profesionalaca koji su odgovorni za kontinuirani razvoj, testiranje i isporuku softvera. Oni određuju kako isporučiti komade djela u čestim koracima.

Koraci u protoku struje:

Link: https://goo.gl/images/6YTUPf

  1. Zaostatak proizvoda - Zaostatak proizvoda održava popis značajki proizvoda. Odgovornost je vlasnika proizvoda i majstora Scruma da prioritet postave stavkama zaostalih predmeta na temelju korisničkih priča i zahtjeva.
  2. Planiranje sprinta - sastanak je koji omogućuje voditelj Scrum-a na kojem vlasnik proizvoda predstavlja detalje o zaostatku proizvoda, postavlja kriterije prihvaćanja isporuke i razvojni tim koji definira rad i trud koji su svakodnevno napredovali.
  3. Pročišćavanje zaostalih predmeta - Da bi se zaostaci proizvoda ažurirali, koristimo doradu zaostataka. Ovdje su korisničke priče podijeljene na manje dijelove i sve nebitne korisničke priče uklanjaju se
  4. Daily Scrum - Dnevno trajanje sastanka traje 15 minuta na kojem se razgovaraju o tri pitanja koja su: što je postignuto jučer, što je plan za danas i koje su prepreke.
  5. Sastanak za pregled sprinta - ovaj sastanak se izvodi na kraju svakog sprinta gdje se prikazuje demonstracija uživo koja prikazuje ono što je postignuto tijekom sprinta.
  6. Retrospektivni susret sprinta - Ovaj sastanak možemo nazvati i uspjehom na kojem tim raspravlja o procesu koji je funkcionirao ili koji nije djelovao tijekom sprinta svojim potezima.

Zaključak

U ovom smo članku vidjeli da je Agile metodologija razvoja softvera koja ima širinu pojasa da se brzo prilagodi promjenjivim zahtjevima projekta i da se prilagodi razvoju novog proizvoda dok je projekt u tijeku ili nakon završetka projekta za razliku od tradicionalnog upravljanja projektima dok je Scrum najčešće korišteni i najpopularniji pristup za primjenu agilne metodologije.

Preporučeni članci

Ovo je vodič za Agile i Scrum. Ovdje smo razgovarali o različitim pristupima agilnosti i skrumpu. Možete i proći naše druge predložene članke da biste saznali više -

  1. Što je umjetna inteligencija
  2. Pitanja za intervju s agilnim Scrumom
  3. Što je SDLC
  4. Agile vs Scrum vs Vodopad

Kategorija: