Agile terminologije i definicije

Ispitivanje prihvaćanja

Formalno ispitivanje provedeno kako bi se utvrdilo zadovoljava li sustav svoje kriterije prihvaćanja i kako bi se kupcu omogućilo da odluči hoće li sustav prihvatiti ili ne.

Agile metodologija razvoja softvera

Agilni razvoj softvera stavlja veliki naglasak na suradnju, reakciju na promjene i smanjenje otpada tijekom razvojnog ciklusa. Agile razvoj softvera fokusira se na jednostavnost koda, često testiranje i isporuku funkcionalnih bitova aplikacije čim budu spremni.

Važno agilno načelo je isporučiti (potencijalno) dostupan softver nakon svake iteracije.

Dotjerivanje zaostalih predmeta



Dotjerivanje zaostalih predmeta postupak je dodavanja novih korisničkih priča u zaostatak, ponovnog postavljanja postojećih priča po potrebi, stvaranja procjena i dekonstrukcije većih priča u manje priče ili zadatke. Umjesto da sporadično rješava zaostatak tijekom iteracije, tim može održati sjednicu dotjerivanja jednom po iteraciji.

Prekid gradnje

Kada programer doda promjene u spremište izvornog koda koje rezultiraju neuspjehom u sljedećem procesu gradnje, programer je 'slomio gradnju'.

Trebalo bi se posvetiti timu kako bi se izbjeglo prekidanje gradnje, jer će to usporiti razvoj, a drugim programerima može predstavljati usko grlo. Kad je gradnja prekinuta, razvojni tim treba odmah poduzeti mjere da popravi gradnju.

Izgradnja je prekinuta ako se postupak gradnje ne može uspješno dovršiti iz bilo kojeg broja razloga, uključujući (ali ne ograničavajući se na) neuspješno sastavljanje, sastavljanje s neprihvatljivim upozorenjima ili neuspjeh bilo kojeg broja automatiziranih testova.

Proces gradnje / Izgradnja cjevovoda

Postupak gradnje ili cjevovod izgradnje postupak je u kojem priča ide od početka do proizvodnje, obično prolazi kroz različite faze i provjere kako bi se osigurala kvaliteta.

Cjevovod izgradnje definira tijek rada za isporuku softvera i ono što se događa u svakoj fazi.

Grafikon Burndown

Grafikon koji prikazuje ukupan broj sati rada preostalih po danu. Pokazuje gdje se ekipa nalazi u pogledu izvršavanja zadataka predanih sprintu. Os X predstavlja dane u sprintu, dok je os Y preostali napor.

Piletina

U scrum-u, piletina je žargonska riječ koja se koristi za nekoga tko je zainteresiran za projekt, ali nije odgovoran za rad na zadatku u aktivnoj iteraciji. Oni mogu promatrati sastanke timova, ali ne mogu glasati ili razgovarati.

Kontinuirana integracija

Kontinuirana integracija (CI) je praksa eXtreme Programming (XP) u kojoj članovi dostavnog tima često integriraju svoj posao (npr. Satno ili barem jednom dnevno).

Svaka integracija provjerava se automatiziranom gradnjom, koja također provodi testiranje, kako bi se brzo i automatski otkrile sve pogreške integracije. Glavni cilj CI-a je izbjeći ono što se obično naziva integracijom ili spajanjem pakla.

Višefunkcijski tim

Tim koji se sastoji od članova sa svim funkcionalnim vještinama i specijalnostima (često se nazivaju i višestrukim vještinama) potrebnim za dovršetak projekta od početka do kraja.

Kupac

Kupac se obično definira kao primatelj ili korisnik proizvoda. Kupci mogu biti interni ili vanjski u odnosu na organizaciju. Kupac može biti jedna osoba, odjel ili velika grupa.

Interne kupce ponekad nazivaju i „poslovnim“.

Svakodnevni standup

Dnevni sastanak tima obično se održava prvo ujutro kako bi se članovima tima omogućilo ažuriranje statusa. Sastanci su obično vremenski ograničeni na 5-15 minuta i održavaju se stojeći kako bi podsjetili ljude da sastanak bude kratak i precizan.

Definicija gotovog (DoD)

