Kennismaking

met

SCRUM

De oorsprong van Scrum

  • Jeff Sutherland
    • Initiële toepassing bij Easel Corp in 1993
    • 500+ mensen doen Scrum
  • Ken Schwaber
    • Auteur van drie Scrum boeken
  • Mike Beedle
  • Ken Schwaber en Mike Cohn
    • Oprichters Scrum Alliance in 2002, initieel binnen de Agile Alliance

Scrum in het kort

  • Scrum is een agile proces, welke het mogelijk maakt ons te focussen op het leveren van het beste resultaat in de kortst mogelijke tijd.
  • Het maakt het ons mogelijk om snel en herhaaldelijk echt werkende software te bekijken (na een sprint van twee weken tot één maand)
  • De business bepaalt de prioriteiten. Teams organiseren zichzelf om de beste manier te bepalen om functies met de hoogste prioriteit op te leveren
  • Iedereen kan na elke sprint echt werkende software zien en besluiten het vrij te geven of door te gaan met uitbreidingen in een volgende sprint.

Scrum is toegepast door:

Microsoft
Yahoo
Google
Electronic Arts
Lockheed Martin
Philips
Siemens
Nokia
IBM
Capital One
BBC

Salesforce.com

Scrum is toegepast voor:

Commerciële software
In-house ontwikkeling
Contract ontwikkeling
Fixed-price projecten
Financiële applicaties
Embedded systemen
24x7 systemen met 99.999% uptime vereisten
De Joint Strike Fighter
Computer spelletjes
Websites
Handheld software
Mobiele telefoons
Network switching applicaties
Enkele van de grootste applicaties in gebruik

Karakteristieken

  • Zelf-organiserende teams
  • Productvoortgang in een serie van “sprints” 
  • Vereisten worden bijgehouden als lijst van items in de “product backlog”
  • Geen voorgeschreven technische oplossingen
  • Gebruikt algemene regels om een “agile omgeving” voor opleveringen te creëren
  • Eén van de “agile processen”

The Agile Manifesto–een overzicht van ‘waarden’

Alles bij elkaar

Sprints

  • Scrum projecten maken voortgang in een serie van “sprints”
    • Analoog aan de Extreme Programming iteraties
  • Typische lengte is 2–4 weken of maximaal een kalender maand
  • Constante duur levert beter ritme op
  • Ontwerpen, coderen en testen gedurende de sprint

Geen wijzigingen tijdens een sprint!

Plan de duur van een sprint zodanig, dat u het zich kunt veroorloven wijzigingen af te houden

Product eigenaar

  • Bepaalt de functionaliteit van het product
  • Bepaalt de einddatum en inhoud
  • Is verantwoordelijk voor de winstgevendheid (ROI)
  • Prioriteert functionaliteit in volgorde van marktwaarde
  • Functionaliteit en prioriteit kunnen, naar behoefte, elke iteratie worden aangepast
  • Accepteert het uiteindelijke resultaat (of niet)

De ScrumMaster

  • Verantwoordelijk voor de toepassing van Scrum waarden en normen
  • Verwijdert belemmeringen
  • Zorgt voor optimale productiviteit van het team
  • Zorgt voor samenwerking tussen de verschillende disciplines en rollen
  • Schermt het team af van verstoringen van buiten

Het team

  • Meestal 5-9 personen
  • Evenredige bezetting:
    • Programmeurs, testers, ervaringsdeskundige ontwerpers, etc.
  • Leden (bij voorkeur) full-time inzetbaar
    • Uitzonderingen daargelaten (zoals database administrator)
  • Teams zijn zelf-organizerend
    • Idealiter, geen titels doch mogelijkheden
  • Deelname mag alleen wijzigen tussen 2 sprints

Sprint planning

  • Team selecteert items van de product backlog welke zeker kunnen worden gerealiseerd
    • Sprint backlog wordt gemaakt
    • Taken worden onderkend en elke taak wordt begroot
      (1-16 uur)
  • Gezamenlijk, niet alleen door de ScrumMaster

