SCRUM workshop. Introductie Ze zeggen dat dit de manier is. Laten we het maar gewoon doen... Leuk,...

Post on 24-May-2015

215 views 0 download

Transcript of SCRUM workshop. Introductie Ze zeggen dat dit de manier is. Laten we het maar gewoon doen... Leuk,...

SCRUM workshop

Introductie

Ze zeggen dat dit de manier is. Laten we het maar gewoon doen...

Leuk, maar wie is verantwoordelijk

voor de

deployment?

The Problem: The Chaos Report· Onderzoek gestart in1994· Ruim 35,000 software development projecten bekeken· In 2000:

Source: Standish “Chaos” Report, Jim Johnson lecture at XP2002 conference: http://www.xp2003.org/xp2002/talksinfo/johnson.pdf

Functies gebruikt in een typisch systeem

Source: Jim Johnson lecture at XP2002 conference

Rarely19%

Always7%

Sometimes16%

Never45%

Often13%

Waarom mislukken IT projecten?

· Aannames· Gewijzigde prioriteiten· Gebrek aan samenwerking· Omgeving wijzigt· Beperkingen in communicatie· Probleem is niet duidelijk· Oplossing is onbekend· Technische beperkingen· …

Bron: http://agilemanifesto.org/iso/nl/

Waterfall vs Agile

Coingame

Wat is Scrum

Wat is Scrum

· Ontwikkelt in’90 – ’96 door Ken Schwaber & Jeff Sutherland· Simpel en populair framework · Youtube: Jeff Sutherland breaks down the structure of scrum

· Prioriteren op waarde· Voorspelbaarheid· Feedback· Fun

Scrum =

Scrum overview

Productbacklog

Sprint backlog

3 wekelijkse sprint

Sprint Demo& retrospective

Scrum bord Burndown Belemmeringen

Shipable product

Sprintplanning

D.O.R. D.O.D.

100

20

40

12

3

58

13

Dagelijkse update

Scrum overview

· 3 rollen Team Product owner Scrummaster

· 4 gebeurtenissen Sprintplanning Daily scrum Sprint demo/review Sprint retrospective

· 4 artifacten Product backlog Sprint backlog Burndown Definition of Done

· Scrumguide (scrum.org)

Scrum Board

Teamwork

3 rollen

Productowner

Team

Scrummaster

Productowner

· Bepaalt de functionaliteit van het product· Bepaalt de einddatum en inhoud· Is verantwoordelijk voor de winstgevendheid (ROI)· Bepaalt functionaliteit en prioriteit in volgorde van

marktwaarde· Functionaliteit en prioriteit kunnen elke iteratie aangepast

worden, naar behoefte· Accepteert het uiteindelijke resultaat (of niet)

Geschreven specificaties

· Maak 2-tallen (Analist en Developer)· Developers gaan de zaal uit· Analisten maken in 5 minuten geschreven

specificaties· Analist geeft specs aan Developer zonder te spreken· Developer krijgt 5 minuten om de specs te realiseren

Geschreven specificaties

Product backlog

Sprint 1

Sprint 2

Schatting Done bij een Velocity van X

Schatting Done bij een velocity van Y

= userstory

Userstory

Userstory:As a <role>I want to <what>So that <why>

Notes:e.g. ref to wireframe, non-functional requirement etc.

How to demo / how to test:<as smart as possible>

Estimate

<story-points>

Zou gekoppeld kunnen worden aan testscenario’s en testscripts

+/- requirement

Effective Communication

Scrum team

· Gebruikelijk 5-9 mensen· Multi-disciplinair: Programmeurs, testers, ontwerpers,

etc.· Leden zijn fulltime toegekend· Teams organiseren zichzelf· In het ideale: helemaal geen titels/rollen· Teamindeling is vast· Focus

Scrummaster

· Verantwoordelijk voor de toepassing van Scrum waarden en normen

· Wegnemen van belemmeringen· Zorg voor optimale productiviteit van het team· Zorg voor samenwerking tussen de verschillende

disciplines en rollen· Schermt het team af van verstoringen van buiten het

team

4 Meetings· Sprint planning

· Daily scrum

· Sprint review

· Sprint retrospective

Sprintplanning

Ref Mike Cohn “Agile Estimation and Planning” (zie ook YouTube)

Een aantal biologische feiten:· Het is voor het menselijk brein moeilijk tijd in te

schatten, zeker als het meer dan een aantal uur is.· Dit wordt uitvergroot door de hoeveelheid

onzekerheden in software development, druk vanuit management verschil in skills van het team, …

· Echter, we zijn redelijk goed in het vergelijken van dingen. Dat kunnen we vrij accuraat.

Uren of storypoints

Planning op basis van uren:· Minder dan 1 dag: 1, 2, 4 of 8 uur.· Meer: 2, 3, 5, 10 dagen, 1 maand etc.· Als aan een taak gewerkt is wordt het restant opnieuw

geschat.

Plannen op basis van StoryPoints:· Het idee is om één referentie user story een aantal

story points te geven en vervolgens andere user stories, punten te geven relatief t.o.v. de referentie.

· Voordeel: snel en gezamenlijk.

Planning poker

· Simpele en effectieve methode die als team uitgevoerd kan worden

· Zorgt voor interactie tussen alle team leden en product owner

· Snel achterhalen van de daadwerkelijke opdracht.· Zorgt voor een gedragen schatting van het gehele team.

· Regels:1. Productowner leest user story voor en geeft toelichting2. Vragen stellen/discussie over de userstory3. Iedereen trekt een kaart en legt hem omgekeerd neer4. Alle kaarten worden tegelijk omgedraaid5. Alle schattingen gelijk -> Volgende userstory6. Schattingen ongelijk -> hoogste en laagste geven

toelichting, daarna opnieuw naar 3 (zolang het nodig is).

Storypoints vertaald naar planning· De velocity is het aantal storypoints het team kan

afronden in de gegeven tijd (sprint).

· Het team kan haar velocity pas bepalen na een aantal sprints (4+).

8A 8B 8C 9A 9B 10A 10B 11A 11B0

20

40

60

80

100

120

140

160

Estimate M

Realized M

Samenvatting

· Focus op continue verbeteringen· Snel inspelen op veranderingen· Waarde toevoegen, belangrijkste eerst (backlog)· Timebox (sprint)· 3 rollen (productowner, team, scrummaster)· 4 meetings (planning, daily, demo, retro)

Simplifying Life with SCRUM

Twitter: #intoscrum