39
Scrum: een introductie Jan Thielen 4 augustus 2011

Scrum: een introductie

  • Upload
    peri

  • View
    79

  • Download
    1

Embed Size (px)

DESCRIPTION

Scrum: een introductie. Jan Thielen 4 augustus 2011. Ruis in een project. Vrijwel geen overeenstemming. Anarchie. Complex. Eisenpakket. Gecompliceerd. - PowerPoint PPT Presentation

Citation preview

Page 1: Scrum:  een introductie

Scrum: een introductie

Jan Thielen4 augustus 2011

Page 2: Scrum:  een introductie

Ruis in een project

Simple

ComplexAnarchie

Gecompliceerd

Technologie

Eise

npak

ket

Vrijwel geen overeenstemming

Duidelijke overenstemming

Vrij

wel

zek

er

Zeer

onz

eker

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

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

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

Het Agile Manifesto–een verklaring van waarden Processen and hulpmiddelen

Personen en hun interacties

gaan voor

Vasthouden aan een plan

Reageren op veranderingen

gaat voor

Bron: www.agilemanifesto.org

Uitgebreide documentatieWerkende software gaat

voor

Contract onderhandelingen

Samenwerking met de klant

gaat voor

Page 6: Scrum:  een introductie

•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

• 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

•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

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

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

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

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

Alles tegelijktijd

Afbeelding beschikbaar op www.mountaingoatsoftware.com/scrum

Page 14: Scrum:  een introductie

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

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

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

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

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

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

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

•Product owner•ScrumMaster•Team

RollenScrum framework

•Product backlog•Sprint backlog•Burndown charts

Artifacts

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

Ceremoniëel

Page 22: Scrum:  een introductie

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

Sprintdoel

Sprintbacklog

Markt condities

Team capaciteit

Product backlog

Techno-logie

Huidig product

Page 23: Scrum:  een introductie

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)

Page 24: Scrum:  een introductie

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

Iedereen beantwoordt 3 vragen

• Geen status melding voor de ScrumMaster

Wat heb je gisteren gedaan? 1

Wat ga je vandaag doen? 2

Is er een obstakel? 3

Page 26: Scrum:  een introductie

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

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

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

zouden willen :

Gaan doen

Stoppen te doen

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

Page 29: Scrum:  een introductie

•Product owner•ScrumMaster•Team

RollenScrum framework

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

Ceremonieël

•Product backlog•Sprint backlog•Burndown charts

Artifacten

Page 30: Scrum:  een introductie

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

backlog

Page 31: Scrum:  een introductie

Voorbeeld product backlog

Page 32: Scrum:  een introductie

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

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

Sprint backlog

Page 35: Scrum:  een introductie

Sprint burndown diagram

Hou

rs

Page 36: Scrum:  een introductie

Schaalbaarheid• Een team is normaliter 7 ± 2 mensen

• Schaalbaarheid door teams van teams• Factoren bij schaalbaarheid

• Type toepassing• Team grootte• Team locatie• Project lengteScrum is meerdere keren toegepast op

projecten met 500+ mensen

Page 37: Scrum:  een introductie

Schaalbaarheid door Scrum van Scrums

Page 38: Scrum:  een introductie

En waarheen nu...• www.mountaingoatsoftware.com/scrum• www.scrumalliance.org• www.controlchaos.com• [email protected]

Page 39: Scrum:  een introductie

Contact Bron:Mountain Goat Software, LLC

Auteur: Mike [email protected]

Jan ThielenGecertificeerd Scrum master

06 – [email protected]

www.jtinbedrijf.nl