Agile u IT-u: metode određivanja prioriteta zadataka

Agile u IT-u: metode određivanja prioriteta zadataka

Vrlo važna etapa u radu s Product Backlogom je formiranje zadataka u skladu s njihovim prioritetom. Nakon što se napravi dekompozicija i ocijene korisničke priče, potrebno je utvrditi kojim će se redoslijedom provesti implementacija zadataka, što će biti objavljeno u prvoj verziji proizvoda, što se može uključiti u kasnije verzije, a što se može ostaviti za slučaj da za to ostane vremena. Kako odrediti što treba uzeti kao osnovu pri formiranju popisa prioriteta korisničkih priča?

Možete sortirati backlog i formirati određeni redoslijed zadataka prema različitim kriterijima, na temelju različitih vrijednosti. Zbog toga postoje mnoge tehnike određivanja prioriteta, od kojih svaka uzima u obzir određeni aspekt/kriterij značenja problema. Kao što je tipično za Agile proces, najučinkovitija je primjena i kombinacija različitih metoda prioritetizacije. Nastavno su u članku analizirane mogućnosti tehnika s kojima se može provesti sortiranje Product Backloga.

  1. metoda: Value Based – tehnika koja se temelji na poslovnoj vrijednosti.

  • U okvirima ove tehnike svaka korisnička priča vrednuje se u odnosu na njenu vrijednosti za poslovanje, tj toga koliku potencijalnu dobit može stvoriti za tvrtku.
  • Kriteriji za vrijednost poslovanja ne mora biti samo iznos koji je zarađen na proizvodu, već i ugled tvrtke, zadovoljstvo korisnika, kvaliteta i pouzdanost proizvoda (iako se svi ovi čimbenici na ovaj ili onaj način na kraju priče konačno pretvaraju u dobit).
  • Vrijednost određenog zahtjeva za poslovanje može odrediti vlasnik proizvoda (Product Owner), i to samostalno ili uz sudjelovanje poslovnog tima kupaca i dionika.
  • Što je vrijednost veća, to je zahtjev od većeg prioriteta, i stoga, ranije mora biti dovršen i stavljen na tržište.
  1. metoda: Technology Risk Based – tehnika koja se temelji na tehnološkom riziku.

  • U ovoj metodi, prioritet zahtjeva utvrđuje se na temelju rizika povezanih s njegovom implementacijom.
  • Visoki rizik može biti povezan s različitim čimbenicima, na primjer:
  • Korištenje nove „neizbrušene“ tehnologije.
  • Veliki broj integracijskih točaka s vanjskim sustavima.
  • Komplicirana logika i veliki broj uvjeta.
  • Postojanje zastarjelog koda (Legacy code), koji više nije podržan i koji se ne dorađuje, ali se ponovno upotrebljava.
  • Zahtjev s najvećim tehnološkim rizikom implementira se tijekom prvih iteracija i uključen je u ranija izdanja. To je neophodno da bi se:
  • Identificiralo eventualne tehničke probleme što je ranije moguće i, ako je potrebno, poduzelo odgovarajuće mjere.
  • Dobilo ranu povratnu informaciju o radu s novim tehnologijama i rješenjima od korisnika.
  1. metoda: „MoSCoW“ – tehnika „Moskva“.

  • Prilikom procjene prioriteta metodom „MoSCoW“ za svaki zadatak, odabiremo jednu najprikladniju tvrdnju od njih 4. Svaka od ovih tvrdnji je pokazatelj određene razine važnosti zadatka. Kojoj skupini prioriteta će pripasti korisnička priča odredit će se ovisno o tome koja od tvrdnji najbolje odgovara stvarnosti:
  • Must have this – Ono što je obavezno. Oko „Must“ zahtjeva nema pregovora i u svakom slučaju ih se treba implementirati. Ako ih se ne isporuči među inicijalnim izdanjima, cijeli projekt nema smisla.
  • Should have this if at all possible – Ako je moguće, napravite to. Ti su zadaci također važni za korisnika i/ili klijenta, međutim, vrijeme njihove isporuke nije ključno kao za „Must“. Bez ove funkcije proizvod se već može koristiti, a nedostatak istog neće blokirati osnovne značajke s „Must“ popisa i može se izdati i malo kasnije.
  • Could have this if it does not affect anything else – Može se napraviti ako ne utječe ni na što drugo. Ova kategorija zadataka omogućava najfleksibilnije gledište na osnovne kriterije izvedbe kao što su cilj, rokovi, kvaliteta i resursi. Ovdje je moguća varijabilnost i kompromis.
  • Will not have this time but would like in the future – Sada nema vremena za ovo, ali poželjno je da se to napravi u budućnosti. Za ovu kategoriju ključna je ta činjenica da ti zahtjevi mogu biti jednako važni (kao i „Must“), no mogu se ostaviti za kasnije isporuke proizvoda. Kategorija „Will not“ ima 3 važna učinka:
  • Korisnici i klijenti ne moraju se boriti za uključivanje bilo kakvih zahtjeva u Product Backlog.
  • S mogućnošću da se ima uvid u popis zahtjeva za daljinska izdanja, može se procijeniti kako će to utjecati na ono što će se najprije provesti.
  • Na zahtjeve iz kategorije „Will not“ može se gledati kao na dugoročni trend u razvoju proizvoda, uzimajući u obzir ove značajke u ranim izdanjima.
  • Nakon izvođenja takve vježbe, svaki zahtjev će imati jedan od te četiri oznake prioriteta, koji se može označiti naljepnicom na korisničkim pričama sa simbolom M, S, C ili W.

