Het definiëren van een opdrachtomschrijving van een te ontwikkelen applicatie is lastig. Er zijn doorgaans veel onzekerheden, mogelijkheden zijn onduidelijk en inzichten van de klant komen pas veel later. Om dit proces in goede banen te leiden kan men Scrum toepassen.

Wat is Scrum?

Scrum is een raamwerk voor softwareontwikkeling. Er wordt gewerkt in multidisciplinaire teams, die in korte sprints (iteraties) werkende software opleveren. Samenwerking, communicatie en teamgeest zijn hierbij sleutelwoorden. Scrum kan geïntegreerd worden met bestaande project management tools, zoals bijvoorbeeld Prince2.

Waarom Scrum?

Eén team, één doel en één product. Dit is de stelling om op een betere manier met software projecten om te gaan. Projecten op het gebied van software ontwikkeling zijn vaak lastig. De klant weet vaak niet wat hij wil en de leverancier kan dit vaak lastig vertalen en weet soms niet wat er (technisch) mogelijk is.

Geen stress?

Een belangrijke voorwaarden voor een Scrum project is het verloop van een project. Heb je het als team leuk, of is er veel stress?  Het verdient de voorkeur om een klein team te hebben zonder te grote en ambitieuze doelen. Het is een kunst om het eenvoudig te houden. Kies de belangrijkste dingen. Dus in plaats van het genereren van 10 rapporten in een applicatie, begin dan eerst met 1 rapport. Dit is een effectieve methode om complexe projecten aan te pakken.

Een deadline wordt in Scrum altijd gehaald. Dit geeft de opdrachtgever natuurlijk vertrouwen. Dit is mogelijk omdat een project in kleinere blokken (sprints) worden gehakt en snel resultaat wordt geboekt om het project goed te sturen. Komen er toch andere inzichten of wijzigingen dan is het in goed overleg altijd mogelijk om te kiezen om andere punten weg te laten, de planning op te schuiven, of het budget te verhogen.

De rolverdeling

De rolverdeling bestaat uit een Team Owner, waarvan er maar één is. Een Scrum Master, teamleden en stakeholders. Er worden korte sprints gedefinieerd en het is de bedoeling om in de eerste sprint een product op te leveren met de belangrijkste functionaliteit. Dit geeft de opdrachtgever vertrouwen en biedt de mogelijkheid om te sturen. Zo wordt niet de opdrachtgever pas op het laatst verrast met een product dat niet naar wens is. Alle teamleden zijn gelijkwaardig en alleen met betrokken teamleden krijg je uiteindelijk een succesvol product.

De taken van elke sprint worden bewaakt in een zogenaamde backlog. Hier wordt prioriteit gegeven aan de taken en een grove inschatting van het aantal uren. De Team Owner kan na elke sprint de voortgang controleren aan de hand van deze backlog. Het plannen van sprints met elk een opgeleverd product geeft rust als deze in een vaste periode plaatsvinden, bijvoorbeeld eens per maand. In een duidelijke definitie van het op te leveren product kan gecontroleerd worden of e.e.a. naar wens is.

Effectief vergaderen

Een belangrijk aspect zijn ook de ‘Daily Scrum meetings’. Hier kun je in een zeer korte tijd evalueren wat je hebt gedaan, wat er (vandaag) op het programma staat en of er nog ergens blokkades zijn. Dit zijn korte en effectieve vergaderingen en dit heeft niet als doel om de voortgang te bespreken of problemen op te lossen. Daarvoor zijn aparte planning of Retrospective meetings voor bedoeld.

Mindset

Het toepassen van Scrum is wel een ‘mindset’. Het is belangrijk dat de Scrum Master de processen goed in de gaten houdt. Het project kan alleen maar een succes worden als je kunt vertrouwen op het hele Scrum-team. Met een nauwe samenwerking tussen de klant en leverancier is de kwaliteit van het eindproduct vele malen groter!

Meer informatie: scrum.org

scrumteam