Menu

Scrum

rdb Richard de Boer heeft dit geschreven in augustus 2014

Deze whitepaper gaat over Scrum. Kort en bondig: Scrum is een software-ontwikkelmethode met vaste sprints van enkele weken waarin steeds een verbeterde versie van het eindproduct wordt opgeleverd. Scrum wint meer en meer aan populairiteit. Ook bij Oberon zijn we aan het scrummen.


Nu zijn er natuurlijk boeken vol geschreven over de Scrum-methode en het toepassen ervan maar we gaan er vanuit dat je geen tijd hebt om dat allemaal te lezen. Daarom in deze white paper in 5 minuten: Wat is het? Wat heb je er aan als opdrachtgever? En waarom is dat zo interessant?

Hierbij alvast het korte antwoord:

Scrum levert een beter product op in minder tijd.

Scrum in het kort

De traditionele manier van software-ontwikkeling is het watervalmodel. In het watervalmodel worden de verschillende onderdelen (UX, design, ontwikkeling, testen) na elkaar gedaan. Dit maakt dat het in elke fase heel duidelijk is wat er moet gebeuren maar dat tussentijdse aanpassingen heel lastig te realiseren zijn. Scrum daarentegen, is een agile-ontwikkelmethode. Eén van de kenmerken van agile is dat het werkt met korte iteraties. Elke iteratie is als het ware een klein project op zichzelf en omvat alle noodzakelijke taken: planning, design, ontwikkeling en testen. Bij Scrum heten die iteraties sprints. Wat wij belangrijk vinden bij Scrum is dat het team bij elkaar zit en dat de opdrachtgever, de product owner, er bij zit. Scrum levert hiermee een eindproduct dat eerder klaar is en beter aansluit bij de wensen van de opdrachtgever.

"Scrum zorgt voor de terugkeer van gezond verstand"

User stories en backlog

In Scrum wordt het werk opgedeeld in user stories. Een user story is bijvoorbeeld: "de gebruiker moet kunnen inloggen met zijn Facebook account" of "de gebruiker moet zijn laatste factuur kunnen vinden en kunnen downloaden". Een user story wordt vervolgens opgedeeld in taken. Dit zijn losse eenheden van werk die een individueel teamlid kan oppakken. Alle user stories van het project bij elkaar heet de product backlog.

Timing en meetings

Een Scrum-traject bestaat uit 'sprints' die ieder één tot vier weken duren. Elke sprint begint met een sprint-planning waarin de product owner samen met het ontwikkelteam bepaalt welke stories uit de product backlog deze sprint worden opgepakt.

Een sprint heeft een strikte begin- en einddatum; daar kan niet vanaf worden geweken. Als het werk binnen een sprint uitloopt, zullen er één of meer minder belangrijke user stories moeten afvallen.

Het team start dagelijks met een 'daily Scrum'; een stand-up meeting van maximaal 15 minuten waarin ieder teamlid vertelt wat hij heeft gedaan, wat hij gaat doen en welke problemen hij tegenaan loopt.

Elke sprint eindigt met een demo waarin de stakeholders (iedereen die een belang heeft in het project) kunnen zien wat er is bereikt en kunnen aangeven wat ze belangrijk vinden voor de volgende sprint.

Hierbij het scrumtraject nog even schematisch:

 

Het team

Een Scrum team bestaat uit:

  • De product owner. Dit is de opdrachtgever zelf of iemand die haar vertegenwoordigt. De product owner is de eindverantwoordelijke voor wat het opgeleverde product kan/doet/is.
  • Een multidisciplinair ontwikkelteam van maximaal negen personen (aanbeveling). Dit is een zelfsturend team en heeft dus geen interne hiërarchie.
  • De Scrum master. Deze heeft in eerste instantie geen inhoudelijke rol. Hij begeleidt het team bij de Scrum-methode, zit de meetings voor en zorgt vooral voor het wegnemen van obstakels.