De dagelijkse scrum

  • Eigenschappen
    • Dagelijks
    • Maximaal 15-minuten staand
    • Niet bedoeld om problemen op te lossen
  • Iedereen welkom
    • Alleen de teamleden, ScrumMaster en de product eigenaar mogen praten
  • Helpt onnodige andere meetings te voorkomen

Iedereen beantwoord 3 vragen

  • Dit is geen statusrapport voor de ScrumMaster
  • Dit zijn afspraken tussen gelijken

De sprint review

  • Team presenteert wat het heeft bereikt tijdens de sprint
  • Vaak een demonstratie van de nieuwe eigenschappen of architectuur
  • Informeel
    • Summiere voorbereidingstijd
    • Geen slides
  • Het hele team doet mee
  • Iedereen is welkom

Sprint evaluatie

  • Neem regelmatig de tijd om te kijken wat wel en niet werkt
  • Normaal tussen de 15 tot 30 minuten
  • Aan het einde van elke sprint
  • Het hele team doet mee:
    • ScrumMaster
    • Product eigenaar
    • Team
    • Eventueel klanten en anderen

Starten / Stoppen / Doorgaan

Hele team komt bijeen en discussieert over waarmee ze zouden willen:

Product backlog

  • Het eisenpakket
  • Een lijst van al het gewenste werk
  • Uitgewerkt in 'User Stories'
  • Idealiter zo uitgedrukt dat elk item een waarde heeft voor de gebruikers van het product
  • Geprioriteerd door de product eigenaar
  • Herprioritering aan het begin van elke sprint

Voorbeeld product backlog

User stories

  • Representeren requirements verteld vanuit het gezichtspunt van de gebruikers 
  • User stories geven de business values en de behoeften van de gebruikers weer en zijn in de terminologie van de business geformuleerd
  • User stories worden in korte eenvoudige zinnen beschreven
  • Als een <type gebruiker> wil ik <iets doen> zodat ik <er iets aan heb>

Voorbeelden van User stories

  • Als marketingmanager wil ik de resultaten van oude advertentiecampagnes kunnen zien zodat ik kan besluiten welke campagnes ik wil herhalen
     
  • Als een geregistreerde gebruiker, wil ik een nieuw wachtwoord kunnen aanvragen zodat ik weer toegang kan krijgen als ik mijn wachtwoord vergeten ben.
     
  • Als student wil ik mijn cijfers online bekijken zodat ik sneller weet of ik het examen heb gehaald.

De sprint backlog

  • Teamleden zoeken zelf hun werk uit
    • Werk wordt nooit opgedragen
  • De inschatting van resterende taken wordt elke dag bijgewerkt
  • Elk teamlid mag aan de sprint backlog taken toevoegen, verwijderen of wijzigen
  • Taken in de sprint komen vanzelf te voorschijn
  • Voor onduidelijk werk, voeg een taak toe die later wordt gedetailleerd
  • Werk de resterende taken bij, zodra meer duidelijkheid is verkregen

Voorbeeld van een sprint backlog

De Sprint burndown (1)

De Sprint burndown (2)

Schaalbaarheid van SCRUM teams

  • Een team is normaliter 7 ± 2 mensen
    • Schaalbaarheid door teams van teams
  • Factoren bij inschalen
    • Type toepassing
    • Teamgrootte
    • Teamsamenstelling
    • Projectduur
    • Scrum is meerdere keren toegepast op projecten met 500+ mensen

Opschalen van SCRUM naar SCRUMS (1)

Opschalen van SCRUM naar SCRUMS (2)

Video SCRUM in 10 minuten

Einde presentatie Kennismaking

met

SCRUM

Contact:

E. kees@tim-online.nl 

T.+31 115-851851

SCRUM

By Kees Zorge

SCRUM

  • 1,377