You are on page 1of 22

TEHNIKE SAKUPLJANJA KORISNIKIH

ZAHTJEVA

PISANJE KORISNIKIH PRIA


Docent dr Sneana epanovi
snezana.scepanovic@unimediteran.net

Pisanje korisnikih pria


Postoji 6 atributa koji doprinose pisanju dobrih
korisnikih pria:
1. Nezavisne [independent]
2. Podlone pregovorima [negotiable]
3. Imaju vrijednost za korisnike ili klijente [valuable]
4. Mogu se procijeniti [estimatable]
5. Male [small]
6. Mogu se testirati [testable]

Nezavisnost korisinih pria


Koliko god da je to mogude, trealo bi izbjegavati
zavisnosti izmeu korisnikih pria.
Zavisnost dovodi do problema sa odreivanjem
prioriteta i planiranjem
Primjer - korisnik nekoj prii dodijeli visok prioritet, a ona
zavisi od druge prie koja je niskog prioriteta.

Zavisnosti izmeu korisnikih pria dovode do


potekoa u procjeni.

Nezavisnost korisnikih pria


Uzmimo kao primjer sledei scenario: Registrovani
korisnici na portalu za nekretnine mogu
postavljati sopstvene oglase, ukoliko za tu
uslugu plate. Omogueno je plaanje sa nekoliko
vrsta kartica. Slijede sledee korisnike prie:
Registrovani korisnik moe platiti postavljanje oglasa
korienjem Visa kartice
Registrovani korisnik moe platiti postavljanje oglasa
korienjem MasterCard kartice
Registrovani korisnik moe platiti postavljanje oglasa
korienjem studentske (ISIC) kartice

Nezavisnost korisnikih pria


Recimo da su programeri procijenili da e im biti
potrebno tri dana da isprogramiraju (omogue)
opciju plaanja prvim tipom kartice a zatim jo po
jedan dan za drugi i trei tip kartice. U ovoj situaciji
je problem odrediti kojoj prii dodijeliti tri dana, a koje
dvije bi trebalo da budu gotove za dva dana. Postoji
dva naina da se ovakav problem rijei:
1. Kombinovanje zavisnih korisnikih pria u jednu veu, ali
nezavisnu priu
2. Pronalaenje drugaijeg naina dijeljenja pria

Nezavisnost korisnikih pria


Pomenute tri korisnike prie se mogu kombinovati
u jednu "Registrovani korisnik moe platiti
postavljanje oglasa korienjem kartice", to
dalje za planiranje znai da je to jedna pria ija e
realizacija trajati pet dana. S druge strane,
najee je dobar pristup deljenje pria:
Registrovani korisnik moe platiti postavljanje oglasa
korienjem jednog tipa kartice
Registrovani korisnik moe platiti postavljanje oglasa
korienjem dodatnih tipova karti

Korisnike prie su podlone pregovorima


Korisnike prie su podlone pregovorima.
Korisnike prie nisu specifikacije funkcionalnosti koje
softver mora da implementira, ved kratki opisi
funkcionalnosti, iji e detalji biti odreeni u razgovoru
izmeu klijenta i razvojnog tima. Poto je kartica prie
zapravo podsjetnik da je potrebno razgovarati prje
nego se utvrdi detaljni zahtijev, nije potrebno da ukljuuje
sve relevantne detalje.
Ipak, ukoliko su neki bitni detalji poznati prilikom
sastavaljanja prie, trebalo bi ih ukljuiti kao napomene.
Izazov je upravo u uenju o koliini detalja koju je
potrebno pruiti.

Korisnike prie su podlone pregovorima


Primjer korisnike prie sa ukljuenom napomenom
Registrovani korisnik moe platiti postavljanje oglasa
koridenjem kartice.
Napomena: Sistem prihvata Visa, MasterCard i
studentsku ISIC karticu. Razmotri mogunost da
prihvata i Euro26 karticu.

Ovakva korisnika pria je dobra, budui da prua


optimalnu koliinu informacija za klijenta i razvojni tim.
Kada programer pone da razvija ovu priu, imae
podsjetnik da je odluka ve donijeta da se prihvate
pomenuta tri tipa kartice, a klijenta moe pitati da li je
donijeta odluka o potrebi da sistem prihvata i Euro26
kartice.

