Transcript SCRUM
SCRUM
Rokas Antanas Balevičius PS-5
UAB, Ashburn International
Turinys
Agile? Kam to reikia?
Scrum
Produkto
užduočių sąrašas (Product backlog)
Rolės
Procesai
Problemos
Užklasinė veikla
Programų kūrimo problemos
Užsakovai nežino ko nori
Reikalavimai nuolatos keičiasi
Kokybė nustumiama į paskutinę vietą
Sudėtinga valdyti rizikas
Proceso valdymas tampa sudėtingesnis už
patį procesą
Tradicinis sprendimas
Numatyti visas rizikas ir joms pasiruošti
Kovoti su pasikeitimais
Nuodugniai išanalizuoti kliento poreikius
Suprojektuoti kuriamą programą iš anksto
Jokiu būdu nevėluoti
Agile sprendimas
Priimti pasikeitimus
Nepulti visko planuoti iš anksto
Kurti tik tai, ko tuo metu reikia
Vertinti rezultatą dažniai ir anksti
Kliento gerovė – aukščiau visko
Genialu tai kas paprasta
Komandinis darbas, pasidalinta atsakomybė
Kurį ginklą renkaties Jūs?
Nėra blogo įrankio
Agile manifestas
Žmonės ir komunikacija svarbiau už įrankius ir
formalizmą
Veikiantis produktas svarbiau už
dokumentaciją
Darbas su klientu svarbiau nei kontraktas
Prisitaikymas prie pokyčių svarbiau nei
išankstinis planas
SCRUM
Procesas
Vienas Scrum lauke ne karys
XP
TDD
Produkto užduočių sąrašas
(Product backlog)
Prioritizuotas užduočių sąrašas
Nuolatos kintantis
Pildo produkto šeimininkas (“Product owner”)
Užduoties struktūra
Pavadinimas
Vartotojo istorija (User story)
Priėmimo kriterijai (Acceptance criteria)
Prioritetas
Biznio vertė
Darbo apimties įvertis (Estimate)
Produkto užduočių sąrašas
Produkto šeimininkas (Product
owner)
Formuluoja verslo poreikius
Bendrauja su užsakovais
Skirsto prioritetus
Vertina nuveiktą darbą
Neverčia padaryti!
Scrum meistras (Scrum Master)
Komandos “dvasinis” vadovas
Nebūtinai techninis žmogus (nors ir retai)
Saugo komandą nuo nemalonių verslo pasaulio
niuansų
Prižiūri ir tobulina Scrum procesą (dažniausiai ir
programavimo procesą)
Turi sprendžiamąjį balsą
Padeda tvarkyti produkto užduočių sąrašą
(nebūtinai)
Nevadovauja!
Komanda
Motyvuota
Savarankiška
Dirbanti kartu
Rotuojanti atsakomybes ir užduotis
Multi-funkcionali
Tobulėjanti
Ne tik kurianti produktą, bet ir padedanti
palaikyti Scrum procesą
Sprintas
Planavimas
Kūrimas
Peržiūra
Retrospektyva
Planavimas
Skirtas sudaryti sprinto užduočių sąrašą (sprint
backlog)
Remiasi komandos darbo greičiu (Team
velocity)
Komanda prisiima įsipareigojimus
Prisiimtos užduotys “užšaldomos”
Planavimo procesas
Įvertinamos užduočių apimtys (jei reikia
žaidžiamas planavimo pokeris)
Įvertinami komandos pajėgumai ateinančiam
sprintui
Smulkiai planuojami darbai
Sukuriamas sprinto užduočių sąrašas
Paruošiami lapukai
Užduočių lenta (Task board)
Blogas variantas
Geras variantas
Kasdienis Scrum (Daily Scrum)
Dar žinomas kaip “Stand up meeting”
Vyksta kas dieną
Aptariamas nuveiktas darbas
Kilnojami lapukai
Pildoma sprinto degimo kreivė (Sprint
burndown)
Sprendžiamos problemos (trumpai)
Pageidautina tilpti į 15min.
Sprinto degimo kreivė (Sprint
Burndown)
Papildytas variantas
Sprinto pristatymas (Sprint review)
Vykdomas sprinto gale
Komanda pristato ką nuveikė
Produkto šeimininkas patvirtina arba atmeta
Scrum meistras stebi ir daro išvadas
Retrospektyva
Kas veikė?
Kas neveikė?
Ką darysim kitaip?
Problemos
Daug kalbama apie kūrimą, bet mažai apie
palaikymą
Reikalauja geros komandos
Reikalauja nuolatinio tobulėjimo ir motyvacijos
Sudėtinga suderinti su užsakovu
Lengva pradėti, sudėtinga palaikyti
Dokumentacija?
Architektūra?
Užklasinė veikla
Agile Lietuva http://www.facebook.com/AgileLietuva
http://scrum.blogas.lt/agilelietuva
Agile turas - http://at2011.agiletour.org/lt/vilnius
Agile manifestas - http://agilemanifesto.org/
Klausimai