Razumevanje Procene Priča u Agilnim Projektima
U agilnom okruženju, timovi planiraju rad na predstojećim sprintovima stvaranjem priča. Svaka priča je jedinstvena funkcionalna celina, koja sadrži opis aktivnosti i kriterijume za prihvatanje.
Sprintovi obično traju od dve do četiri nedelje. Za to vreme, tim treba da odredi količinu posla koju realno može da obavi unutar sprinta, kako bi ispunio vremenske rokove.
U tradicionalnim projektima, rad se procenjuje u „ljudskim danima“, odnosno koliko je zaposlenih sa punim radnim vremenom potrebno za izvršenje zadatka. Dakle, procene se zasnivaju na broju dana i broju ljudi.
Agilni pristup je drugačiji. Ne fokusira se na dane i ljude, već na ukupnu procenu priče. Izbegava se računanje napora u ljudskim danima. Umesto toga, tim se dogovara oko jedne prihvaćene vrednosti za svaku priču, koja odražava ukupnu složenost.
Tačna vrednost nije toliko bitna. Najčešće se koriste „poeni priče“, koji su zasnovani na Fibonačijevom nizu (0, 1, 2, 3, 5, 8, 13, 21…). Svaki sledeći broj je zbir prethodna dva. Ova skala pomaže da se naglasi razlika u složenosti priča, jer svaki sledeći broj je značajno veći od prethodnog.
Ipak, ne morate se držati samo poena priče. Procene mogu biti izražene i veličinama majica (XXS, XS, S, M, L, XL, XXL). Možete biti i kreativni, pa koristiti životinje iz zoološkog vrta za označavanje veličine.
Bitno je da tim oseća koji broj (ili životinja) najbolje odražava složenost priče. Procena nije vremenska kategorija. Na kraju krajeva, sve priče uključene u sprint moraju biti završene u okviru tog sprinta. Vreme trajanja sprinta je već definisano i nepromenljivo.
Komponente Procene Poena Priče
Procena poena priče nije samo o tome koliko je priča složena ili teška. Tim mora uzeti u obzir nekoliko aspekata prilikom procene, koje se zatim odražavaju u konačnoj vrednosti.
Konačna procena je kombinacija različitih faktora u jedan broj. Ključni aspekti su:
#1. Tehnička Složenost
Za razvojne timove, tehnička složenost je obično prva stvar na koju se fokusiraju.
To je prirodno, jer tehnički stručnjaci najbolje mogu proceniti taj aspekt. Tim može razmotriti:
- Kako se ova priča poredi sa drugim već završenim pričama po tehničkoj složenosti?
- Koliko novih fajlova sa kodom ili izmena postojećih fajlova je potrebno?
- Koliko će ova priča promeniti okolne sistemske procese?
- Koliko je algoritam ili logika procesa kompleksna za implementaciju?
#2. Spoljne Zavisnosti i Rizici
Uspeh priče često zavisi od saradnje sa drugim timovima ili pojedincima izvan samog tima.
Priče koje tim može samostalno završiti su najlakše za procenu. Komplikacije nastaju kada je potrebna pomoć sa strane, jer ta aktivnost neće biti prioritet za spoljne saradnike. Tim mora uzeti u obzir ovaj faktor prilikom procene.
Koliko će ovaj faktor povećati ukupnu procenu zavisi od prethodnog iskustva tima i nivoa zavisnosti od spoljnih faktora. Vremenom, tim će razviti osećaj kako zavisnost od drugih može uticati na uspešan završetak priče.
#3. Faktor Ponovne Upotrebe
Važno je razmotriti koliko postojećeg sadržaja se može ponovo iskoristiti. Ako je deo rešenja već dostupan, ne treba ga kreirati od nule. Tim može ponovo iskoristiti postojeće resurse za bržu implementaciju.
Na taj način, ova mogućnost može smanjiti ukupnu procenu, čak i ako bi priča inače bila složenija bez ponovne upotrebe.
#4. Razumevanje Sopstvenog Tima
Jedan značajan faktor koji se ne uzima u obzir prilikom procene u ljudskim danima je poznavanje veština i sposobnosti sopstvenog tima.
Tokom rada na više sprintova, članovi tima se bolje upoznaju i razumeju. Shvataju ko je stručan za određene zadatke. Kada svi poznaju ostatak tima, to se može uzeti u obzir pri proceni.
Ako je priča usko povezana sa specifičnim veštinama koje tim poseduje, realizacija će biti lakša. S druge strane, ako te veštine nedostaju, timu će trebati više vremena da se pripremi, što će se odraziti i na procenu.
Proces Procene Priče
Procena priče treba da bude zajednički napor tima. Nijedan pojedinac ne bi trebao sam da definiše složenost priče. Cilj je da tim diskutuje o proceni dok se svi ne slože oko jedne vrednosti koja predstavlja finalnu procenu.
Tim može vršiti procenu tokom diskusije o specifikaciji sprinta ili odvojeno.
Primer Proces Procene
- Izaberite alat za procenu (npr. Planning Poker, Miro tablu).
- Postavite priču na tablu i diskutujte o otvorenim pitanjima. Uverite se da svi u timu razumeju priču i spremni su za procenu.
- Započnite procenu. Svaki član tima bira broj sa Fibonačijeve skale.
- Nakon svih procena, pogledajte rezultate i diskutujte. Obično se tim podeli između dva ili tri broja. Članovi sa nižim procenama objašnjavaju svoje razloge, kao i oni sa višim. Cilj je razmotriti sve aspekte priče kako bi svi razumeli šta ona podrazumeva.
- Nakon diskusije, tim ponovo procenjuje. Najčešće se vrednosti sada svode na jedan ili dva broja. Ponovite diskusiju. Na kraju, tim se dogovara oko finalne procene, ili se ide u još jedan krug procene.
- Procena je završena kada su svi članovi tima saglasni sa finalnom procenom. To je timska odluka, a ne pojedinačna. Priča se potencijalno može dodeliti bilo kome iz tima, pa je dogovor oko složenosti bitan.
Posvećenost Planu Sprinta
Tim sada ima listu priča koje su procenjene. Idealan scenario je da su priče, pored procenjene vrednosti, i rangirane po prioritetu, kako bi tim znao koje priče idu u naredni sprint.
Na sastanku planiranja, tim bira priče za sledeći sprint. Odluka se zasniva na:
- ✅ Pričama sa najvišim prioritetom.
- ✅ Iskustvu tima u pogledu broja poena priče koje mogu da završe u sprintu. Ovo dolazi sa vremenom i iskustvom. Potrebno je nekoliko sprintova za podešavanje i razumevanje kapaciteta tima.
- ✅ Ne samo ukupnom broju poena, već i kako se veštine tima uklapaju u izabrane priče. Na primer, ako tim ima samo dva front-end developera, možda neće birati samo priče sa front-end razvojom, kako se ne bi preopteretili pojedinci.
Faktor Brzine
Brzina tima je ključni faktor (za nadolazeći sprint). Ovaj broj nije povezan sa ukupnim brojem poena, već pokazuje koliko je tim dostupan za rad u sprintu.
Da bi precizno planirali sadržaj sprinta, kombinujemo:
- Brzinu tima – mereno u danima. Jedan član tima dostupan jedan dan = jedna jedinica brzine. Na primer, tim od 10 ljudi, dostupan 2 nedelje, ima kapacitet od 100 (10 ljudi x 10 radnih dana).
- Uobičajenu količinu poena priče po sprintu – mereno u poenima priče. Ovaj broj se zasniva na prethodnom iskustvu i usko je povezan sa brzinom tima.
Potrebno je vreme i vežba za pronalaženje prave ravnoteže.
Prednosti i Uobičajene Greške
Iznenadjuje koliko timovi komplikuju prelazak na agilan način rada. Čini se kao da je potrebno sve „shvatiti“ pre početka.
Nažalost, prvi korak je najteži. U nekim slučajevima, potreban je duži vremenski period, posebno u strogo konzervativnim okruženjima.
Evo šta se dešava kada tim „shvati“:
- Više ne morate računati dane ili ljude da bi znali kada će posao biti završen.
- Tim će kreirati priče koje su dovoljno male da stanu u sprint. Ako je priča složena, deli se na više priča.
- Tim ima realne procene svakog dela posla, i nakon planiranja sprinta, tačno je poznato kada će biti završeno.
- Povećava se pouzdanost i predvidljivost tima.
- Svi u timu „rade na istoj frekvenciji“. Svi vide i razumeju slične stvari kada vide priču. Nakon nekog vremena, možda neće ni biti potrebe za procenom. Svi već vide broj u glavi, i svi znaju koliko priča je dovoljno za sprint, bez eksplicitne procene.
Ovo se dešava kada tim ne razume proces:
- I dalje se drže tradicionalne procene u ljudskim danima. Sve pretvaraju u dane i ljude. Poeni priče su im broj dana, direktno ili indirektno.
- Rukovodstvo poredi timove po broju poena priče koje su dostavljene u svakom sprintu. Ovo je pogrešno. Svaki tim različito procenjuje poene priče, i nema razloga da se timovi „sinhronizuju“ da bi procenjivali na isti način.
- Poen priče za jedan tim znači crtanje kruga, a za drugi crtanje kuće. I to je potpuno u redu.
- Timovi imaju tendenciju da procenjuju sve između dva i četiri broja. Možda se plaše da ako priča ima broj 123, neko će pomisliti da je to broj dana. Ali Fibonačijeva skala ima beskonačno brojeva. Ne treba se ograničavati na 3, 5 ili 8. Možemo (i možda i namerno kreiramo priče koje su toliko kompleksne), ali nismo ograničeni.
- Procenu vode iskusniji članovi tima, koji utiču na mišljenje grupe. Ne smemo dozvoliti da ičije mišljenje utiče na procenu. Svi imaju pravo da izraze svoje mišljenje.
Završne Reči
Prelazak na agilnu procenu nije uvek lak i zahteva prilagođavanje – kako za timove, tako i za rukovodstvo. Za uspeh, obe strane moraju razumeti proces. Ako jedna strana ne razume, prelazni period će biti težak i pun protivrečnih očekivanja.
Ali kada se sve transformiše, počinju da se dešavaju pozitivne stvari. Timovi će moći bolje da procene i planiraju svoj rad, a rukovodstvo će imati predvidljivija izdanja i planove na koje se mogu osloniti.
Pogledajte nezdrave procese koji mogu uništiti vaš sprint.