Kriteriji za prihvaćanje rada kao završenog. Navođenje ovih kriterija odgovornost je cijelog tima, uključujući i tvrtku. Općenito postoje tri razine 'Gotovo' (poznato i kao Gotovo-Gotovo-Gotovo):

  • Gotovo: razvijeno, pokreće se na kutiji programera
  • Gotovo: Potvrđeno pokretanjem jediničnih testova, pregledom koda itd.
  • Gotovo: Ovjereno kao isporučljiva kvaliteta funkcionalnim testovima, pregledima itd.

Točni kriteriji za ono što čini 'Gotovo' variraju kako bi se zadovoljile posebne potrebe različitih organizacija i inicijativa.

Ep

Vrlo velika korisnička priča koja se na kraju raščlanjuje na manje priče. Epovi se često koriste kao rezervirana mjesta za nove ideje i srodne priče koje će se razvijati u sljedećim sprintima.

Epske priče pomažu agilnim razvojnim timovima da učinkovito upravljaju i uređuju zaostale proizvode.

Procjena

Postupak dogovaranja mjerenja veličine priča ili zadataka u zaostatku proizvoda. Na agilnim projektima procjenu vrši tim odgovoran za izvođenje posla, obično koristeći igru ​​planiranja ili planiranje pokera.

Ekstremno programiranje

Agilna metodologija razvoja softvera koja je namijenjena poboljšanju kvalitete softvera i reagiranju na promjenjive zahtjeve kupaca.

XP zagovara česta 'izdanja' u kratkim razvojnim ciklusima, koja imaju za cilj poboljšati produktivnost i uvesti kontrolne točke na kojima se mogu usvojiti novi zahtjevi kupaca.

Ostali elementi ekstremnog programiranja uključuju: programiranje u paru, opsežne recenzije kodova, jedinstveno testiranje, kontinuirana integracija da nabrojimo neke.

Značajka

Koherentna poslovna funkcija ili atribut softverskog proizvoda ili sustava. Značajke obično sadrže mnoge detaljne (jedinice) zahtjeve. Jedna značajka obično se implementira kroz mnoge priče.

Značajke mogu biti funkcionalne ili nefunkcionalne; pružaju osnovu za organiziranje priča.

Fibonaccijev niz

Slijed brojeva u kojima se sljedeći broj izvodi zbrajanjem prethodna dva (npr. 1, 2, 3, 5, 8, 13, 21, 34 ...). Slijed se koristi za veličinu priča u agilnim tehnikama procjene, poput planiranja pokera.

Prepreka

Sve što sprečava člana tima da što učinkovitije obavlja posao, prepreka je. Svaki član tima ima priliku objaviti prepreke tijekom dnevnog sastanka standup-a.

Zadatak ScrumMastera je osigurati uklanjanje prepreka što je prije moguće kako bi tim mogao i dalje biti produktivan.

Iteracija

Razdoblje (od 1 tjedna do 2 mjeseca) tijekom kojeg Agile razvojni tim proizvodi dodatak dovršenog softvera. Sav sustav faze životnog ciklusa (zahtjevi, dizajn, kôd i ispitivanje) moraju se ispuniti tijekom iteracije i zatim demonstrirati kako bi se iteracija prihvatila kao uspješno dovršena.

Na početku iteracije, vlasnik tvrtke ili proizvoda identificira sljedeći (najveći prioritet) dio posla koji tim treba dovršiti. Razvojni tim tada procjenjuje razinu napora i obvezuje se dovršiti segment posla tijekom iteracije.

Kanban

Kanban je alat izveden iz vitke proizvodnje i povezan je s granom agilnih praksi koje se slobodno naziva Lean Software Development. Kanban ograničava koliko rada u tijeku smije biti istodobno izvedeno.

Glavna razlika između Kanbana i Scruma je ta što Scrum ograničava nedovršeni rad kroz sprintove, a Kanban ograničava nedovršeni rad ograničavajući koliko se posla može odjednom dogoditi (npr. N zadataka ili N priča).

Lean razvoj softvera

Lean razvoj softvera ili samo Lean usmjeren je na smanjenje otpada i optimizaciju tijeka vrijednosti proizvodnje softvera.

Minimalno održivi proizvod (MVP)

Najmanji radni proizvod koji se može izraditi i testirati te isporučiti u određenom vremenu koji korisnicima daje vrijednost.

