Scrum -nøkkelbegreper og noen personlige erfaringer
Agile Manifesto Manifest for smidig systemutvikling Vi oppdager stadig nye og bedre måter å utvikle systemer på, både ved å gjøre det selv og ved å hjelpe andre. Derved har vi lært oss å verdsette: Individer og samspill framfor prosesser og verktøy Fungerende system framfor utførlig dokumentasjon Samarbeid med kunden framfor kontraktsforhandlinger Å reagere på endringer framfor å følge en plan Det betyr at selv om punktene til høyre er verdifulle, verdsetter vi de til venstre mer. ( Original: Beck, Kent; et al.(2001), http://agilemanifesto.org)
Scrum Rammeverk for smidig utvikling scrum n. 1. Sports a. A play in Rugby in which the two sets of forwards mass together around the ball and, with their heads down, struggle to gain possession of the ball. b. The mass or formation of players during such a play. 2. Chiefly British A disordered or confused situation involving a number of people. http://www.thefreedictionary.com/scrum
Scrum Empirisk prosesskontroll, jobber inkrementelt og iterativt, tverrfaglige og selvstyrte team. Roller to hovedkategorier, griser og kyllinger: har forpliktelser er involvert
Roller i scrumteamet Scrum Master Product Owner - produkteier Teamet
Scrum Master Ansvar for prosessen Fjerne hindringer Sørge for å beholde fokus Passer på at reglene blir fulgt Skjerme teamet Ansvar for å kalle inn til møter
Product owner (produkteier) Kundens talsperson Ansvar for å definere oppgavene Ansvar for å prioritere oppgavene Sørger for at teamet jobber med de riktige oppgavene Må være tilgjengelig for teamet
Teamet De som gjør selve jobben Bestå av for eksempel testere, utviklere, dba.. Selvorganiserende Tverrfaglig Autonome
Teamet Gjerne kontorlandskap Størrelse på teamet er viktig, optimalt 7 (±2) Ikke for mange og ikke for få Alle må ha innflytelse og bli hørt For få, dårlig kommunikasjon For mange, noen blir passive
Kyllinger Stakeholders: Kunder, de man lager produktet for Managers: De som sørger for produktutviklingsmiljøet Kontakt med scrumteamet kun under Sprint Review-møtene
Sprint Grunnenheten for utvikling Tidsperiode typisk 2-4 uker Releasekandidat (men må ikke) Kontinuerlig arbeid Sustainable pace jevnt tempo hele tiden Skal ikke trenge pause etter avsluttet sprint
Artifacts Product backlog Sprint backlog Sprint burndown chart
Product backlog (produktkø) Samling av oppgaver som skal utføres Er produkteiers ansvar Skal være prioritert For eksempel User stories, som XX ønsker jeg at YY slik at ZZ Alltid under arbeid
Sprint backlog Samling oppgaver som teamet samlet har forpliktet seg til å løse i løpet av sprinten Låst etter sprintplanleggingen, men sprinten kan oppløses dersom det trengs Gjerne visuelt
Scrumtavla
Sprint burndown chart
Faste møter Alle møter er tidsbegrenset Daily scrum Sprint planning Sprint retrospective Sprint review
Daily scrum Fast klokkeslett og fast sted, helst foran scrumtavla Stående møte, i ring Bare griser kan snakke på møtet (alle velkommen) Makstid 15 min
Daily scrum Tre faste spørsmål til hver: 1. Hva har du gjort siden sist? 2. Hva skal du gjøre fram til neste møte? 3. Har du noen hindringer? Oppdatere estimat på aktiv oppgave se framover
Sprint planning Hele scrumteamet er med Plukke oppgaver fra produktkøen -> sprint backlog Tidsbegrenset ca 8 timer for 4 ukers arbeid Med/uten produkteier Viktig å dele opp oppgaver, vanlig å bryte ned til maks 8 timer per oppgave, helst mindre. Definition of Done Kompleks oppgave? Utredning først
Sprint review Tidsbegrenset til 4 timer Alle invitert Oppsummering av sprinten som er avsluttet, hva som er gjort og ikke gjort Presenterer det som er gjort for stakeholders ved å demonstrere Gode forslag mottas gjerne, feks innspill til produkteier om nye oppgaver/endringer
Sprint retrospective Tidsbegrenset 3 timer Kun for scrumteamet Refleksjoner for forbedring (inspect and adapt) To faste spørsmål, hva gikk bra og hva gikk dårlig? Diskusjon om det som gikk dårlig, hvordan kan det unngås? Scrum Master tar sakene videre
4 uker med Scrum Mandag Tirsdag Onsdag Torsdag Fredag Lørdag Søndag Sprint planning (4t) Daily scrum Daily scrum Daily scrum Daily scrum Daily scrum Daily scrum Daily scrum Daily scrum Sprint review Sprint retrospective Sprint planning (4t) Daily scrum Daily scrum Daily scrum Daily scrum Daily scrum Daily scrum Daily scrum Daily scrum Sprint review Sprint retrospective
Utfordringer ressurser på en sprint Hvem er på teamet denne sprinten? (ferie, andre prosjekter) Splitt /slå sammen team Hva skjer av andre ting som tar tid fra sprinten? Fast scrummøter/konferanser/andre oppgaver
Utfordringer - oppgaver til en sprint Hvor mange og hvilke oppgaver skal tas med i en sprint? Hvordan få produkteier til å prioritere oppgaver man ikke ser umiddelbar effekt av? Estimering er vanskelig, men enklere jo mindre oppgavene er Estimering enklere med erfaring (stabilt team) Estimere så hvem som helst eller en bestemt skal gjøre oppgaven?
Generering av sprint konkret Alle oppgaver i product backlog har et grovestimat Produkteier har oversikt over ressurser Før sprint planning: Produkteier plukker oppgaver fra PB i henhold til prioritet til timene er brukt opp Sprint planning: Scrumteamet bryter opp oppgavene og estimerer med for eksempel poker planning Scrum Master og Produkteier vurderer om det passer, evt tar oppgaver ut/inn Sprinten blir låst
Under sprinten Det enkelte teammedlem plukker saker fra sprint backlog (fra tavla) Noen står fast? Teamet hjelper til Kun en oppgave av gangen Jobbe kun med sprinten Selv om scrum master ikke er tilstede skal daily scrum arrangeres
Ikke ferdig? Gjenstående oppgaver reprioriteres av produkteier Enten tilbake i product backlog, eller topp prioritert og med i neste sprint
Utfordringer Produkteier må involveres i stor grad Resten av organisasjonen må med Forutsetninger endres, men likevel er leveransedatoen fast?
Fordeler Teamet jobber jevnt hele tiden, og får ro Kort feedback loop mellom kunde og team, raskere komme fram til gode løsninger for kunden God teamfølelse, teamet står samlet Dele kunnskap Felles mål Mange hjerner på et problem
Rikke Kristin Gåsholt rikkekr Rom 509 (Forskningsveien 3B)