Uvod u Scrum Mountain Goat Software, LLC Uvod u Scrum Prezentuje Mountain Goat Software, LLC Gubimo štafetne trke “Pristup razvoju proizvoda kao u štafetnim trkama…može biti u suprotnosti.

Download Report

Transcript Uvod u Scrum Mountain Goat Software, LLC Uvod u Scrum Prezentuje Mountain Goat Software, LLC Gubimo štafetne trke “Pristup razvoju proizvoda kao u štafetnim trkama…može biti u suprotnosti.

Uvod
u Scrum
<vaše ime>
<datum>
Mountain Goat Software,
LLC
Uvod u Scrum
Prezentuje
<vaše ime>
<datum>
Mountain Goat Software,
LLC
Gubimo štafetne trke
“Pristup razvoju proizvoda kao u štafetnim
trkama…može biti u suprotnosti sa željama za
maksimalnom brzinom i fleksibilnošću. Umesto
toga, holistički ili ‘rugby’ pristup—gde tim
pokušava da pređe put kao celina, dodajući
loptu napred-nazad—može bolje poslužiti
savladavanju današnjih zahteva.”
Hirotaka Takeuchi and Ikujiro Nonaka,
“The New New Product Development Game”,
Harvard Business Review, January 1986.
Mountain Goat Software,
LLC
Scrum u 100 reči
• Scrum je agilni proces koji nam omogućava da se
fokusiramo na isporuku najviših poslovnih vrednosti u
najkraćem roku
• Omogućava nam da brzo i često unapređujemo
aplikacije (svake 2 nedelje do jednog meseca)
• Posao postavlja prioritete. Timovi se samoorganizuju da
bi odredili najbolji način za isporuku funkcionalnosti koje
imaju najviši prioritet.
• Svake dve nedelje do mesec dana svako može da vidi
potpuno funkcionalan softver i odluči se za puštanje u
produkciju ili da nastavi unapređivanje u sledećem
sprintu.
Mountain Goat Software,
LLC
Poreklo Scrum-a
•
•
•
•
Jeff Sutherland
•
•
Prvi scrum u Easel Corp in 1993
IDX i 500+ ljudi primenjuje Scrum
Ken Schwaber
•
•
•
ADM
Scrum prezentovan na OOPSLA 95 sa g.
Sutherlandom
Autor tri knjige o Scrumu
Mike Beedle
•
Scrum patterns na PLOPD4
Ken Schwaber i Mike Cohn
•
Suosnivači Scrum Alliance 2002,
inicijalno u sklopu Agile Alliance
Mountain Goat Software,
LLC
Scrum koriste:
•Microsoft
•Yahoo
•Google
•Electronic Arts
•Lockheed Martin
•Philips
•Siemens
•Nokia
•IBM
•Capital One
•BBC
Mountain Goat Software,
LLC
•Intuit
•Nielsen Media
•First American Real Estate
•BMC Software
•Ipswitch
•John Deere
•Lexis Nexis
•Sabre
•Salesforce.com
•Time Warner
•Turner Broadcasting
•Oce
Scrum se koristi za:
•
•
•
•
•
•
•
•
•
Komercijalni softver
In-house razvoj
Razvoj po ugovoru
Projekti s fiksnom cenom
Finansijske aplikacije
ISO 9001- sertifikovane
aplikacije
Embedded sistemi
24x7 sistemi sa zahtevom
za 99.999% raspoloživošću
za Joint Strike Fighter
Mountain Goat Software,
LLC
• Razvoj računarskih igara
• FDA-odobrene, životno kritične
sisteme
Satelitski kontrolisan softver
•
• Web stranice
• Softver za handheld uređaje
• Mobilne telefone
• Softver za mrežne svičeve
• ISV aplikacije
• Neke od najvećih aplikacija u
upotrebi
Osobine
•
•
•
•
•
•
Samoorganizovani timovi
Proizvod napreduje kroz niz mesečnih
“sprintova”
Zahtevi se skupljaju kao stavke u listi koja se
zove “product backlog”
Nema specifičnih prepisanih inženjerskih
praksi
koristi pravila pomoću kojih stvara agilno
okruženje u svrhu isporuke proizvoda
jedan od “agilnih procesa”
Mountain Goat Software,
LLC
Agile Manifesto – sistem
vrednosti
Pojedinci i interakcija
iznad
Procesi i alati
iznad
Detaljna
dokumentacija
Saradnja sa
korisnikom
iznad
Pregovaranje o
ugovoru
Odgovor na promenu
iznad
Praćenje plana
Funkcionalan softver
Izvor: www.agilemanifesto.org
Mountain Goat Software,
LLC
Nivo šuma kod projekta
Dalje od dogovora
Anarhija
Izvor: Strategic Management and
Organizational Dynamics by Ralph
Stacey in Agile Software Development
with Scrum by Ken Schwaber and Mike
Beedle.
Jednostavno
Mountain Goat Software,
LLC
Izvesnije
Bliže dogovoru
Tehnologija
Neizvesnije
Zahtevi
Kompleksno
Scrum
24 sata
Sprint
2-4 nedelje
Cilj sprinta
Povraćaj
Otkazivanje
Povrat
Poklon
omot
Kuponi
Poklon
omot
Cancel
Product
backlog
Mountain Goat Software,
LLC
Sprint
backlog
Kuponi
Potencijalno isporučiv
Inkrement proizvoda
Sve zajedno
Slika raspoloživa na
www.mountaingoatsoftware.com/scrum
Mountain Goat Software,
LLC
Sprintovi
• Scrum projekti ostvaruju napredak kroz niz
sprintova
•
Analogno iteracijama u extreme programming
• Tipično trajanje je 2-4 nedelje ili najviše
jedan kalendarski mesec
• Konstantno trajanje omogućava bolji ritam
• Za vreme sprinta, proizvod se dizajnira,
kodira i testira
Mountain Goat Software,
LLC
Sekvencijalni protiv
preklapajućeg razvoja
Zahtevi
Dizajn
Kôd
Test
Umesto da rade jednu od
ovih stvari odjednom...
...Scrum timovi rade pomalo
od svega sve vreme
Izvor: “The New New Product Development Game” by Takeuchi
and Nonaka. Harvard Business Review, January 1986.
Mountain Goat Software,
LLC
Nema promena za vreme sprinta
Promena
• Planirajte trajanje sprinta shodno tome
koliko dugo možete izdržati bez promena
Mountain Goat Software,
LLC
Scrum framework
Uloge
•Product owner
•ScrumMaster
•Tim
Sastanci
•Planiranje sprinta
•Pregled sprinta
•Retrospektiva sprinta
•Dnevni scrum sastanak
Artefakti
•Product backlog
•Sprint backlog
•Burndown dijagrami
Mountain Goat Software,
LLC
Scrum framework
Uloge
•Product owner
•ScrumMaster
•Tim
Sastanci
•Planiranje sprinta
•Pregled sprinta
•Retrospektiva sprinta
•Dnevni scrum sastanak
Artefakti
•Product backlog
•Sprint backlog
•Burndown dijagrami
Mountain Goat Software,
LLC
Product owner
• Definiše funkcionalnosti proizvoda
• Odlučuje o datumu i sadržaju release-a
• Odgovoran za profitabilnost proizvoda
(ROI)
• Prioritizuje funkcionalnosti u skladu sa
značajem za tržište
• Prema potrebi, koriguje funkcionalnosti i
prioritet u svakoj iteraciji
• Prihvata ili odbacuje rezultate rada
Mountain Goat Software,
LLC
ScrumMaster
•
•
•
•
•
•
Predstavlja manadžment projekta
Odgovoran za sprovođenje Scrum vrednosti i
prakse
Uklanja smetnje
Osigurava da je tim potpuno funkcionalan i
produktivan
Omogućava blisku saradnju između svih uloga
i funkcija
Štiti tim od spoljnih ometanja
Mountain Goat Software,
LLC
Tim
•
•
•
•
•
Obično 5-9 članova
Multi-funkcionalni:
•
Programeri, testeri, dizajneri itd.
Članovi bi trebalo da budu angažovani puno
radno vreme
•
Može biti izuzetaka (npr. DBA)
Timovi se samoorganizuju
•
Idealno bi bilo bez funkcija, ali teško ostvarivo
Sastav bi trebalo menjati samo između
sprintova
Mountain Goat Software,
LLC
Scrum framework
Uloge
•Product owner
•ScrumMaster
•Tim
Sastanci
•Planiranje sprinta
•Pregled sprinta
•Retrospektiva sprinta
•Dnevni scrum sastanak
Artefakti
•Product backlog
•Sprint backlog
•Burndown dijagrami
Mountain Goat Software,
LLC
Kapacitet
tima
Product
backlog
Sastanak planiranja sprinta
Prioritizovanje sprinta
•
•
Poslovni
uslovi
Tehnologija
Cilj
sprinta
Planiranje sprinta
•
Trenutni
proizvod
Analiza i procena product
backlog-a
Utvrđivanje cilja sprinta
•
•
Mountain Goat Software,
LLC
Odlučivanje o načinu realizacije
cilja sprinta (design)
Izrada sprint backlog-a (zadaci) od
stavki product backlog-a (user
stories / features)
Procena sprint backlog-a u satima
Sprint
backlog
Planiranje sprinta
•
•
•
Tim bira stavke iz product backlog-a za koje
može da se obaveže da ih može završiti
Kreira se Sprint backlog
•
•
Identifikuju se zadaci i svaki se procenjuje (1-16 sati)
Uz saradnju, ne samo ScrumMaster
Uzima se u obzir high-level dizajn rešenja
Kao planer
putovanja, želim
da vidim
fotografije hotela.
Mountain Goat Software,
LLC
Kodiranje srednjeg sloja (8 h)
Kodiranje interfejsa (4)
Kodiranje demo-a (4)
Kodiranje foo klase (6)
Dorada testova perfomansi (4)
Dnevni scrum sastanak
•
Parametri
•
•
•
•
15 minuta
Stand-up
Nije za rešavanje problema
•
•
•
Dnevno
Svi su pozvani
Samo članovi tima, ScrumMaster i product owner
smeju da pričaju
Pomaže da se izbegnu ostali nepotrebni
Mountain
Goat Software,
sastanci
LLC
Svi odgovaraju na 3 pitanja
Šta si radio juče?
Šta ćeš raditi danas?
Da li ti nešto stoji na putu?
• Ovo nije izveštaj o statusu za
ScrumMaster-a
•
To je informisanje među jednakima
Mountain Goat Software,
LLC
1
2
3
Pregled sprint-a
•
Tim prezentuje ono što je urađeno za vreme
sprinta
•
Tipično u formi demonstracije novih
funkcionalnosti ili upotrebljene arhitekture
•
Neformalno
•
•
•
•
Pravilo 2-satne pripreme
Bez slajdova
Učestvuje ceo tim
Svi su pozvani
Mountain Goat Software,
LLC
Retrospektiva sprinta
•
•
•
•
Periodično razmatranje šta je dobro, a šta ne
Tipično 15–30 minuta
Radi se posle svakog sprinta
Ceo tim učestvuje
•
•
•
•
ScrumMaster
Product owner
Tim
Moguće je učešće klijenata i ostalih
Mountain Goat Software,
LLC
Početi / Prestati / Nastaviti
• Ceo tim se okuplja i diskutuje šta bi želeli
da:
Počnu da rade
Prestanu da rade
Ovo je samo jedan
od načina kako se
može raditi
retrospektiva
sprinta
Mountain Goat Software,
LLC
Nastave da rade
Scrum framework
Uloge
•Product owner
•ScrumMaster
•Team
Sastanci
•Planiranje sprinta
•Pregled sprinta
•Retrospektiva sprinta
•Dnevni scrum sastanak
Artefakti
•Product backlog
•Sprint backlog
•Burndown dijagrami
Mountain Goat Software,
LLC
Product backlog
• Zahtevi
• Lista svih zahtevanih
poslova na proizvodu
• Idealno je ako su zahtevi
takvi da svaki predstavlja
vrednost za korisnika
proizvoda
Ovo je product
backlog
Mountain Goat Software,
LLC
• Prioritizuje ih product owner
• Reprioritizovani na početku
svakog sprinta
Primer product backlog-a
Stavka backlog-a
Procena
Omogućiti gostu da napravi rezervaciju
3
Kao gost, želim da otkažem rezervaciju.
5
Kao gost, želim da promenim datume
rezervacije.
Kao zaposleni u hotelu, mogu da
startujem RevPAR izveštaje (revenueper-available-room)
3
8
Unaprediti obradu grešaka
8
...
30
...
50
Mountain Goat Software,
LLC
Cilj sprinta
• Kratka izjava na šta će biti fokusiran rad za
vreme sprinta
Prirodne nauke
Aplikacija sa bazom podataka
Podržati funkcionalnosti neophodne
za studije genetike stanovništva.
Omogućiti da se aplikacija,
uz Oracle, može startovati i
Finansijske usluge
na SQL Server-u.
Podržati više tehničkih
indikatora od kompanije ABC
sa real-time podacima.
Mountain Goat Software,
LLC
Upravljanje sprint backlog-om
•
•
•
•
•
•
Pojedinci se sami opredeljuju za zadatke
• Zadaci se ne dodeljuju
Procena preostalog posla se radi svakodnevno
Svaki član tima može dodavati, brisati ili menjati
sprint backlog
Posao se pojavljuje u toku sprinta
Ako je posao nejasan, definiše se zadatak u sprint
backlog-u sa više vremena i kasnije se usitnjava
Preostali posao se procenjuje čim saznamo više
Mountain Goat Software,
LLC
Sprint backlog
Zadaci
Kodiranje kor. interfejsa
Pon Uto Sre Čet Pet
8
4
8
Kodiranje srednjeg sloja
16
12
10
4
Testiranje srednjeg sloja
8
16
16
11
8
Pisanje online helpa
12
Kodiranje foo klase
8
8
8
8
8
8
4
Logovanje grešaka
Mountain Goat Software,
LLC
Sati
Sprint burndown dijagram
Mountain Goat Software,
LLC
Zadaci
Pon Uto
Kodiranje kor. interfejsa
Kodiranje srednjeg sloja
Testiranje srednjeg sloja
Pisanje online helpa
8
16
8
12
Sre
Čet
Pet
8
10
16
7
11
8
4
12
16
50
Sati
40
30
20
10
0
Pon
Mountain Goat Software,
LLC
Uto
Sre
Čet
Pet
Skalabilnost
•
•
•
Tipičan tim je 7 ± 2 ljudi
•
Skalabilnost se realizuje pomoću timova timova
Činioci koji utiču na skalabilnost
•
•
•
•
Tip aplikacije
Veličina tima
Disperzija tima
Trajanje projekta
Scrum je uspešno korišćen na više projekata
sa više od 500 osoba
Mountain Goat Software,
LLC
Skaliranje pomoću Scrum
of scrums
Mountain Goat Software,
LLC
Scrum of scrums of scrums
Mountain Goat Software,
LLC
Saznajte više na
•
•
•
•
www.mountaingoatsoftware.com/scrum
www.scrumalliance.org
www.controlchaos.com
[email protected]
Mountain Goat Software,
LLC
Preporuke za čitanje
•
•
•
•
•
•
•
•
•
Agile and Iterative Development: A Manager’s Guide by
Craig Larman
Agile Estimating and Planning by Mike Cohn
Agile Project Management with Scrum by Ken Schwaber
Agile Retrospectives by Esther Derby and Diana Larsen
Agile Software Development Ecosystems by Jim Highsmith
Agile Software Development with Scrum by Ken Schwaber
and Mike Beedle
Scrum and The Enterprise by Ken Schwaber
User Stories Applied for Agile Software Development by
Mike Cohn
Lots of weekly articles at www.scrumalliance.org
Mountain Goat Software,
LLC
Copyright
• Slobodni ste da:
•
• Delite― kopirate, distribuirate i prenosite dalje ovaj rad
• Kombinujete―prilagodite ovaj rad
Pod sledećim uslovima
• Nadležnost. Možete dopuniti ovaj rad na način koji je
specificiran od strane autora ili vlasnika licence (ali ne na
bilo koji način koji bi sugerisao da oni podržavaju vas i
korišćenje rada).
• Ništa u ovoj licenci ne narušava ili
ograničava moralna prava autora.
•
Za više informacija pogledajte
http://creativecommons.org/licenses/by/3.0/
Mountain
Goat Software,
LLC
Kontakt informacije
Autor prezentacije: Mike Cohn
[email protected]
www.mountaingoatsoftware.com
(720) 890-6110
Mountain Goat Software,
LLC