An Introduction to Scrum

advertisement
Scrum:
een introductie
Jan Thielen
4 augustus 2011
Ruis in een project
Vrijwel geen
overeenstemming
Eisenpakket
Anarchie
Technologie
Zeer onzeker
Source: Strategic Management and
Organizational Dynamics by Ralph Stacey
in Agile Software Development with Scrum
by Ken Schwaber and Mike Beedle.
Simple
rijwel zeker
Duidelijke
overenstemming
Complex
We verliezen de estafette
De...‘estafette’ aanpak voor product
ontwikkeling... kan conflicteren met de doelen
van maximale snelheid en flexibiliteit. In plaats
daarvan zou een holistische of ‘rugby’ aanpak waarbij een team in het geheel al bal spelend
een afstand probeert af te leggen, beter bij de
tegenwoordige competitie vereisten passen"
Hirotaka Takeuchi and Ikujiro Nonaka,
“The New New Product Development Game”,
Harvard Business Review, januari 1986.
Scrum = agile projectaanpak
Agile (= behendig, lenig)
Het vermogen om tegelijkertijd te creëren en te
reageren op verandering en daarmee winst te
behalen in het snel veranderende bedrijfsleven. De
kern van agile is het gebruik van beperkte maar
toereikende regels binnen het project en het gebruik
van regels die gericht zijn op communicatie. In de
praktijk werken de ontwikkelaars aan de hand van
Scrum, een concrete toepassing van een agileprojectmethodologie.
Het Agile Manifesto–een
verklaring van waarden
Personen en hun
interacties
gaan
voor
Processen and
hulpmiddelen
Werkende software
gaat
voor
Uitgebreide
documentatie
Samenwerking met de
klant
gaat
voor
Contract
onderhandelingen
Reageren op
veranderingen
gaat voor
Bron: www.agilemanifesto.org
Vasthouden aan een
plan
Scrum in het kort
• Scrum is een agile proces dat het mogelijk maakt om
de hoogste waarde in de kortste tijd te realiseren.
• Het maakt mogelijk om snel en regelmatig echt
werkende software te zien (iedere sprint duurt twee tot
vier weken).
• De business bepaalt de prioriteiten.
• Teams organiseren zichzelf om de beste manier te
bepalen om de hoogste prioriteiten op te leveren.
• Iedereen kan elke twee weken de echte software
bekijken en besluiten het vrij te geven of door te gaan
met uitbreidingen in een volgende sprint.
Voordelen van scrum
• Het risico voor de klant verlagen.
• Tastbare resultaten opleveren voor de klant binnen de kortst
mogelijke termijn (na 2 tot 4 weken).
• Snel inspelen op de concrete wensen van de klant (i.p.v. vage
analyses) en de veranderende omgeving waarin software en
websites ontwikkeld worden
• Regelmatige communicatiemomenten inlassen waarop de klant
op een concrete manier op de hoogte gehouden wordt van de
voortgang van een project en de klant kan beslissen of hij al
dan niet doorgaat met het project.
• Beheersen van complexiteit door iteratief in stappen te werken.
• Mogelijkheid bieden aan de klant om een project te bevriezen,
waarbij er toch een voldoeningscheppend resultaat is, en dit
daarna stapsgewijs verder te ontwikkelen.
Optimaal Scrum
• Tevreden klanten, programma's die
voldoen aan de verwachtingen van de
klant;
• Gemotiveerde projectteams die controle
hebben over het project (maximale
productiviteit, minimale stress);
• Een project en een product dat zichtbaar
evolueert en bugvrij is.
Scrum origins
•
Jeff Sutherland
•
•
•
Ken Schwaber
•
•
•
Initiële toepassing bij Easel Corp in 1993
500+ mensen doen Scrum
Scrum gepresenteerd op OOPSLA 96 met Jef
Sutherland
Auteur van drie Scrum boeken
Ken Schwaber en Mike Cohn
•
Oprichters Scrum Alliance in 2002,
initiëel binnen de Agile Alliance
Scrum is toegepast door:
•Microsoft
•Yahoo
•Google
•Electronic Arts
•Lockheed Martin
•Philips
•Siemens
•Nokia
•IBM
•Capital One
•BBC
•Intuit
•Nielsen Media
•First American Real Estate
•BMC Software
•Ipswitch
•John Deere
•Lexis Nexis
•Sabre
•Salesforce.com
•Time Warner
•Turner Broadcasting
•Océ
Scrum is toegepast voor:
•
•
•
•
•
•
•
•
•
Commerciële software
In-house ontwikkeling
Contract ontwikkeling
Fixed-price projecten
Financiële applicaties
ISO 9001-certified
applicatie
Embedded systemen
24x7 systemen met
99.999% uptime eisen
De Joint Strike Fighter
• Computer spelletjes
• FDA-goedgekeurd, levens•
•
•
•
•
•
•
kritische system
Satteliet software
Websites
Handheld software
Mobiele telefoon
Network switching applicaties
ISV applicaties
Enkele van de grootste applicaties
in gebruik
Sequentieel ipv
overlappende ontwikkeling
Requirements
Design
Code
Test
In plaats van alles van één
ding ineens...
…doet een Scrum team
steeds een beetje van alles
Bron: “The New New Product Development Game” door Takeuchi en
Nonaka. Harvard Business Review, january 1986.
Alles tegelijktijd
Afbeelding beschikbaar op
www.mountaingoatsoftware.com/scrum
Sprints
•
•
•
•
Scrum projecten maken voortgang in een serie
van “sprints”
Typische lenge is 2–4 weken of maximaal een
kalender maand
Constante lengte levert beter ritme op
Ontwerpen, coderen en testen gedurende de
sprint
Geen veranderingen in een Sprint
Verandering
•
Bepaal de sprint lengte aan de hand van
hoelang je verandering buiten kan houden
Scrum framework
Rollen
•Product owner
•ScrumMaster
•Team
Ceremoniëel
•Sprint planning
•Sprint review
•Sprint retrospective
•Daily scrum meeting
Artifacten
•Product backlog
•Sprint backlog
•Burndown charts
Scrum framework
Rollen
•Product owner
•ScrumMaster
•Team
Ceremoniëel
•Sprint planning
•Sprint review
•Sprint retrospective
•Daily scrum meeting
Artifacts
•Product backlog
•Sprint backlog
•Burndown charts
Product owner
•
•
•
•
•
•
Bepaalt de functionaliteit van het product
Bepaalt de einddatum en inhoud
Is verantwoordelijk voor de winstgevendheid
(Return On Investment)
Prioriteiten functionaliteit in volgorde van
klant(markt)waarde
Functionaliteit en prioriteit kunnen elke sprint
naar behoefte worden aangepast
Accepteert het uiteindelijke resultaat (of niet)
De ScrumMaster
•
•
•
•
•
•
Geen projectmanager, maar procesbegeleider
Linking-pin management en projectgroep
Verantwoordelijk voor de toepassing van Scrum
waarden en normen
Organiseert oplossingen voor hindernissen
Zorgt voor optimale productiviteit van het team en
samenwerking tussen de verschillende
disciplines en rollen
Schermt het team af voor verstoringen van buiten
het team
Het team
•
•
•
•
•
Gebruikelijk 5-9 personen
Multi-disciplinair: programmeurs, testers,
interactie ontwerpers, etc.
Leden zouden fulltime toegekend moeten zijn
• Enkele uitzonderingen (bijv., database
beheerder)
Teams organiseren zichzelf, in het ideale
helemaal geen titels
Leden wisselen alleen tussentijds sprints
Scrum framework
Rollen
•Product owner
•ScrumMaster
•Team
Ceremoniëel
•Sprint planning
•Sprint review
•Sprint retrospective
•Daily scrum meeting
Artifacts
•Product backlog
•Sprint backlog
•Burndown charts
Team
capaciteit
Sprint planning meeting
Sprint prioriteiten bepalen
Product
backlog
Markt
condities
•
•
•
•
Technologie
Sprint
doel
Sprint planning
•
Huidig
product
Analyseer en evalueer product
backlog
Bepaal sprint doel
Bepaal hoe sprint doel te halen
(design)
Maak sprint backlog ( (user stories
/ features)
Schat sprint backlog in uren of
story points in
Sprint
backlog
Sprint planning
•
•
•
Het team selecteert de items van de product
backlog waar ze zich aan durven te commiteren
De Sprint backlog wordt aangemaakt
•
•
Taken worden bepaald en ingeschat (1-16 uren)
Samenwerkend, niet exclusief door de ScrumMaster
Vaststellen van de Definition of Done
Als vakantie planner wil
ik in staat zijn om foto's
van de hotels te
bekijken.
Implementeren logica (8 uren)
Implementatie gebruikers interface
(4)
Schrijf de test code (4)
Code Foo class (6)
Werk de performance tests bij (4)
De daily scrum
•
•
•
Eigenschappen
• Dagelijks
• Maximaal 15-minuten
• Staand
Niet bedoeld om problemen op te lossen
• Iedereen welkom
• Alleen de team leden, ScrumMaster en de
Product Owner mogen praten
Helpt onnodige andere meetings te voorkomen
Iedereen beantwoordt 3 vragen
Wat heb je gisteren gedaan?
Wat ga je vandaag doen?
Is er een obstakel?
•
1
2
3
Geen status melding voor de ScrumMaster
De sprint review
•
•
•
•
•
Team presenteert wat het bereikt heeft in de
sprint
Vaak een demonstratie van de nieuwe features
of architectuur
Informeel
• 2 uren voorbereidingstijd
• Geen slides
Het hele team doet mee
Iedereen is welkom
Sprint retrospective
•
•
•
•
Neem regelmatig de tijd om te kijken wat wel en
niet werkt
Zoektocht naar steeds beter….
Aan het einde van elke sprint
Het hele team doet mee:
• ScrumMaster
• Product owner
• Team
• Eventueel klanten en anderen
Start / Stop / Voortzetten
•
Het hele team besluit wat ze
zouden willen :
Gaan doen
Stoppen te doen
Dit is slechts
een van vele
manieren om
een
retrospective
te doen
Voortzetten
Scrum framework
Rollen
•Product owner
•ScrumMaster
•Team
Ceremonieël
•Sprint planning
•Sprint review
•Sprint retrospective
•Daily scrum meeting
Artifacten
•Product backlog
•Sprint backlog
•Burndown charts
Product backlog
• Het eisenpakket
• Een lijst van al het gewenste
Dit is de product
backlog
werk
• Idealiter zo uitgedrukt dat
elk item een waarde heeft
voor de gebruikers van het
product
• Geprioriteerd door de
product owner
• Herprioriteren aan het begin
van elke sprint
Voorbeeld product backlog
Het sprint doel
•
Een korte beschrijving van de focus van het
werk gedurende de sprint
Life Sciences
Database Applicatie
Realiseer de functionaliteit om
genetische studies te voorzien van
gegevens.
Behalve op Oracle kan de
applicatie ook draaien op SQL
Financiële diensten
Server.
Lever meer technische
indicatoren dan bedrijf ABC met
realtime data
De sprint backlog
•
•
•
•
•
•
Teamleden zoeken zelf hun werk uit, werk wordt
nooit opgedragen
De inschatting ‘nog te doen’ wordt elke dag
bijgewerkt
Elk teamlid mag aan de sprintlog taken toevoegen,
verwijderen of veranderen
Taken in de sprint komen vanzelf te voorschijn
Voeg een taak toe die later gedetailleerd wordt
voor onduidelijk werk
Werk de hoeveelheid uren bij zodra meer
duidelijkheid is verkregen
Sprint backlog
Hours
Sprint burndown diagram
Schaalbaarheid
•
•
Een team is normaliter 7 ± 2 mensen
•
Schaalbaarheid door teams van teams
Factoren bij schaalbaarheid
•
•
•
•
Type toepassing
Team grootte
Team locatie
Project lengte
Scrum is meerdere keren toegepast op
projecten met 500+ mensen
Schaalbaarheid door
Scrum van Scrums
En waarheen nu...
•
•
•
•
www.mountaingoatsoftware.com/scrum
www.scrumalliance.org
www.controlchaos.com
[email protected]
Contact
Bron:
Mountain Goat Software, LLC
Auteur: Mike Cohn
Jan Thielen
Gecertificeerd
Scrum master
06 – 28277893
[email protected]
www.jtinbedrijf.nl
[email protected]
www.mountaingoatsoftware.com
Download