4.metoda: Kano model.

  • U ovoj metodi zahtjevi se klasificiraju na temelju korisničkih sklonosti u 5 kategorija. Svaka kategorija pokazuje koliko je korisniku/kupcu/klijentu važna određena funkcija, odlika ili karakteristika proizvoda:
  • Must-be Quality – karakteristika proizvoda koja je za korisnika ključna. To su zahtjevi koji su prioritet za klijenta/korisnika/kupca, koje oni uzimaju se zdravo za gotovo i koji su neophodni za izdavanje proizvoda. Kada se te funkcije implementiraju, korisnici misle da se to podrazumijeva, ali kada se to ne dogodi ili je to loše slabo izvedeno, korisnici su vrlo nezadovoljni.
  • One-dimensional Quality – jednodimenzionalne karakteristike. Funkcija koja zadovoljava korisnika/klijenata kada je implementirana i koja uzrokuje nezadovoljstvo kada nije. To su parametri i mogućnosti proizvoda na kojem se gradi konkurencija među tvrtkama.
  • Attractive Quality – svojstva koja su privlačna korisniku. Izvedba ovih zahtjeva sigurno će zadovoljiti korisnika, ali kada oni nisu ispunjeni, to ne uzrokuje nezadovoljstvo. Ova funkcija je za korisnika u principu neočekivana i obradovat će ga ako se pojavi.
  • Indifferent Quality – svojstvo koje korisnika ostavlja ravnodušnim. Za korisnika, zahtjevi u ovoj kategoriji nisu ni dobri niti loši, oni ne dovode ni do zadovoljstva, ni do nezadovoljstva korisnika. Primjer takvih zadataka mogu biti različita tehnička rješenja koja su skrivena od korisnika.
  • Reverse Quality – suprotstavljene karakteristike. Ova grupa obuhvaća zahtjeve čija se implementacija poboljšava, ali istodobno i komplicira proizvod. To mogu biti razne dodatne funkcije koje proširuju potrebnu i dovoljnu funkcionalnost proizvoda. Za brojne klijente i korisnike, složeni high-tech proizvod s velikim brojem funkcija i mogućnosti često može biti i minus.
  • Ovaj model omogućava da se okarakterizira svaki zadatak, izradi redoslijed implementacije zahtjeva i oblikuje plan izdavanja temeljeći se na očekivanjima korisnika, upravljajući njihovim reakcijama na izdanja određene funkcije.
  1. metoda: Validated Learning – „validirano učenje“.

  • U ovoj metodi najviši prioritet imaju funkcije i zadaci s najvišim tržišnim rizikom. To bi moglo biti bilo koje značajke/proizvodi/svojstva koji još nisu bili na tržištu i nije jasno kako će tržište reagirati na njihovu pojavu i kako će ih korisnici prihvatiti.
  • Suština metode je da se što ranije izdaju zahtjevi s najvišim tržišnim rizikom, rješenje eksperimentalno testira, dobije povratna informacija (nakon završene obuke), a zatim se primijene stečena znanja u novoj iteraciji.
  • Proces primjene validiranog učenja obično se sastoji od sljedećih koraka:
    • Odabiru se korisničke priče s najvišim rizikom/stupnjem neizvjesnosti za tržište.
    • Definiraju su mjerni podaci i kriteriji uspjeha za odabrane zadatke.
    • Zahtjevi s najvišim prioritetom primjenjuju se u prve iteracije i uključuju se u najranija moguća izdanja.
    • Provodi se analiza postignuća utvrđenih mjernih podataka.
    • U skladu s dobivenim rezultatima, u zahtjeve i proces rada unose se korekcije i  počinje sljedeća iteracija određivanja prioriteta.
  1. metoda: Walking Skeleton – „hodajući kostur“.

  • U ovoj su metodi prioriteti zadataka određuju se tako da se najuže međusobno povezani zahtjevi koji čine cjeloviti poslovni proces implementiraju i objavljuju istodobno ili u kratkom vremenskim razmacima.
  • Prvo se odabire zadatke, čija će implementacija omogućiti najmanji mogući skup end-to-end funkcionalnosti i omogućiti da objavu prve radne verzije proizvoda. Takvi će zadaci imati najveći prioritet.
  • Preostali su zadaci također grupirani po principu prioriteta. Svaka grupa zahtjeva ima određeni prioritet, a njegova implementacija omogućuje dodavanje nove male funkcije proizvodu (end-to-end poslovni proces).
  • Važno načelo pri podjeli zahtjeva u prioritetne skupine pomoću Walking Skeletona je u tome što se u prvom izdanju, u početnoj verziji proizvoda, odmah ne ostvaruje konačna arhitektura. Arhitektura i funkcionalni zadaci implementiraju se paralelno u kasnijim iteracijama.
  1. metoda: Theme scoring – evaluacija „teme“

  • U okviru ove metode, prioriteti se određuju međusobnom usporedbom zahtjeva („teme“) prema različitim kriterijima. U procesu određivanja prioriteta definira se koliko je važno uključiti određenu temu u sljedeće izdanje po svakome od tih kriterija/uvjeta.
  • Glavne etape Theme scoring metode:
    • Definira se redoslijed od 5-9 kriterija odabira za usporedbu, koji su važni za objavljivanje sljedećeg izdanja. Kriteriji za usporedbu mogu biti, na primjer:
  • Ostvarena dobit nakon izdavanja zadatka
  • Važnost funkcije za korisnike/klijente
  • Nužnost odluke za naknadne izmjene proizvoda
  • Razina tehničkog rizika u implementaciji zadatka
  • Odabire se bazna „tema“ s kojom će se ostatak uspoređivati. Uvjeti za odabir bazne teme:
  • Ovaj zadatak će najvjerojatnije biti uključen u sljedeće izdanje.
  • Zadatak je jasan i transparentan za većinu članova tima.
    • Svaka tema koja je kandidat za izdanje ocjenjuje se u odnosu na baznu temu po svakom kriteriju.  Ustvari, popunjava se matrica s prikazom bodova evaluacije:
  • Ako je zadatak u pitanju važniji od bazne teme, tada taj kriterij dobiva +1 bod,a ako je manje važan, onda -1 bod.
  • Ako su kriteriji međusobno nejednaki, za njih se mogu unijeti zasebne vrijednosti koeficijenata ili postotaka (na primjer, dobit može imati vrijednost od 50%, a tehnički rizik od 10%).
  • Baznu temu se označava s 0 bodova prema svim kriterijima usporedbe.
    • Nakon što su sve teme ocijenjene prema svim kriterijima, izračunava se bodovni rezultat. Zbroj bodova za svaku temu postat će njena prioritetna vrijednost. Što je rezultat veći, to je veći i prioritet tog zadatka.