scrum: een introductie jan thielen 4 augustus 2011

Post on 24-May-2015

215 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Scrum: een introductie

Jan Thielen4 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.

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"

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.

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

•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

• 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

•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

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

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

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

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

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

Verandering

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

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

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

•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

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

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)

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

• 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

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 doenGaan doen

Stoppen te doenStoppen te doen

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

•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

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

Voorbeeld product backlog

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.

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

Sprint burndown diagram

Hou

rs

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

• scrumdevelopment@yahoogroups.com

Contact Bron:Mountain Goat Software, LLC

Auteur: Mike Cohn

mike@mountaingoatsoftware.com

www.mountaingoatsoftware.comJan Thielen

Gecertificeerd Scrum master

06 – 28277893j.thielen@kpnmail.nl

www.jtinbedrijf.nl

top related