410 likes | 539 Views
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:
E N D
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 Onderzoekgestart in1994 Ruim 35,000 software development projectenbekeken In 2000: Source: Standish “Chaos” Report, Jim Johnson lecture at XP2002 conference: http://www.xp2003.org/xp2002/talksinfo/johnson.pdf
Functiesgebruikt in eentypischsysteem Source: Jim Johnson lecture at XP2002 conference
Waarommislukken IT projecten? Aannames Gewijzigdeprioriteiten Gebrekaansamenwerking Omgevingwijzigt Beperkingen in communicatie Probleem is nietduidelijk Oplossing is onbekend Technischebeperkingen …
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
Prioriterenop waarde Voorspelbaarheid Feedback Fun Scrum =
Scrum overview Scrum bord Burndown Belemmeringen 3 2 1 Dagelijkse update 13 8 5 40 20 100 3 wekelijkse sprint Sprint Demo & retrospective Sprintplanning Productbacklog Shipable product Sprint backlog D.O.R. D.O.D.
Scrum overview • 4 artifacten • Product backlog • Sprint backlog • Burndown • Definition of Done • Scrumguide (scrum.org) • 3 rollen • Team • Product owner • Scrummaster • 4 gebeurtenissen • Sprintplanning • Daily scrum • Sprint demo/review • Sprint retrospective
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)
Geschrevenspecificaties • Maak 2-tallen (Analist en Developer) • Developers gaan de zaaluit • Analistenmaken in 5 minutengeschrevenspecificaties • Analistgeeft specs aan Developer zondertespreken • Developer krijgt 5 minutenom de specs terealiseren
Product backlog = userstory Sprint 1 Sprint 2 Schatting Done bijeen Velocity van X Schatting Done bijeen velocity van Y
Userstory Userstory: As a <role> I want to <what> So that <why> +/- requirement Notes: e.g. ref to wireframe, non-functional requirement etc. Zougekoppeldkunnenwordenaantestscenario’s en testscripts How to demo / how to test: <as smart as possible> Estimate <story-points>
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 ennormen • 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” (zieook YouTube) Eenaantalbiologischefeiten: • Het is voor het menselijkbreinmoeilijktijd in teschatten, zekerals het meerdaneenaantaluur is. • Ditwordtuitvergroot door de hoeveelheidonzekerheden in software development, drukvanuit management verschil in skills van het team, … • Echter, we zijnredelijkgoed in het vergelijken van dingen. Datkunnen we vrijaccuraat.
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éénreferentie user storyeenaantalstory pointstegeven en vervolgensandere user stories, puntentegevenrelatieft.o.v. de referentie. • Voordeel: snel en gezamenlijk.
Planning poker • Simpele en effectievemethode die als team uitgevoerdkanworden • Zorgtvoorinteractietussenalle team leden en product owner • Snelachterhalen van de daadwerkelijkeopdracht. • Zorgtvooreengedragenschatting van het gehele team. • Regels: • Productowner leest user story voor en geeft toelichting • Vragen stellen/discussie over de userstory • Iedereen trekt een kaart en legt hem omgekeerd neer • Alle kaarten worden tegelijk omgedraaid • Alle schattingen gelijk -> Volgende userstory • Schattingen ongelijk -> hoogste en laagste geven toelichting, daarna opnieuw naar 3 (zolang het nodig is).
Storypointsvertaaldnaar planning • De velocity is het aantalstorypointshet team kanafronden in de gegeventijd (sprint). • Het team kanhaar velocity pas bepalennaeenaantal sprints (4+).
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)