Član Bosnia Agile tima Nedžad Junuzović je u prostorijama Networksa održao predavanje na temu ,,Uvod u agilni razvoj proizvoda“ prema agendi: Osnovni pojmovi, Uvod u Scrum i Adaptiranje razvojnog životnog ciklusa prema zahtjevima konkretnog projekta. Meetup je organizovan za polaznike trosedmičnog kursa, u organizacij CGP tima (http://cgp.ba/bs/), u okviru kojeg su studenti imali priliku u CAD alatu dizajnirati, te na 3D printeru realizovati, potpuno funkcionalnu robotsku IoT ruku. ,,CGP design team“ je tim mladih inžinjera mašinstva, elektrotehnike i programera prvenstveno formiranih radi pružanja podrške mlađim kolegama. Navedenu podšku CGP tim realizuje organizovanjem stručnih obuka sa namjerom prenošenja stečenog iskustva kroz razne projekte.
DevOps Transformation in BH Telecom – Case Study by Jasmin Ahmetbašić and Edi...
Agilni razvoj proizvoda
1. PRESENTATION
Date 00/00/00
22. septembar 2017
AGILNI RAZVOJ
PROIZVODA
email: nedzad.junuzovic@gmail.com
mr. Nedžad Junuzović, dipl. ing. el.
1/55
www.agile.ba
21. oktobar 2017
6. OSNOVNI POJMOVI
6/55
Privremeno znači da projekat ima jasno definisan POČETAK I KRAJ.
PROJEKAT NIJE…
- Uvijek strategijski ili kritičan
- Uvijek uspješan
*Izvor: PMBOKGuideFifthEd -Project Management Institute www.pmi.org
Projekat: je privremeni poduhvat pokrenut radi stvaranja
novog proizvoda, usluge ili drugog rezultata (definicija
preuzeta iz PMBOK*).
7. 7/55
Glavna obilježja projekta koje PROJEKT
MENADŽER mora stalno nadzirati su:
Opseg (Kvalitet)
Troškovi (Resursi)
Trajanje (Vrijeme)
OPSEG = TROŠKOVI + TRAJANJE
OSNOVNI POJMOVI
,,Triple constraint“ predstavlja ključne elemente projekta čija ravnoteža
vodi ka uspješnoj realizaciji cilja / projekta !
8. 8/55
2004 2006 2008 2010 2012
Uspješni 29 % 35 % 32 % 37 % 39 %
Propali 18 % 19 % 24 % 21 % 18 %
Djelomično 53 % 46 % 44 % 42 % 43 %
,,Da kojim slučajem građevinski inženjeri prave zgrade na isti način na koji software-ski inženjeri
prave IT sisteme, prvi djetlić koji bi naletio bi predstavljao kraj civilizacije kakvu je poznajemo.“
Dr. Paul Dorsey
Top 10 Reasons Why Systems Fail, Hrvard Kennedy School
Izvor: CHAOS research for years2004 to 2012
(http://www.standishgroup.com)
OSNOVNI POJMOVI
12. 12/55
SCRUM OSNOVE
,,Pristup razvoju proizvoda kao u štafetnim trkama ... može biti u suprotnosti sa
željama za maksimalnom brzinom i fleksibilnošću. Umjesto toga, holistički ili rugby
pristup – gdje tim pokušava da pređe put kao cjelina, dodajući loptu naprijed – nazad –
može bolje poslužiti savladavanju današnjih zahtjeva.“
The New New Product Development Game, H. Takeuchi, I.Nonaka
,,Agilni tim treba naučiti kako da rade zajedno ka ispunjenju svoga cilja. Oni ne izvode
slobodne udarce, već dodaju software jedni drugima. Svaki član ima ulogu u pobjedi
svog tima.“
Agile Coaching, R. Davies, L.Sedley
13. 13/55
Tražimo bolje načine razvoja software-a
razvijajući software i pomažući drugima pri njegovom razvoju.
Takvim radom smo naučili da više cijenimo:
Drugim riječima, iako cijenimo vrijednosti na desnoj strani,
važnije su nam one na lijevoj.
www.agilemanifesto.org, 2001g.
Ljude i njihove međusobne odnose umjesto procese i alate,
Upotrebljliv software umjesto iscrpnu dokumentaciju,
Saradnju s korisnicima umjesto pregovaranja oko ugovora,
Reagiranje na promjenu umjesto ustrajanje na planu.
SCRUM OSNOVE– AGILE MANIFESTO
15. SCRUM OSNOVE - KLJUČNI POJMOVI
15/55
product backlog: Prioretizirana lista funkcionalnosti (PBI – Product Backlog
Items) koje treba razviti
iteracija: Zaokruženi razvojni ciklus fokusiran na obavljanje potrebnog posla
kako bi se proizveo upotrebljiv rezultat (PSPI – Potentially Shippable Product
Increment)
samoorganizirajući tim: Grupa motiviranih individualaca, koji zajedno rade ka
ostvarenju nekog cilja, imaju spososbnost i autoritet da donose odluke i spremno se
prilagođvavaju promjeni zahtjeva posla
krosfunkcionalni tim: Tim sastavljen od članova sa svim funkcionalnim
vještinama (kao što su UX dizajneri, developeri, testeri) i specijalnostima potrebnim
za obavljanje posla.
planiranje iteracije: Vrijeme kada se agilni tim sastane da dogovori koji podskup
funkcionalnosti iz product backlog-a može isporučiti u iteraciji.
retrospektiva iteracije: Provijeri-i-adaptiraj aktivnosti na kraju iteracije koja se
odnosi na isporučeni inkrement proizvoda i sami agilni proces.
16. 16/55
sprint: vremenski ograničeni ciklus sa fiksnim početkom i krajem koji treba
rezultirati nečim što je od opipljive vrijednost za klijenta odnosno korisnika;
product backlog item: nove funkcionalnosti, ispravke postojećih funkcionalnosti,
greške koje treba popraviti, tehnička poboljšanja;
backlog refinement: razvoj product backlog-a na osnovu prioretizirane
funkcionalnosti (korisničke priče – user stories);
planiranje sprinta: prva aktivnost svakog sprinta na kojem product owner i razvojni
tim pregovaraju koje funkcionalnosti (korisničke priče) će tim realizirati u tom sprintu;
forecast, commitment: proces odabira PBI od interesa za product owner-a, za koje
se tim obavezuje/predviđa da ih može razviti u sprintu;
dnevni scrum: sinhronizacijski dnevni događaj na kojem tim dobija jasniju, veću
sliku razvojnog procesa u trenutnom sprintu;
inkrement (PSPI): potencijalno isporučivi inkrement koji zaodovoljava od tima
usvojenu definiciju završenog posla (Definition of Done)
sprint review/demo: inspect-and-adapt funkcionalnosti
odnosno proizvoda
sprint retrospektiva: inspect-and-adapt Scrum procesa
SCRUM OSNOVE- KLJUČNI POJMOVI
19. 19/55
Fokus. Kako se fokusiramo samo na par stvari u jednom
momentu, dobro radimo zajedno i proizvodimo odličan posao.
Ranije isporučujemo vrijednije dijelove proizvoda.
Hrabrost. Kako ne radimo sami, osjećamo podršku i imamo
više resursa na raspolaganju. Ovo nam daje hrabrost da
odgovorimo na veće izazove.
Otvorenost. Kako radimo zajedno, naučeni smo da kažemo
kako radimo i šta nam je na putu. Naučili smo da je dobro
iskazati brige kako bi se iste mogle adresirati.
Posvećenost. Obzirom da imamo veću kontrolu nad onim što
radimo, postajemo posvećeniji uspjehu.
Poštovanje. Kako radimo zajedno, dijeleći uspjehe i
promašaje, poštujemo jedni druge i pomažemo drugima da
postanu vrijedni poštovanja.
SCRUM OSNOVE - VRIJEDNOSTI
20. 20/55
Promjenjljivost i neizvjesnost
- Prihvati promjene jer se razvoj i proizvodnja veoma razlikuju
- Primijeni iterativni i inkrementalni razvoj
- Iskoristi promjenjljivost kroz nadgledanje (inspection), prilagođavanje(adaptation) i
transparentnost
- Istovremeno umanji sve oblike neizvjesnosti
Predviđanje i adaptacija
- Drži sve opcije otvorenim
- Prihvati da nemožeš unaprijed i odjednom sve znati
- Daj prednost adaptivno-istraživačkom pristupu
- Prihvati promjene na ekonomski senzibilan način (dokumentovanje ,,just in time“)
- Uspostavi ravnotežu između predviđenog i adaptiranog posla
Validirano učenje
- Što ranije validiraj važne pretpostavke
- Za dobijanje znanja istovremeno koristi više petlji učenja
- Organizuj posao na način da brzo dobiješ povratnu informaciju (feed – back)
SCRUM OSNOVE – PRINCIPI (1)
21. 21/55
Započeti posao (WIP - ,,work in process“)
- Optimiziraj obavljanje zadataka po fazama
- Optimiziraju veličinu inventara zahtjeva
- Fokusiraj se na smanjenje praznog hoda u poslu, a ne na veću uposlenost radnika
- Razmotri trošak kašnjenja
Progres
- Adaptiraj plan prema ažuriranim informacijama
- Progres se mjeri validiranjem isporučenog proizvoda
- Fokusiraj se na isporuku proizvoda koji ima poslovnu vrijednost
Performanse
- Napreduj brzo ali nikad ne žuri
- Radi kvalitetno
- Minimiziraj formalni posao
SCRUM OSNOVE – PRINCIPI (2)
22. SCRUM OSNOVE - ŠTA SCRUM NIJE ?
22/55
Nije srebreni metak ili magična prašina
Nije jedna metoda ili okvir
Nije set alata
Nije anti-planiranje
Nije anti-arhitektura
Nije anti-dokumentacija
Nije nedisciplina
Nije neskalabilan
Umjesto toga, agile je stanje svijesti (mindset) i drugačiji način rada u cilju
postizanja poslovne vrijednosti što ranije.
Mindset: a particular way of thinking: a
person's attitude or set of opinions
about something.
merriam-webster.com
Mindeset: the ideas and attitudes with
which a person approaches a situation,
esp. when these are seen as being
difficult to alter.
dictionary.reference.com
23. SCRUM OSNOVE – BEING VS DOING
Raditi agilno
Biti agilan 23/55
24. SCRUM OSNOVE
24/55
1986. - The New New Product Develepment Game, Hirotaka Takeuchi i Ikujiro
Nonaka (https://hbr.org/1986/01/the-new-new-product-development-game)
1993. – Sutherland je kreirao proces i prvi put na projektu primijenio Scrum sa
svojim timom u Easel Corp.
1995. – Schwaber je na OOPSLA konferenciji objavio prvi rad na temu Scrum-a
2001. – Shuterland i Schwaber učestvuju u kreiranju Agile Manifesto
(http://agilemanifesto.org/) inicijative
2001. – Schwaber je koautor prve objavljena knjige o Scrum-u: ,,Agile Software
Development with Scrum“
2002. - Schwaber , Cohn i Derby su osnovali Scrum Alliance
(www.scrumalliance.org)
2006. – Sutherland je osnovao Scrum Inc (www.scruminc.com)
2009. – Schwaber napustio Scrum Alliance i osnovao Scrum.org (www.scrum.org)
2010. – Sutherland i Schwaber autori prvi Scrum Guide (www.scrumguides.org)
2013. – Suthreland i Schwaber objavili posljednju verziju Scrum Guide-a
27. Jedini autoritet koji odlučuje koje funkcionalnosti će se kojim
redoslijedom implementirati
Održava i komunicira sa svim učesnicima jasnu viziju šta Scrum
tim pokušava postići
Odgovoran za uspjeh rješenja koje se razvija (ili održava)
Aktivno sarađuje sa ScrumMaster-om i razvojnim timom i
mora biti dostupan da odgovore na pitanja čim se ona postave
27/55
SCRUM OSNOVE – PRODUCT OWNER
28. 28/55
Product owner je opunomoćena središnja tačka liderstva odgovorna za
razvoj proizvoda
SCRUM OSNOVE – PRODUCT OWNER
29. Upravlja ekonomskim aspektom projekta
Učestvuje u planiranju
Radi refinement product backlog-a
Definira kriterije prihvatljivosti i testira ih
Sarađuje sa razvojnim timom
Sarađuje sa klijentom/korisnicima
SCRUM OSNOVE – PRODUCT OWNER
29/55
31. 31/55
Pomaže da svi uključeni razumiju i prihvate Scrum
vrijednosti, principe i prakse
Pomaže timu da riješi probleme i poboljša vlastitu
primjenu Scrum-a
Štiti tim od vanjskih uticaja i preuzima lidersku ulogu u
uklanjanju prepreka/poteškoća koje utiču na produktivnost
tima
Nema kontrolni autoritet nad timom
SCRUM OSNOVE – SCRUMMASTER
32. 32/55
Trener (Coach)
Servant lider
Procesni autoritet
Štit protiv uplitanja
Uklanja prepreke
Agent promjene (change agent)
Posjeduje znanje
Preispitivač
Strpljiv
Spreman na saradnju
Zaštitinik
Otvoren i transparentan
SCRUM OSNOVE – SCRUMMASTER
33. 33/55
Ko bi trebao biti Scrum Master ?
Da li je Scrum Master full-time pozicija ?
SCRUM OSNOVE – SCRUMMASTER
34. Raznolik, krosfunkcionalan skup ljudi koji su odgovorni za
dizajn, razvoj i testiranje željenog proizvoda
Samoorganiziran u nastojanju da na najbolji način
postigne cilji postavljen od Product Owner-a
Zlatno pravilo: 3 do 9 članova tima
SCRUM OSNOVE – RAZVOJNI TIM
34/55
38. U Product Backlog-ju se nalaze funkcionalnosti
proizvoda, greške koje treba popraviti, ispravke i
poboljšanja funkcionalnosti i sl. pri čemu je navrjedniji
sadržaj na vrhu, odnosno lista je prioretizirana
Konstantno evoulira tokom cijelog projekta kroz
proces rafiniranja (refinement) Product Backlog-a
38/55
SCRUM OSNOVE – PRODUCT BACKLOG
40. 40/55
... naučili smo da više cijenimo:
saradnju s korisnicima nego
pregovaranje oko ugovora.
Usmeni razgovor je ključni Scrum alat koji osigurava da su korisnički zahtjevi
pravilno prodiskutirani i komunicirani
Prednost usmene komunikacije je high-bandwidth informacija i brzi
feedback, tj. jeftinije i brže do uzajamnog razumijevanja u odnosu na obimni
SRS dokument
Dvosmjerna komunikacija može izroditi nove ideje o problemima i šansama
SCRUM OSNOVE – USER STORIES
54. ŠTA AGILE NIJE ?
54/55
Pri izradi prezentacije korišten materijal ,,Scrum
Masterclass“ treninga 2014g., autor Kemal Bajramović
Slajdovi u ovoj prezentaciji sadrže grafike iz Visual
AGILEexicon ®, koji je saštićeno ime Innolution, LLC i
Kenneth S.Rubina.
Visual AGILEexicon ® je korišten i opisan u knjizi:
Essential Scrum: A Practical Guide to the Most Popular
Agile Process
Više o Visual AGILEexicon-u i njegovoj dozvoljenoj
upotrebi možete saznati na:
http://www.innolution.com/resources/visual-agilexicon