scrum kas tai (2010 03 25)
DESCRIPTION
Scrum pristatymas kviestinėje paskaitoje, VU Matematikos informatikos fakultete (MIF), Programų sistemų magistrantams 2010 03 25TRANSCRIPT
Scrum: kas tai?
Vaidas Adomauskas
2010-03-25
Darbotvarkė
Susipažinsime ;)Tradiciniai projektaiJudrūs (agile) projektaiScrum
Kas taiKomanda (rolės)Procesas
Pokytis
Anglų-Lietuvių vertimas yra sunku
Apie mane (1)
VU MIF - Programų sistemų inžinerija (bakalauras)
3 years in MIF SAPirmininkas (organizacijos valdymas)Renginių organizavimas (MIDI)Mokymai
IT University of Gothenburg – Master in Software Engineering and Management (magistras)
Critical Chain Project Management (CCPM, TOC)Bottlenecks in Agile Software Development Identified Using Theory of Constraints (TOC) Principles (http://gupea.ub.gu.se/dspace/bitstream/2077/10457/1/gupea_2077_10457_1.pdf)
Apie mane (2)
AB Lavasoft (Ad-Aware)Agile/Scrum ”Pionierius”Pakeičiau procesą: iš JFDI į Scrum (~20 žm, 2 kom.)Agile Development Practices 2008 (http://www.sqe.com/ConferenceArchive/AgileDevPractices2008/)
Scandinavian Development Conference 2009 (http://www.scandevconf.se/)
Adform (www.adform.com)Agile/Scrum ”Pionierius”Keičiame procesą į Scrum (~40 žm, 6 kom.)Scrum Master Certification (Ken Schwaber, Paris) (http://www.scrumalliance.org/generate_public_certificate/80593/A4/csm)
Kas jus?
Naudojat ar girdėję apie Agile/Scrum?Kiek čia dirbančių?Kas:
AnalitikasArchitektasProgramuotojasTestuotojasProjektų vadovaskita..
Tradicinis procesas
Reikalavimai (SRS) “Surašykit VISKĄ ką galite sugalvoti. Bet koks reikalavimų keitimas ateityje jums kainuos LABAI daug”
Dokumentacija (artifacts)“Apsisaugosim kai ieškos kaltų”
Software projects
Proceso sudėtingumas
Funkcionalumo naudojimas
Sėkmingi projektai
Tradicinis projektas
35% reikalavimų keičiasi... 64% funkcionalumo niekada arba retai naudojami... 32% sėkmingų projektų...
PPlanavimas
SStabilizavimas
VVystymas
Klausimai?
Judrumo (Agile) manifestas
...mes vertiname:
Žmones ir jų bendravimą labiau nei procesą ir įrankius
Veikiančią programinę įrangą labiau nei išsamią dokumentaciją
Bendradarbiavimą su klientu labiau nei derybas dėl kontraktų
Reagavimą į pokyčius labiau nei plano sekimą
Tai yra, nors ir elementai dešinėje yra vertingi, bet mes vertiname elementus kairėje labiau.
http://agilemanifesto.org/
Metodai ir praktikos
Agile metodaiExtreme programming (XP)Feature Driven Development (FDD)Open Unified Process (OpenUP)ScrumLean software development…
Agile praktikosTest Driven Development (TDD)Behavior Driven Development (BDD)Continuous IntegrationPair ProgrammingPlanning poker…
http://en.wikipedia.org/wiki/Agile_software_development
Klausimai?
SCRUM
Scrum istorija
Scrum
Scrum yra sistema (framework) kurti sudėtingiems produktamsScrum neaprašo konkrečių metodų ar technikųScrum nėra “sidabrinė kulka (silver bullet)”Scrum yra įrankis, kuris išryškina ką reikia tobulinti, kad kurti kokybišką ir greitai atsiperkančią programinę įrangą.
Scrum apibrėžimas
Scrum yra sistema iteraciniam, priaugančiam kūrimui,naudojanti tarp-funkcines, savi-organizuojančias komandas.Ji sukurta naudojant geriausias praktikas,liesą (lean) mąstymąir empirinę proceso kontrolę.
Scrum “kojos”
Permatomumas
Patikrinimas
Prisitaikymas
Klausimai?
Scrum komanda (1)
Moralas: vištos negali sakyti kiaulėms KAIP padaryti darbą
Kiaulės: Scrum komandaVištos: visi kiti (vadovai, departamentų vadovai, klientai ir t.t.)
Produkto šeimininkas (Product Owner)
Apibrėžia ir prioretizuoja funkcionalumą pagal rinkos vertę
Valdo produkto užduočių sąrašą (Product Backlog)
Komunikuoja projekto progresą ir būseną
Produkto šeimininkas (Product Owner)
Komanda
Tikslas: sugebėti paversti reikalavimą į naudojamą produktą (pabaigtas (Done))
Tarp-funkcinė, septyni (+-2) nariaiTai nereiškia jog nereikia ekspertų!
Savi-organizuojanti
Scrum Meistras (Scrum Master)
Moko komandą Scrum vertybių, praktikų ir taisyklių
Šalina kliūtis
Apsaugo komandą nuo išorinių trikdžių
NEvadovauja komandai: komanda yra savi-organizuojanti
Klausimai?
Produkto užduočių sąrašo valdymas
Užduočių dydžio ir vertės apibrėžimas
Užduočių prioretizavimas
Paleidimo deginimo kreivė
Sprintas
Sprinto planavimas
Kasdienis Scrum
Sprinto peržiūra
Sprinto retrospektyva
Pabaigta (Done)
Visiškai “pabaigtas” prieaugis (increment) turi atliktą:
analizę dizainąperrašymą (refactoring) kodo rašymądokumentaciją testavimą paleidimądemonstravimą
Scrum projektas
Tikslai aukščiau už reikalavimusDetalus planavimas 1 sprintuiProdukto planavimas pagal prioritetusVartotojui funkcionalumas pristatytas po kiekvieno sprinto
P P V SP V P V P V
Klausimai?
Fosbury Flop – istorija apie šuolį į aukštį
Tradicinis šuolis į aukštį iki 19681968 Meksiko olimpiada – Dick Fosbury (aukso medalis)Nuo 1972 iki 2000 tik 2 medaliai buvo laimėti nenaudojant “Fosbury Flop”Bet, net 1980 olimpiadoje ne visi naudojo “Fosbury Flop”...
Keistis sunku...
http://en.wikipedia.org/wiki/Dick_Fosbury
ScrumButs…
<Mes naudojam Scrum, bet><mes turime unikalias aplinkybes><taigi mes turėjome pakeisti Scrum, kad jis veiktų čia>
http://www.motionbox.com/videos/0a99deb71f13e2ca87
“Agile development is like teenage sex. Everyone says they're doing it, but only 10% are. And those who are -- ARE DOING IT WRONG.” - The
Hacker Chick Blog
“If you’re not having fun, you’re not doing it right!”- Joseph Pelrine, CST and Social Complexity Scientist
Klausimai?
Daugiau apie Scrum/Agile
Mano blogas – http://scrum.agile.lt arba http://scrum.blogas.lt (Kol kas dar tuščias, bet tik kol kas ;) )
MIDI IT konferencija – “Agile ir SCRUM: kas tai yra ir ko kompanijos diegiančios šiuos metodus tikisi iš programuotojų”
LPD – “Agile Project Management with Scrum”
…
Nuorodos
http://www.agilealliance.org – Agile
http://www.scrumalliance.org – Scrum
http://www.poppendieck.com – Lean
http://www.pragprog.com – The Pragmatic Bookshelf
http://www.joelonsoftware.com - Joel Spolsky blog
Knygos (1)
Knygos (2)