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