Op school heb je tot nu toe een project gemaakt volgens de waterval-methode. De naam zegt het al. De methode lijkt op het beeld van de waterval, waarbij je moeilijk terug kunt. De stappen volgen elkaar op en het proces wordt van boven naar beneden doorlopen. Het werkt met de hoofdstappen: Briefing, onderzoek, concept, ontwerp, realisatie, implementatie.
Voordelen van de waterval methode zijn:
Nadelen:
Scrum is een agilemethode. Het Engelse woord Agile betekent behendig, lenig. De Agile methode is dan ook een aanpak waarin ervan uitgegaan wordt dat de wereld tijdens het project verandert. Scrum probeert deze veranderingen zo goed mogelijk te faciliteren zonder daarbij het projectresultaat uit het oog te verliezen.
Het eindproduct staat vooraf niet volledig vast maar past zich gedurende de periode van de projectuitvoering aan aan de eventueel veranderende omstandigheden of wensen van de klant.
Scrum wordt daarom vaak gebruikt bij producten waarvan de klant of gebruiker nog niet goed weet wat hij wil en waarbij men al doende leert om de eisen en wensen beter te beschrijven en in bruikbare producten om te zetten.
Een korte introductie op scrum:
Bij scrum ken je 3 rollen:
De product owner vertegenwoordigt de klant en alle andere stakeholders. De stakeholders zijn de mensen die belang hebben bij het product, bijvoorbeeld medewerkers in het bedrijf van de klant, klanten en overheid. De product owner is één persoon, geen comité.
De product owner is eigenaar van het product en is verantwoordelijk voor het succes van het product en het maximaliseren van de return on investment (ROI). Hij bepaalt welk product gebouwd wordt en waar de prioriteiten liggen. De product owner heeft dus het stuur in handen. Een goed functionerende product owner is essentieel voor het succes van het project.
De product owner is verantwoordelijk voor de user story's. Hij hoeft niet alles alleen te doen. Hij werkt hiervoor nauw samen het het ontwikkelteam en met de stakeholders. De product owner weet wat er speelt en stemt met alle partijen af zodat hij de juiste beslissingen kan nemen.
De scrummaster begeleidt en helpt het team bij het scrumproces. Een scrummaster regelt alle meetings. Ook is hij verantwoordelijk voor het regelen van de voorzieningen zoals een werkruimte, hardware en software. De scrummaster zorgt ervoor dat het team niet lastig gevallen wordt door mensen die met extra eisen tussendoor komen. De scrummaster is geen projectmanager. Hij regelt bijvoorbeeld niet de personele zaken zoals selectie, beoordeling en beloning van de mensen. Dit bevordert de openheid en samenwerking.
Het ontwikkelteam is multidisciplinair samengesteld en is verantwoordelijk voor het afleveren van het product aan het einde van elke sprint. Het team bestaat meestal uit 3 tot 9 personen. Het team organiseert zichzelf. De teamleden doen de analyse, ontwerp, ontwikkeling, test en documentatie en zorgen dat er aan het eind van de sprint een kant-en-klaar product is, dat in principe in productie genomen kan worden.
Alle user story's en epics vormen samen de product backlog. De scrummaster is verantwoordelijk voor de backlog. Hij kan er user story's uithalen en toevoegen. Dit betekent niet dat al deze urser story's ook uitgevoerd worden. De scrummaster bepaalt ook de prioriteit van de verschillende items in de product backlog.
Samen met het team worden user story's uit de backlog over gebracht naar de sprint backlog. Een sprint is een korte perode waarin een aantal user story's uitgewerkt worden tot een opleverbaar (deel)product. De scrum master brengt de user story's aan en het team beslist hoeveel user story's zij aankunnen. Tijdens de sprint mogen geen user story's toegevoegd of verwijderd worden aan de sprint backlog.
Scrum kent een aantal vaste meetings:
Deelnemers: product owner, scrummaster en team
Een sprint is een vaste periode waarin het team samenwerkt om een een product te maken en op te leveren. Een sprint duurt 1 tot maximaal 4 weken.
Aan het begin van de sprint is er een sprint planning. In principe worden de bovenste, belangrijkste user story's van de product backlog in de sprint opgenomen.
Het team bespreekt per user story:
Het team bepaalt hoeveel werk kan worden opgenomen in de betreffende sprint. Hiervoor wordt gebruik gemaakt van planning poker. Zie video. Alle story's en de taken worden overgebracht naar het scrumbord.
Deelnemers: scrummaster en team
Elke dag houdt het team een korte meeting van 15 minuten die daily scrum of daily standup wordt genoemd. Het doel van deze meeting is zorgen dat iedereen zo effectief mogelijk bezig is. Tijdens de daily scrum stemt een scrum team hun voortgang af, signaleert het problemen en wordt het werk opnieuw gepland indien nodig. De meeste scrumteams staan bij de daily scrum, omdat staan zorgt voor focus, energie en snelheid. Daarom spreken veel teams ook vaak over de stand-up.
De daily scrum is heel belangrijk. Het zorgt er voor dat het team als één team kan acteren en één gezamenlijke planning heeft die dagelijks wordt bijgewerkt.
Om de meeting kort en effectief te houden blijft iedereen staan en beantwoordt de volgende 3 vragen:
Kijk naar deze video voor een voorbeeld van een slechte en een goede stand-up.
Deelnemers: scrummaster, product owner, stakeholders en team
Aan het einde van een sprint laat het scrumteam werkende en geteste producten zien aan de stakeholders. Ze laten de huidige stand van het product zien. De stakeholders geven feedback. Deze meeting wordt de sprint review of ‘de demo’ genoemd. De meeting begint met een herhaling van het productstatement.
Hierna toont het team:
De stakeholders moeten niet alleen de producten zien, maar ze moeten ze ook ervaren en uitproberen.
Wanneer de product owner zich betrokken toont bij het product en het team, dan is de product owner de juiste persoon om de sprint review te leiden. De rest van het team zit in de achtergrond en luistert alleen. Wanneer ze vragen hebben, kunnen ze die stellen bij de sprint planning.
De Definition of Done beschrijft waar het resultaat van een sprint of een story aan moet voldoen.
Met andere woorden: wanneer ben je klaar met de sprint? De DoD bevat de kwaliteitseisen voor features die aan het einde van de sprint worden opgeleverd. Dit is een commitment dat het team als geheel afgeeft. Wanneer aan het einde van de sprint niet voldaan is aan de DoD, is het product niet klaar voor oplevering.
Aangezien er bij scrum met multidisciplinaire teams wordt gewerkt, bevat de DoD onderdelen voor alle disciplines, bijvoorbeeld afspraken rond codeer-standaarden en seo. Maar natuurlijk ook welke testen worden uitgevoerd en wat het eindresultaat is van het testen.
Deelnemers: scrummaster, product owner en het team
Na de sprint review houdt het team een sprint retrospective.
Tijdens een sprint retrospective beoordeelt het scrumteam hun eigen werk en bepaalt wat er gedaan moet worden om de volgende sprint beter te laten verlopen. De retrospective is een bijeenkomst om te zorgen dat het team en de werkomgeving steeds beter wordt.
In een retrospective stelt het team zich de volgende vragen:
Hoewel retrospectives zeer belangrijk zijn om scrum te laten werken, worstelen veel teams ermee om ze bruikbaar, energiek en geconcentreerd te houden.
Na de retrospective is de cirkel rond en begint het team weer met een sprint planning.
Scrum is van oorsprong geschikt voor softwareontwikkeling. In de loop van de tijd zijn steeds meer bedrijven deze methode gaan gebruiken en hebben variaties bedacht. De meest voorkomende andere vormen van sprints zijn:
In de standaard scrummethodiek is niet veel ruimte voor het ontwikkelen van visuele en marketing concepten. Daarom gebruiken veel communicatiebureau's de 0-sprint.
De 0- sprint wordt gebruikt als voorbereiding van het project. In de 0-sprint wordt het communicatieconcept en het visueel concept ontwikkeld, (gebruikers)onderzoek gedaan en user journey's en persona's gemaakt. Dit alles leidt tot het productstatement en de user story's.
Ander werk in de 0-sprint:
Het team hoeft in de 0-sprint nog niet de definitieve samenstelling te hebben.
In dit sprinttype zijn in één ruimte twee scrum teams tegelijkertijd bezig: een design team en een software-ontwikkelingsteam. Daily scrums zijn gezamenlijk, maar het ontwikkelaarsteam loopt één sprint achter, en bouwt wat het design team in de sprint ervoor heeft ontworpen. Niet erg agile, maar het werkt.
Soms is het handiger om het rework op sprintresultaten niet meteen te doen, maar al het rework te verzamelen in één laatste sprint. Ook niet erg agile, maar het komt voor.
In de release sprint wordt het product geïmplementeerd en overgebracht naar de omgeving van de product owner. Ook worden de laatste testen uitgevoerd.