Het Scrum board

In Scrum wordt de voortgang van de sprint bijgebouden op het Scrum board. Dit kan een groot bord zijn, een stuk muur of een glaswand; alles waar je Post-it notes op kan plakken.

Horizontaal lopen de user stories. Elke taak die onder een user story valt, heeft een eigen Post-It. De taken van een user story staan op één lijn.

Verticaal is het bord opgedeeld in een aantal vakken. Vaak zijn dit: Te doen, Mee bezig en Gedaan. De teamleden pakken steeds een briefje op waarmee ze aan de gang gaan, en hangen het in de volgende fase zodra ze ermee klaar zijn. Zo heeft het hele team voordurend zicht op de voortgang. Testen gebeurt over het algemeen per story in z'n geheel. Wij hangen vaak 'testen' als extra taak-briefje op het bord zodat dat ook in het proces mee gaat.

Voordelen voor de opdrachtgever

Scrum heeft voor de opdrachtgever een aantal grote voordelen:

  1. De personen verantwoordelijk voor de diverse onderdelen zoals design, development en copywriting zitten bij elkaar en de opdrachtgever (in de persoon van de product owner) zit daar ook bij. Dat voorkomt overhead en daarmee is het project eerder klaar.
  2. Korte sprints en het geregeld herordenen van de prioriteiten in de backlog zorgen voor constante focus op wat echt belangrijk is.
  3. Toewijding van het team op één project zorgt voor sneller en efficiënter werken.
  4. Aan het eind van het geplande traject en budget is er een bruikbaar product.

Deze vier voordelen zorgen ervoor dat een scrumproject veel sneller klaar is dan een project dat volgens het traditionele watervalmodel wordt uitgevoerd. Met als resultaat: een kortere time-to-market. Andere voordelen zijn:

  1. Omdat de opdrachtgever (weer in de persoon van de product owner) zelf veel bij het team aanwezig is, heeft hij veel meer invloed op wat er gemaakt wordt.
  2. De demo na elke sprint zorgt ervoor dat alle stakeholders goed inzicht hebben op de voortgang en ook kunnen bijsturen. Dat is de agile filosofie.

E en F zorgen ervoor dat de opdrachtgever veel meer controle heeft over het eindproduct.

"Scrum betekent inspringen op veranderingen in plaats van het volgen van een plan"

Wanneer niet scrummen?

Ondanks alle voordelen zijn er toch een paar situaties waarin Scrum niet de meest geschikte methode is. Bijvoorbeeld bij kleine projecten. Voor projecten die maar één of twee sprints duren of voor projecten waar minder dan drie man aan werken, is het vaak niet de moeite om een heel Scrum-traject op te tuigen.

Belangrijker nog, is dat niet alle organisaties de snelheid van een Scrum team aan kunnen. Scrum is een stoomwals, misschien wel een sneltrein. Je moet als opdrachtgever in staat zijn om snel de benodigde beslissingen te nemen en ook om snel de juiste content beschikbaar te hebben. Als dat niet lukt, loopt het traject spaak want de scrumtrein dendert voort. Soms is het handig om eerst een uitgebreid traject te doen waarin veel denkwerk wordt gedaan plus het regelen van de juiste input vanuit de organisatie. Het Scrum team gaat hierbij pas uit de startblokken als dit voortraject is afgerond.

Conclusie

Scrum is een methode waarbij er heel snel en efficiënt ontwikkeld kan worden. Dit bespaart tijd en geld. Wel is het essentieel dat alle partijen achter de Scrum-methode staan en hier actief aan bijdragen. Als dat lukt, resulteert Scrum in een beter eindproduct, dat veel eerder klaar is.

rdb

Richard de Boer

STRATEGY

E-mail:
Telefoon:

“We maken samen met onze klanten betere online producten, zowel voor het web als in mobiele apps”

Meer informatie op Oberon.nl