Programiranje u paru

Agilna tehnika razvoja softvera u kojoj dva programera rade zajedno na jednoj radnoj stanici. Jedan upisuje kôd, dok drugi pregledava svaki redak koda kako je upisan. Osoba koja tipka naziva se vozač. a osoba koja pregledava kod zove se promatrač ili navigator. Dva programera često mijenjaju uloge.

Svinja

Netko tko je odgovoran za izvršavanje zadatka u aktivnoj iteraciji. Suprotno je od Piletine. Svinje su aktivno uključene u projekt.

Planiranje pokera

Planning Poker je tehnika procjene zasnovana na konsenzusu, koja se uglavnom koristi za procjenu napora ili relativne veličine zadataka u razvoju softvera. Tim koristi fibonaccijevu seriju ili veličinu majice za procjenu priča tijekom planiranja poker igre.

Proizvod

Široko govoreći, proizvod se odnosi na skup značajki koje su integrirane i upakirane u izdanja softvera koja nude vrijednost kupcu ili tržištu.

Vlasnik proizvoda

Vlasnik proizvoda jedna je od ključnih uloga u Scrumu. Odgovornosti vlasnika proizvoda uključuju:

  • Uspostavljanje, njegovanje i prenošenje vizije proizvoda
  • Stvaranje i vođenje tima programera koji najbolje pruža vrijednost kupcu
  • Praćenje projekta prema ciljevima ROI-ja i investicijskoj viziji
  • Donošenje odluka o tome kada stvoriti službeno izdanje

Zaostatak proizvoda

Zaostatak proizvoda sličan je popisu želja koje značajke tvrtke žele pružiti dugoročno. To je zbirka priča i zadataka na kojima će tim raditi u nekom trenutku u budućnosti.

Vlasnik proizvoda održava ovaj popis zaostalih proizvoda u skladu s poslovnim prioritetima i potrebama. Stavke u zaostatcima trebale bi odražavati poslovni plan.

Refaktoriranje

Promjena postojećeg softverskog koda radi poboljšanja cjelokupnog dizajna. Refaktoriranje obično ne mijenja vidljivo ponašanje softvera; poboljšava njegovu unutarnju strukturu.

Plan oslobađanja

Plan izdanja je raspored puštanja softvera u proizvodnju. Tipični planovi izdavanja uključuju ključne značajke koje treba isporučiti, zajedno s odgovarajućim datumima izdanja.

Retrospektiva

Sastanak s vremenskim okvirom održan na kraju sprinta na kojem tim ispituje svoje procese kako bi utvrdio što je uspjelo i što bi se moglo poboljšati. Retrospektiva je ključna za kontinuirano poboljšanje.

Pozitivan ishod za retrospektivu je identificiranje jedne ili dvije visoko prioritetne akcijske stavke na kojima tim želi raditi u sljedećoj iteraciji ili objavljivanju.

Ološ

Scrum je okvir za razvoj složenih softverskih proizvoda na iterativni i inkrementalni način i najpoznatiji je Agile okvir.

Scrum se sastoji od niza kratkih ponavljanja - nazvanih sprintovi - od kojih svaka završava isporukom koraka radnog softvera.

Scrum tim

Scrum tim je višefunkcionalna i samoorganizirajuća grupa koja je odgovorna za isporuku softvera.

Scrum tim uključuje multikvalificirane ljude koji razumiju zahtjeve kupaca i provode dizajn, kodiranje i testiranje softvera. Dodatne vještine (npr. Dizajn korisničkog sučelja, upotrebljivost itd.) Također mogu biti uključene.

Scrum tim odgovoran je za sve radne obveze i ishode.

ScrumMaster

ScrumMaster odgovoran je za održavanje Scrum procesa i cjelokupno zdravlje tima. ScrumMaster osigurava da je tim u potpunosti funkcionalan i produktivan uklanjanjem svih prepreka koje mogu ometati napredak tima. ScrumMaster također organizira Scrum ceremonije.

Šiljak

Priča ili zadatak čiji je cilj odgovoriti na pitanje ili prikupiti informacije, a ne implementirati značajke proizvoda, korisničke priče ili zahtjeve.

