scrum: een introductie jan thielen 4 augustus 2011

39
Scrum: een introductie Jan Thielen 4 augustus 2011

Upload: tobias-verbeke

Post on 24-May-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Scrum: een introductie Jan Thielen 4 augustus 2011

Scrum: een introductie

Jan Thielen4 augustus 2011

Page 2: Scrum: een introductie Jan Thielen 4 augustus 2011

Ruis in een project

Simple

ComplexAnarchie

Gecompliceerd

Technologie

Eis

enpa

kket

Vrijwel geen overeenstemming

Duidelijke overenstemming

Vri

jwel

zek

er

Zee

r on

zeke

r

Source: Strategic Management and Organizational Dynamics by Ralph Stacey in Agile Software Development with Scrum by Ken Schwaber and Mike Beedle.

Page 3: Scrum: een introductie Jan Thielen 4 augustus 2011

We verliezen de estafette

Hirotaka Takeuchi and Ikujiro Nonaka, “The New New Product Development Game”, Harvard Business Review, januari januari 1986.

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"

Page 4: Scrum: een introductie Jan Thielen 4 augustus 2011

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 agile-projectmethodologie.

Page 5: Scrum: een introductie Jan Thielen 4 augustus 2011

Het Agile Manifesto–een verklaring van waarden Processen and

hulpmiddelenProcessen and hulpmiddelen

Personen en hun interactiesPersonen en hun interacties

gaan voor

Vasthouden aan een planVasthouden aan een plan

Reageren op veranderingenReageren op veranderingen

gaat voor

Bron: www.agilemanifesto.org

Uitgebreide documentatieUitgebreide documentatieWerkende softwareWerkende software gaat

voor

Contract onderhandelingenContract onderhandelingen

Samenwerking met de klantSamenwerking met de klant

gaat voor

Page 6: Scrum: een introductie Jan Thielen 4 augustus 2011

•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.

Scrum in het kort

Page 7: Scrum: een introductie Jan Thielen 4 augustus 2011

• 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.

Voordelen van scrum

Page 8: Scrum: een introductie Jan Thielen 4 augustus 2011

•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.

Optimaal Scrum

Page 9: Scrum: een introductie Jan Thielen 4 augustus 2011

Scrum origins• Jeff Sutherland

• Initiële toepassing bij Easel Corp in 1993• 500+ mensen doen Scrum

• Ken Schwaber• 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

Page 10: Scrum: een introductie Jan Thielen 4 augustus 2011

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é

Page 11: Scrum: een introductie Jan Thielen 4 augustus 2011

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

Page 12: Scrum: een introductie Jan Thielen 4 augustus 2011

Sequentieel ipv overlappende ontwikkeling

Bron: “The New New Product Development Game” door Takeuchi en Nonaka. Harvard Business Review, january 1986.

In plaats van alles van één ding ineens...

…doet een Scrum team steeds een beetje van alles

Requirements Design Code Test

Page 13: Scrum: een introductie Jan Thielen 4 augustus 2011

Alles tegelijktijd

Afbeelding beschikbaar op www.mountaingoatsoftware.com/scrum

Page 14: Scrum: een introductie Jan Thielen 4 augustus 2011

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

Page 15: Scrum: een introductie Jan Thielen 4 augustus 2011

Geen veranderingen in een Sprint

• Bepaal de sprint lengte aan de hand van hoelang je verandering buiten kan houden

Verandering

Page 16: Scrum: een introductie Jan Thielen 4 augustus 2011

Scrum framework•Product owner•ScrumMaster•Team

Rollen

•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting

Ceremoniëel

•Product backlog•Sprint backlog•Burndown charts

Artifacten

Page 17: Scrum: een introductie Jan Thielen 4 augustus 2011

Scrum framework

•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting

Ceremoniëel

•Product backlog•Sprint backlog•Burndown charts

Artifacts

•Product owner•ScrumMaster•Team

Rollen

Page 18: Scrum: een introductie Jan Thielen 4 augustus 2011

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)

Page 19: Scrum: een introductie Jan Thielen 4 augustus 2011

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

