agilni razvoj proizvoda

56
PRESENTATION Date 00/00/00 22. septembar 2017 AGILNI RAZVOJ PROIZVODA email: [email protected] m r. Nedžad Junuzović, dipl. ing. el. 1/55 www.agile.ba 21. oktobar 2017

Upload: bosnia-agile

Post on 22-Jan-2018

126 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Agilni razvoj proizvoda

PRESENTATION

Date 00/00/00

22. septembar 2017

AGILNI RAZVOJ

PROIZVODA

email: [email protected]

mr. Nedžad Junuzović, dipl. ing. el.

1/55

www.agile.ba

21. oktobar 2017

Page 2: Agilni razvoj proizvoda

AGENDA

Osnovni pojmovi

Scrum osnove

Adaptiranje (,,skaliranje“) prema konkretnom projektu

2/55

Page 3: Agilni razvoj proizvoda

PRODUCT DEVELOPMENT LIFECYCLE

OSNOVNI POJMOVI

PRODUCT – MARKET FIT

3/55

Page 4: Agilni razvoj proizvoda

OSNOVNI POJMOVI

ITERATIVNO INKREMENTALNI RAZVOJ

4/55

Page 5: Agilni razvoj proizvoda

5/55

OSNOVNI POJMOVI

Page 6: Agilni razvoj proizvoda

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*).

Page 7: Agilni razvoj proizvoda

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 !

Page 8: Agilni razvoj proizvoda

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 DorseyTop 10 Reasons Why Systems Fail, Hrvard Kennedy School

Izvor: CHAOS research for years2004 to 2012(http://www.standishgroup.com)

OSNOVNI POJMOVI

Page 9: Agilni razvoj proizvoda

9/55

OSNOVNI POJMOVI

Page 10: Agilni razvoj proizvoda

OSNOVNI POJMOVI

10/55

Page 11: Agilni razvoj proizvoda

11/55

OSNOVNI POJMOVI

Page 12: Agilni razvoj proizvoda

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

Page 13: Agilni razvoj proizvoda

13/55

Tražimo bolje načine razvoja software-arazvijajuć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

Page 14: Agilni razvoj proizvoda

14/55

Iteracija (od jedne sedmice do jednog mjeseca)

SCRUM OSNOVE – AGILE GENERIC

Page 15: Agilni razvoj proizvoda

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.

Page 16: Agilni razvoj proizvoda

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 funkcionalnostiodnosno proizvoda

sprint retrospektiva: inspect-and-adapt Scrum procesa

SCRUM OSNOVE- KLJUČNI POJMOVI

Page 17: Agilni razvoj proizvoda

17/55

SCRUM OSNOVE - SPRINT

Page 18: Agilni razvoj proizvoda

18/55

SCRUM OSNOVE - PROCES

Page 19: Agilni razvoj proizvoda

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

Page 20: Agilni razvoj proizvoda

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)

Page 21: Agilni razvoj proizvoda

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)

Page 22: Agilni razvoj proizvoda

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 neskalabilanUmjesto 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

Page 23: Agilni razvoj proizvoda

SCRUM OSNOVE – BEING VS DOING

Raditi agilno

Biti agilan 23/55

Page 24: Agilni razvoj proizvoda

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

Page 25: Agilni razvoj proizvoda

25/55

SCRUM OSNOVE

Page 26: Agilni razvoj proizvoda

26/55

Product Owner ScrumMaster

Razvojni tim

SCRUM OSNOVE – SCRUM TIM

Page 27: Agilni razvoj proizvoda

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

Page 28: Agilni razvoj proizvoda

28/55

Product owner je opunomoćena središnja tačka liderstva odgovorna za razvoj proizvoda

SCRUM OSNOVE – PRODUCT OWNER

Page 29: Agilni razvoj proizvoda

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

Page 30: Agilni razvoj proizvoda

30/55

SCRUM OSNOVE – PRODUCT OWNER

Page 31: Agilni razvoj proizvoda

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

Page 32: Agilni razvoj proizvoda

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

Page 33: Agilni razvoj proizvoda

33/55

Ko bi trebao biti Scrum Master ?

Da li je Scrum Master full-time pozicija ?

SCRUM OSNOVE – SCRUMMASTER

Page 34: Agilni razvoj proizvoda

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

Page 35: Agilni razvoj proizvoda

35/55

Samoorganizirajući

Krosfunkcionalno raznolik i dovoljan

T-vještine

„Svi za jednog, jedan za sve“ stav

High-bandwidth komunikacija

SCRUM OSNOVE – RAZVOJNI TIM

Page 36: Agilni razvoj proizvoda

Transparentna komunikacija

Prave veličine

Fokusiran i posvećen

Radi održivom brzinom

Dugoročan

SCRUM OSNOVE – RAZVOJNI TIM

36/55

Page 37: Agilni razvoj proizvoda

37/55

SCRUM OSNOVE – RAZVOJNI TIM

Page 38: Agilni razvoj proizvoda

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

Page 39: Agilni razvoj proizvoda

39/55

Nove funkcionalnosti

Potrebne promjene

Defekti

Tehnička poboljšanja

Prikupljanje znanja/informacija

Product Backlog Items (PBIs)

SCRUM OSNOVE – PRODUCT BACKLOG

Page 40: Agilni razvoj proizvoda

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

Page 41: Agilni razvoj proizvoda

ŠTA AGILE NIJE ?

41/55

Page 42: Agilni razvoj proizvoda

42/55

SCRUM OSNOVE – USER STORIES

Page 43: Agilni razvoj proizvoda

43/55

SCRUM OSNOVE – PB RAFINIRANJE

Page 44: Agilni razvoj proizvoda

44/55

SCRUM OSNOVE – PB RAFINIRANJE

Page 45: Agilni razvoj proizvoda

45/55

SCRUM OSNOVE – RETROSPEKTIVA

Page 46: Agilni razvoj proizvoda

SKALIRANJE

46/55

Page 47: Agilni razvoj proizvoda

http://www.disciplinedagiledelivery.com/

SKALIRANJE – FORMIRANJE TIMA

47/559/20

Page 48: Agilni razvoj proizvoda

SKALIRANJE – PLC ODABIR

http://www.disciplinedagiledelivery.com/category/lifecycle -2/48/55

Page 49: Agilni razvoj proizvoda

SKALIRANJE – PLC ODABIR

http://www.disciplinedagiledelivery.com/category/lifecycle -2/49/55

Page 50: Agilni razvoj proizvoda

SKALIRANJE – PLC ODABIR

http://www.disciplinedagiledelivery.com/category/lifecycle -2/50/55

Page 51: Agilni razvoj proizvoda

51/55

Inicijalni

zahtjevi

Release

plan

POČETAK REALIZACIJA TRANZICIJA

Iteracija

Rješenje

Planiranje

iteracije

Review i

retrospektiva

Rješenje

Isporuka u

produkciju

Vizija

usvojena

Dnevni

sastanak

Arhitektura

testirana

Kraj

iteracije 1

Dovoljno

funkcionalnosti

Rješenje premno

za produkciju

Kraj

iteracije 2

Kraj

iteracije 9

. . . . .

SKALIRANJE – PLC ODABIR

DAD Basic Lifecycle

Page 52: Agilni razvoj proizvoda

52/55

SKALIRANJE – TERMIN PLAN

Page 53: Agilni razvoj proizvoda

53/55

SKALIRANJE – INICIJALNI PB

Page 54: Agilni razvoj proizvoda

Š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

Page 55: Agilni razvoj proizvoda

AGENDA

55/55

Page 56: Agilni razvoj proizvoda

PRESENTATION

Date 00/00/00

Q & A