Ponekad se generira korisnička priča koju nije moguće procijeniti dok razvojni tim ne izvrši stvarni posao na rješavanju tehničkog pitanja ili problema s dizajnom. Rješenje je stvoriti 'šiljak', što je priča čija je svrha pružiti odgovor ili rješenje.

Sprint

U razvoju proizvoda, sprint je određeno vremensko razdoblje tijekom kojeg se određeni posao mora završiti i pripremiti za pregled. Uobičajena duljina sprinta obično je 2 tjedna, a obično ne dulja od 4 tjedna.

Zaostatak u sprintu

Popis značajki, korisničkih priča ili zadataka koji se izvlače iz zaostatka proizvoda radi razmatranja radi dovršenja tijekom nadolazećeg sprinta. Značajke zaostalih proizvoda i korisničke priče raščlanjuju se na zadatke kako bi se formirao zaostatak u sprintu tijekom sastanka o planiranju sprinta.

Dotjerivanje priča

U sesijama dotjerivanja priča preciziraju se detalji korisničkih priča. Kriteriji prihvaćanja su napisani i razrađeni. U ovoj se fazi također procjenjuju priče.

Cilj ove sesije je osigurati da svi koji su uključeni u razvoj i testiranje priča dijele zajedničko razumijevanje konteksta priča prije početka njihovog razvoja.

Dotjerivanje priča obično se održava srednjim sprintom za sljedeći sprint, tako da je tim svjestan opterećenja za sljedeći sprint.

Sudionici su scrum tim, scrum master i vlasnik proizvoda.

Planiranje sprinta

Sesije planiranja sprinta održavaju se neposredno prije početka novog sprinta. U ovoj sesiji tim utvrđuje zadatke koje treba obaviti i odlučuje na koliko se priča mogu posvetiti za predstojeći sprint.

Prije sesija planiranja sprinta, priče su trebale biti razrađene i procijenjene tijekom sesija Dotjerivanja priča, tako da se tijekom planiranja sprinta ne gubi vrijeme.

Sudionici su scrum master i scrum tim.

Korisnička priča

Korisnička priča (ili priča) može se smatrati preduvjetom, značajkom koja ima neku poslovnu vrijednost.

Priče opisuju posao koji mora biti završen da bi se pružila značajka proizvoda. Priče su osnovna jedinica komunikacije, planiranja i pregovaranja između Scrum tima, vlasnika poduzeća i vlasnika proizvoda.

Priče se sastoje od sljedećih elemenata:

  • Opis, obično u poslovnom smislu
  • Veličina, za grube procjene, općenito izražena u pričama (poput 1, 2, 3, 5)
  • Jedan ili više kriterija prihvaćanja, koji daju kratki opis kako će se priča potvrditi

Zadatak

Zadaci su opisi stvarnog posla koji pojedinac ili par radi kako bi dovršio priču. Oni su upravljive, izvedive i mogu se pratiti jedinice rada. Obično postoji nekoliko zadataka po priči.

Tehnički dug

Pojam koji je skovao Ward Cunningham za opisivanje obveze koju softverska organizacija preuzima kad odabere pristup dizajnu ili konstrukciji koji je svrsishodan u kratkom roku, ali koji povećava složenost i dugoročno je skuplji.

Veličina majice

Metoda procjene rada potrebnog za dovršavanje priče u veličinama majica, tj. Malim (S), srednjim (M), velikim (L) ili X-velikim (XL)

Vremenski okvir

Vremenski okvir je vremensko razdoblje fiksne duljine dodijeljeno postizanju nekog cilja. U agilnom razvoju, ponavljanja i sprinti primjeri su vremenskih okvira koji ograničavaju rad u procesu i fazni inkrementalni napredak.

Brzina

Brzina mjeri koliko posao tim može obaviti u iteraciji. Brzina se često mjeri u pričama ili pričama. Brzina također može mjeriti zadatke u satima ili u ekvivalentnoj jedinici.

Brzinom se mjeri koliko će vremena trebati određenom timu da postigne buduće ishode ekstrapolacijom na temelju svojih prethodnih performansi.

Radovi u tijeku

Bilo koji posao koji nije dovršen, ali koji je već pretrpio kapitalne troškove za organizaciju. Bilo koji softver koji je razvijen, ali nije primijenjen u proizvodnji, može se smatrati radom u tijeku.