Korisnike prie su podlone pregovorima


Primjer korisnike prie pretrpane detaljima:
Registrovani korisnik moe platiti postavljanje oglasa
korienjem kartice.
Napomena: Sistem prihvata Visa, MasterCard i
studentsku ISIC karticu. Razmotri mogunost da
prihvata i Euro26 karticu. Za postavljanje oglasa, pitati
za CVC kod kartice koji se nalazi na poleini. Sistem e
onda moi da provjeri koji je tip kartice, na osnovu prve
dve cifre. Sistem e modi da sauva broj kartice za
buduu upotrebu. Potrebno je sauvati i datum isteka
kartice.

Korisnike prie su podlone pregovorima


Ukoliko se kartica posmatra kao podsjetnik da je
potreban razgovor izmeu razvojnog i klijentskog
tima, korisno je tumaiti da kartica treba da sadri:
Dvije-tri reenice koje predstavljaju napomene o
zahtijevima ( funkcionalostima sistema)
Biljeke o stvarima je potrebno naknadno diskutovati i
preciznije defisati

Detalji koji su utvreni kroz konverzaciju kasnije


postaju testovi. Oni mogu biti zabiljieni na poleini
kartice ili u njenom ekvivalentu u elektronskom
obliku koji se koristi.

Korisnike prie su podlone pregovorima


Primjer revizije prethodne korisnike prie:
Registrovani korisnik moe platiti postavljanje oglasa
korienjem kartice.
Napomena: Da li je omogueno prihvatanje Discovery
kartice?
Napomena za korisniki interfejs: Neemo imati polje za
tip kartice (sistem e odrediti na osnovu dve prve cifre na
kartici)

Vrijednost za kupce i korisnike


Korisnika pria trebale bi da posjeduje vrijednosti za kupce,
korisnike, i za razvojni tim.
Nije mogue da svaka korisnika pria posjeduje vrijednosti
za korisnike.
Mnogi projekti imaju prie koji je nemaju. Ovo proizilazi iz
razlike izmeu korisnika - ljudi koji koriste sistem i kupaca onih koji ga kupuju. Ukoliko razvojni tim implementira softver
koji de koristiti velika baza korisnika (npr.oko 5000 raunara u
jednoj kompaniji), kupac softvera e vjerovatno biti vrlo
zainteresovan da svih 5000 korisnika koristi istu konfiguraciju
softvera ( ovaj zahtijev korisnike ne zanima).

Vrijednost za kupce i korisnike


Primjeri korisnikih pria koje imaju vrijednost za kupca
(stakeholder), ali ne i za korisnike:
Za vrijeme procesa izrade softvera, razvojni tim e proizvesti
dokumentaciju po ISO 9001 standardu
Razvojni tim e proizvesti softver u skladu sa CMM Level 3

Treba izbjegavati pisanje korisnikih prie koje imaju


vrijednost samo za programere, kao to su:
Sve konekcije ka bazi podataka su kroz connection pool
Upravljanje grekama i logovanje se obavlja kroz standardni
skup klasa

Vrijednost za kupce i korisnike


Slijedi primjer bolje varijacije prethodnih korisnikih
pria:

Do 50 korisnika e moi da koristi aplikaciju sa


korisnikom licencom za 5 korisnika
Sve greke de biti prikazane korisniku i logovane na
konzistentan nain

Pretpostavke oko korisnikog interfejsa i tehnologoji


koje e se koristiti ne treba ukljuivati u korisnike prie
Najbolji nain da se osigura da je svaka korisnika pria
vrijedna za klijenta ili korisnike je da ih oni piu.

Procjena korisnikih pria


Veoma vano je da za razvojni tim moe da procijeni veliinu
korisnike prie ili koliinu vremena koje je potrebno da se
ona realizuje ( implementira).

Postoje tri esta razloga zato jedna pria moe biti


nemogua za procjenu:
1. Programerima nedostaje znanje o konkretnom domenu
2. Programerima nedostaje tehniko znanje o funkciji koju treba
razviti
3. Korisnika pria je prevelika

Ukoliko programeri ne razumiju napisanu korisniku priu,


potrebno je da se o tome diskutuju sa klijentima i autorima
korisnike prie. Nije potrebno poznavati sve detalje o samoj
prii, ali je potreban odreen nivo razumijevanja.

