An Introduction to Scrum

Download Report

Transcript An Introduction to Scrum

Introduktion
til Scrum
<dit navn her>
<dato>
Mountain Goat Software,
LLC
Introduktion til Scrum
Præsenteret
af
<dig>
<dato>
Mountain Goat Software,
LLC
Vi taber stafetløbet
“The… ‘relay race’ approach to
product development…may conflict with
the goals of maximum speed and
flexibility. Instead a holistic or ‘rugby’
approach—where a team tries to go the
distance as a unit, passing the ball back
and forth—may better serve today’s
Hirotaka Takeuchi and Ikujiro Nonaka, “The
competitive requirements.”
New New Product Development Game”,
Harvard Business Review, January 1986.
Mountain Goat Software,
LLC
Scrum i 100 ord
• Scrum er en smidig proces som tillader os at fokusere
på at levere højest mulige forretningsværdi på kortest
mulige tid.
• Scrum tillader os hurtigt og regelmæssigt at inspicere
fungerende programmer (fra hver anden uge til een
måned).
• Forretninen beslutter prioriteterne. Teamet selvorganiserer sig og finder derigennem den bedste måde
at levere de højest prioriterede features på.
• For hver periode af 2 uger til een måneds varied kan
enhver se færdigt kørende software og beslutte at
release denne som den er eller fortsætte med at
videreudvikle denne i endnu et sprint.
Mountain Goat Software,
LLC
Scrums oprindelse
•
•
•
•
Jeff Sutherland
•
•
De første scrums hos Easel Corp i 1993
IDX og 500+ personer anvendte Scrum
Ken Schwaber
•
•
•
ADM
Præsenterede Scrum på OOPSLA 95
sammen med Sutherland
Forfatter til 3 bøger om Scrum
Mike Beedle
•
Scrum patterns i PLOPD4
Ken Schwaber og Mike Cohn
•
Stiftede Scrum Alliance i 2002,
oprindeligt indenfor Agile Alliance
Mountain Goat Software,
LLC
Scrum har været anvendt af:
•Microsoft
•Yahoo
•Google
•Electronic Arts
•High Moon Studios
•Lockheed Martin
•Philips
•Siemens
•Nokia
•Capital One
•BBC
•Intuit
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 har været anvendt til:
•
•
•
•
•
•
•
•
•
Kommerciel software
In-house udvikling
Kontrakt udvikling
Fast pris projekter
Financielle applikationer
ISO 9001-certificerede
applikationer
Embedded systemer
24x7 systemer med krav
om 99.999% oppetid
Joint Strike Fighter
Mountain Goat Software,
LLC
• Spil udvikling
• FDA-godkendte, livskritiske
systemer
Kontrolsystemer til Satellitter
•
• Websites
• Software til håndholdte
enheder
Mobiltelefoner
•
• Netwærk switching
•
•
applikationer
ISV applikationer
Nogle af de største anvendte
applikationer
Egenskaber
•
•
•
•
•
•
Selvorganiserende teams
Produkterne fremkommer fra en serie af
“sprints” (af 2 uger til en måneds varighed)
Krav vises som elementer på en liste – kendt
som “product backlog”
Der foreskrives ikke nogen specifik teknisk
arbejdsmetodik
Bruger produktive regler til at skabe et agilt
miljø til at levere projekter
En af de “agile processer”
Mountain Goat Software,
LLC
Agile Manifesto –
et statement af værdier
over
Processer og
værktøjer
Fungerende software
over
Omfattende
dokumentation
Kunde samarbejde
over
Kontraktforhandling
Forandringstilpasning
over
At følge en plan
Individer og samspil
Kilde: www.agilemanifesto.org
Mountain Goat Software,
LLC
Projekters støj niveau
Langt fra
Aftale
Anarki
Krav
Kompleks
Mountain Goat Software,
LLC
Tæt på
kendt
Tæt på Simpelt
Aftale
Teknologi
Ukendt
Kilde: Strategic Management and
Organizational Dynamics by Ralph
Stacey in Agile Software Development
with Scrum by Ken Schwaber and Mike
Beedle.
Scrum
24 timer
Sprint
2-4 uger
Sprint mål
Return
Cancel
Return
Coupons
Gift wrap
Gift
Cancel
wrap
Product
backlog
Mountain Goat Software,
LLC
Sprint
backlog
Coupons
Potentiel leverbar
produkt inkrement
Alt set i sammenhæng
Billede tilgængelig på
www.mountaingoatsoftware.com/scrum
Mountain Goat Software,
LLC
Sprints
• Scrum projekter skaber fremdrift gennem
en serie af “sprints”
•
Tilsvarer Iterationer i Extreme Programming
• Typisk længde er 2–4 uger eller maksimalt
•
•
en kalendar måned
En fast længde giver den bedste rytme
Produktet designes, kodes, og testes I
løbet af et sprint
Mountain Goat Software,
LLC
Sekventiel vs.
overlappende udvikling
Krav
Design
Kode
Test
Istedet for at
færdiggøre een ting
ad gangen...
...gør Scrum teams lidt
af alt hele tiden
Kilde: “The New New Product Development Game” af
Takeuchi
og Nonaka.
Harvard Business Review, Januar 1986.
Mountain
Goat
Software,
LLC
Ingen ændringer under et sprint
Change
• Planlæg sprintets varighed udfra hvor
længe du kan holde ændringer ude af
sprintet
Mountain Goat Software,
LLC
Scrum framework
Roller
•Product owner
•ScrumMaster
•Team
Ceremonies
•Sprint planning
•Sprint review
•Sprint retrospective
•Daily scrum møder
Artifacts
•Product backlog
•Sprint backlog
•Burndown charts
Mountain Goat Software,
LLC
Scrum framework
Roller
•Product owner
•ScrumMaster
•Team
Ceremonies
•Sprint planning
•Sprint review
•Sprint retrospective
•Daily scrum møder
Artifacts
•Product backlog
•Sprint backlog
•Burndown charts
Mountain Goat Software,
LLC
Product owner
• Definere produktets funktionalitet
• Fastlæg release dato og indhold
• Vær ansvarlig for produkt lønsomhed
•
•
•
(ROI)
Prioriter funktionalitet udfra markedsværdi
Juster funktionalitet og prioriter hver
iteration udfra behov
Godkend eller afvis udviklingsresultat
Mountain Goat Software,
LLC
ScrumMaster
•
•
•
•
•
•
Representerer ledelsen ift. projektet
Ansvarlig for at opretholde Scrum værdier og metoder
Fjerne hindringer
Sikre at teamet fungerer optimalt og er
produktive
Sikre tæt samarbejde på tværs af alle roller og
funktioner
Beskytter teamet fra ekstern indblanding
Mountain Goat Software,
LLC
Teamet
•
•
•
Typisk 5-9 personer
Tværfunktionel:
•
Udviklere, testere, Brugergrænseflade
designere, etc.
Teammedlemmer bør være fuldtids
•
Der kan være undtagelser (fx. database administratorer)
Mountain Goat Software,
LLC
Teamet
•
•
Teamet er selvorganiserende
•
Ingen titler er ideelt, men sjældent muligt
Teamsammensætning bør kun ændres
imellem sprints
Mountain Goat Software,
LLC
Scrum framework
Roller
•Product owner
•ScrumMaster
•Team
Ceremonies
•Sprint planning
•Sprint review
•Sprint retrospective
•Daily scrum møder
Artifacts
•Product backlog
•Sprint backlog
•Burndown charts
Mountain Goat Software,
LLC
Team
kapacitet
Sprint planlægningsmøde
Sprint prioritization
Product
backlog
•
•
Forretnings
-betingelser
Analyser og evaluer product
backlog
Udvælg mål for sprintet
Sprint
mål
Sprint planning
• Beslut hvordan sprint målene
Nuværende
produkt
•
Teknologi
•
Mountain Goat Software,
LLC
opnåes (design)
Lav sprint backlog (opgaver)
udfra product backlog elementer
(user stories / features)
Estimer sprint backlog i timer
Sprint
backlog
Sprint planlægning
• Teamet udvælger de elementer fra product
•
•
backlog de kan love de kan færdiggøre
Sprint backlog oprettes
•
•
Opgaverne er identificeret og individuelt estimeret (116 timer)
Udføres i fællesskab, ikke af ScrumMaster alene
High-level design vurderes
Som ferie
planlægger vil jeg
kunne se billeder
af hoteller.
Mountain Goat Software,
LLC
Udvikle middle tier (8 hours)
Udvikle skærmbilleder (4)
Skriv test klasser (4)
Udvikle foo class (6)
Opdater performance tests (4)
Daily scrum møde
• Egenskaber
•
•
•
Dagligt
15-minutter
Stående
• Ikke til problemløsning
•
•
Hele verden er inviteret med
Udelukkende team medlemmer,
ScrumMaster, product owner, får taletid
• Mindsker behovet for andre unødvendige
møder
Mountain Goat Software,
LLC
Alle besvarer 3 spørgsmål
1
Hvad har jeg lavet siden sidst?
2
Hvad vil jeg lave til næste gang?
3
Er der noget der forhindrer mig I
•
at nå dette?
Det er ikke en status til ScrumMaster
•
Det er forpligtigelser overfor kollegaerne
Mountain Goat Software,
LLC
Sprint afslutning / demo
• Teamer præsenterer hvad der er blevet
•
•
frembragt iløbet af sprintet
Typisk I form af en demo af ny
funktionalitet eller den underlæggende
arkitektur
Uformelt
•
•
Regel om 2 timers
forberedelses tid
Ingen PowerPoint slides
• Hele teamet deltager
• Inviter hele verden med
Mountain Goat Software,
LLC
Sprint retrospective
• Regelmæssig vurdering af hvad der
•
•
•
fungerer og hvad der ikke gør
Typisk 15–30 minutter
Udføres efter hvert sprint
Hele teamet deltager
•
•
•
•
ScrumMaster
Product owner
Team
Evt. kunder og andre
Mountain Goat Software,
LLC
Start / Stop / Continue
• Hele teamet samles og diskuterer hvad de
kunne tænke sig at gøre:
Start doing
Stop doing
Dette er blot een
af mange måder
at udføre en
sprint
retrospective.
Mountain Goat Software,
LLC
Continue doing
Scrum framework
Roller
•Product owner
•ScrumMaster
•Team
Ceremonies
•Sprint planning
•Sprint review
•Sprint retrospective
•Daily scrum møder
Artifacts
•Product backlog
•Sprint backlog
•Burndown charts
Mountain Goat Software,
LLC
Product backlog
• Kravene
• En liste over alt ønsket
Dette er
product backlog
Mountain Goat Software,
LLC
arbejde I projektet
• Ideelt beskrevet således at
hvert element har værdi for
produktets brugere eller
kunder
• Prioriteres af product owner
• Reprioriteres ved start af
hvert sprint
Product backlog eksempel
Backlog element
Estimat
Tillad at en gæst kan lave en reservation
3
Som gæst vil jeg annullere en
reservation.
Som gæst vil jeg ændre datoerne for en
reservation.
Som ansat på hotellet, kan jeg trække
en RevPAR rapport (revenue-peravailable-room)
5
3
8
Forbedre fejl håndtering
8
...
30
...
50
Mountain Goat Software,
LLC
Sprint mål
• En kort beskrivelse af hvad der har fokus i
dette sprint
Biologi
Database Applikation
Sikre at applikationen kan køre
på en SQL Server (udover
Oracle).
Understøtte nødvendig
funktionalitet for genetiske studier.
Financielle ydelser
Understøtte flere tekniske
indikatorer end firma ABC, med
real-tids streaming af data.
Mountain Goat Software,
LLC
Håndtering af sprint backlog
•
•
Enhver I teamet påtager sig arbejde udfra deres
eget valg
•
Opgaver bliver aldrig tildelt
Estimeret tilbageværende arbejde opdateres
dagligt
Mountain Goat Software,
LLC
Håndtering af sprint backlog
•
•
•
•
Alle I teamet kan tilføje, slette eller ændre I
sprint backlog’en
Nye opgaver vil blive opdaget iløbet af sprintet
Hvis en opgave er uklar, defineres et sprint
backlog element med et større tidsestimat og
denne nedbrydes senere
Opdaterer tilbageværende arbejde efterhånden
som man bliver klogere
Mountain Goat Software,
LLC
Sprint backlog eksempel
Opgaver
Udvikle bruger
grænsefladen
Udvikle middle tier
Test middle tier
Skriv online hjælp
Skriv foo class
Tilføj error logging
Mountain Goat Software,
LLC
Man Tirs Ons Tors Fre
8
4
8
16
12
10
4
8
16
16
11
8
8
8
8
8
8
4
12
8
Hours
Sprint burndown chart eksempel
Mountain Goat Software,
LLC
Opgaver
Mon Tues Wed Thur Fri
Udvikle
brugergrænseflad
Udvikle middle tier
Test middle tier
Skriv online hjælp
8
16
8
12
4
12
16
8
10
16
7
11
50
Hours
40
30
20
10
0
Mon
Mountain Goat Software,
LLC
Tue
Wed
Thu
Fri
8
Skalerbarhed
•
•
•
Typisk 7 ± 2 personer pr. team
•
Skalerbarhed kommer ved teams af teams
Skaleringsfaktorer
•
•
•
•
Applikationstype
Team størrelse
Teamets geografiske spredning
Projektets varighed
Scrum har været anvendt på flere projekter
med 500+ deltagere
Mountain Goat Software,
LLC
Skalering gennem Scrum of
scrums
Mountain Goat Software,
LLC
Scrum of scrums of scrums
Mountain Goat Software,
LLC
Hvor kan jeg finde mere info
•
•
•
•
www.mountaingoatsoftware.com/scrum
www.scrumalliance.org
www.controlchaos.com
[email protected]
Mountain Goat Software,
LLC
Scrum litteraturliste
•
•
•
•
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
Mountain Goat Software,
LLC
Scrum litteraturliste
•
•
•
•
•
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
Succeeding with Agile by Mike Cohn
User Stories Applied for Agile Software Development by
Mike Cohn
Mountain Goat Software,
LLC
Copyright notat
• Du har lov til:
•
• at dele―at kopiere, distribuere og sprede værket
• at Remixe―at bearbejde værket
På følgende vilkår
• Navngivelse. Du skal navngive ophavspersonen, og/eller
licensgiveren på den måde som disse angiver (men ikke på
en måde som indikerer at disse har godkendt eller anbefaler
din brug af værket).
• Intet I denne licens skader eller begrænser
ophavshaverens ideelle rettigheder.
•
For yderligere information se:
http://creativecommons.org/licenses/by/3.0/
Mountain
Goat Software,
LLC
Contact information
Presentation by: Mike Cohn
[email protected]
www.mountaingoatsoftware.com
(720) 890-6110
Oversat til Dansk:
Per M. Beining, Xpand Aps
[email protected]
www.xpand.dk
+45 40308307
Mountain Goat Software,
LLC