Page 20: Scrum: een introductie Jan Thielen 4 augustus 2011

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

Page 21: Scrum: een introductie Jan Thielen 4 augustus 2011

•Product owner•ScrumMaster•Team

Rollen

Scrum framework

•Product backlog•Sprint backlog•Burndown charts

Artifacts

•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting

Ceremoniëel

Page 22: Scrum: een introductie Jan Thielen 4 augustus 2011

Sprint planning meeting

Sprint prioriteiten bepalen

• Analyseer en evalueer product backlog

• Bepaal sprint doel

Sprint planning

• Bepaal hoe sprint doel te halen (design)

• Maak sprint backlog ( (user stories / features)

• Schat sprint backlog in uren of story points in

SprintdoelSprintdoel

SprintbacklogSprintbacklog

Markt conditiesMarkt condities

Team capaciteitTeam capaciteit

Product backlogProduct backlog

Techno-logieTechno-logie

Huidig productHuidig product

Page 23: Scrum: een introductie Jan Thielen 4 augustus 2011

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.

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)

Page 24: Scrum: een introductie Jan Thielen 4 augustus 2011

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

Page 25: Scrum: een introductie Jan Thielen 4 augustus 2011

Iedereen beantwoordt 3 vragen

• Geen status melding voor de ScrumMaster

Wat heb je gisteren gedaan?Wat heb je gisteren gedaan?1

Wat ga je vandaag doen?Wat ga je vandaag doen?2

Is er een obstakel?Is er een obstakel?3

Page 26: Scrum: een introductie Jan Thielen 4 augustus 2011

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

Page 27: Scrum: een introductie Jan Thielen 4 augustus 2011

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

Page 28: Scrum: een introductie Jan Thielen 4 augustus 2011

Start / Stop / Voortzetten• Het hele team besluit wat ze

zouden willen :

Gaan doenGaan doen

Stoppen te doenStoppen te doen

VoortzettenVoortzettenDit is slechts een van vele manieren om een retrospective te doen

Page 29: Scrum: een introductie Jan Thielen 4 augustus 2011

•Product owner•ScrumMaster•Team

Rollen

Scrum framework

•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting

Ceremonieël

•Product backlog•Sprint backlog•Burndown charts

Artifacten

Page 30: Scrum: een introductie Jan Thielen 4 augustus 2011

Product backlog• Het eisenpakket• Een lijst van al het

gewenste 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 sprintDit is de product

backlogDit is de product backlog

Page 31: Scrum: een introductie Jan Thielen 4 augustus 2011

Voorbeeld product backlog

Page 32: Scrum: een introductie Jan Thielen 4 augustus 2011

Het sprint doel• Een korte beschrijving van de focus van

het werk gedurende de sprint

Database Applicatie

Financiële diensten

Life Sciences

Realiseer de functionaliteit om genetische studies te voorzien van gegevens.

Lever meer technische indicatoren dan bedrijf ABC met realtime data

Behalve op Oracle kan de applicatie ook draaien op SQL Server.

Page 33: Scrum: een introductie Jan Thielen 4 augustus 2011

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

Page 34: Scrum: een introductie Jan Thielen 4 augustus 2011

Sprint backlog

Page 35: Scrum: een introductie Jan Thielen 4 augustus 2011

Sprint burndown diagram

Hou

rs

Page 36: Scrum: een introductie Jan Thielen 4 augustus 2011

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

Page 37: Scrum: een introductie Jan Thielen 4 augustus 2011

Schaalbaarheid door Scrum van Scrums

Page 38: Scrum: een introductie Jan Thielen 4 augustus 2011

En waarheen nu...• www.mountaingoatsoftware.com/scrum

• www.scrumalliance.org

• www.controlchaos.com

[email protected]

Page 39: Scrum: een introductie Jan Thielen 4 augustus 2011

Contact Bron:Mountain Goat Software, LLC

Auteur: Mike Cohn

[email protected]

www.mountaingoatsoftware.comJan Thielen

Gecertificeerd Scrum master

06 – [email protected]

www.jtinbedrijf.nl