Dijeljenje korisnikih pria


Epska korisnika pria pripada jednoj od sledee dvije
kategorije:
1. Sjedinjena korisnika pria [compound]
2. Kompleksna korisnika pria [complex]

Sjedinjena korisnika pria se moe podijeliti u vie manjih


pria. Na primjer, klijent moe napisati "Registrovani korisnik
moe unijeti svoje podatke". Kasnije, razvojni tim razgovorom
sa klijentom utvruje da ova pria zapravo znai:
Da podaci o registrovanom korisniku ukljuuju ime i prezime, adresu,
telefon
Da registrovani korisnici mogu odabrati da li su fiziko ili pravno lice
Da registrovani korisnici mogu mijenjati svoje podatke

U zavisnosti od toga koliko je vremena potrebno da bi se


implementirala korisnika pria, svaka od manjih moe postati
jedinstvena.

Dijeljenje korisnikih pria


Sloena korisnika pria je sama po sebi velika i ne moe
se tako lako podijeliti na vie manjih. Ukoliko je sloena zbog
velikog broja tekuih pitanja u vezi sa samom priom,
mogue je podijeliti je u dvije prie, gdje e se jedna baviti
istraivanjem, a druga implementacijom.
Na primjer, pria "Korisnik moe platiti oglas kreditnom
karticom" moe biti podeljena na:
Istraiti obradu kreditnih kartica online
Korisnik moe da plati oglas kreditnom karticom

Ponekad je dobra praksa da se korisnika pria koja ukljuuje


istraivanje obavi u jednoj, a druge koja objanjavaju
implementaciju u drugoj iteraciji

Kombinovanje korisnikih pria


Ponekad, korisnike prie mogu biti veoma male.
Kada je korisnika pria previe mala, najea
praksa je njeno ukljuivanje u neku drugu ili
kombinovanje, tako da se novonastala pria moe
zavriti za pola dana ili nekoliko dana rada.
Kombinovana pria obino dobija novo ime i zatim
se implementirakao jedinstevna.

Testiranje korisnikih pria


Korisnika pria mora biti tako napisana, da se
moe testirati. Uspjean prolazak testova dokazuje
da je uspeno razvijena. Ako pria ne moe biti
testirana, programeri ne mogu znati da su zavrili
kodiranje.
Korisnike prie koje se ne mogu testirati se
najee javljaju kod nefukcionalnih zahteva kao to
su :
Korisniku softver mora biti lak za korienje
Korisnik nikad ne sme dugo da eka da se neki prikaz
pojavi

Testiranje korisnikih pria


Kada se proizvod implementira inkrementalno, potrebno je
kreirati automatizovane testovi koji e brzo otkrivati greke.
U stvarnosti, postoji jako mali broj testova koji se ne mogu
automatizovati. Na primjer, korisnika pria koji glasi "Novi
korisnik moe izvriti osnovne akcije u sistemu bez obuke" se
moe testirati, ali se ne moe automatizovati. To proizilazi iz
injenice to ovaj i slini testovi ukljuuju ljudski faktor.
Korisnika pria "Korisnik nikad ne smije dugo da eka da se
neki prikaz pojavi" se ne moe testirati, budui da nije definisano
ta znai dugo ekanje, a i da sadri rije "nikad". Demonstriranje
neega to se nikad ne deava je nemogue. Razumniji cilj je
demonstrirati da se neto rijetko deava. Ova pria bi bila bolje
napisana na slededi nain:
Novi prikaz se javlja u vremenu do dvije sekunde u 95% sluajeva

Rezime o pisanju korisnikih pria


Korisnike prie su meusobno nezavisne.
Detalji korisnike prie su podloni pregovorima
izmeu korisnika i razvojnog tima
Korisnike prie bi trebalo da budu napisane tako da
je vrij ednost za klijenta ili korisnika jasno iskazana.
Korisnike prie mogu sadrati detalje u
napomenama, ali treba izbjegavati previe detalja.
Jedan od najboljih naina da se napiu detalji za
korisniku priu je da se za nju naprave testovi

Ukoliko su prevelike ili kompleksne, korisnike prie


se mogu podijeliti na vie manjih
Ukoliko su premale, prie se mogu kombinovati u
vee
Korisnika pria mora biti tako napisana, da se moe
testirati.

You might also like