Geschreven door Jasper Berkhout

Een van de gedreven krachten achter PinkWhale. Als mede-eigenaar en mede-oprichter van PinkWhale is Jasper de "communicatieman" naar buiten. Nerd in hart en nieren, maar desondanks heeft hij een flinke dosis inlevingsvermogen. Als de klant niet weet wat hij precies wil, dan is Jasper in gedachte al zes stappen verder.

Wat is Scrum?

Scrum is een projectmanagement methode die steeds vaker bij software ontwikkeling wordt toegepast. Scrum organiseert het proces zodat een planning soepel en efficiënt verloopt, zodat elk softwarepakket het maximale uit het budget haalt. Door deze aanpak is kwaliteit gewaarborgd en kan de klant te allen tijde sturing geven aan het project én zijn budget bewaken.

Waarom Scrum?

Goed gebruik van Scrum garandeert dat de klant een werkend product naar wens opgeleverd krijgt, waarin met zoveel mogelijk efficiëntie gewerkt is zodat prijs/kwaliteit verhouding optimaal is. Met deze aanpak kan met alle flexibiliteit geschakeld worden tijdens een software project, terwijl het budget ook bewaakt kan worden. Kortom, een gegarandeerd werkend software pakket voor een budget dat bij jou past.

Scrum rollen

Eerst een aantal begrippen om helder te krijgen hoe Scrum te werk gaat. Een Scrum Team bestaat uit drie rollen. Dit zijn de Product Owner, de Scrum Master en het Development Team. De Product Owner vertegenwoordigt de belangen van de klant en vertaalt deze naar de technische afdeling, het Development Team. Zij staan onder leiding van de Scrum Master, welke verantwoordelijk is voor de voortgang en realisatie. Deze rolverdeling werkt perfect en laat een project soepel verlopen. De klant heeft één contactpersoon die exact op de hoogte is van alle wensen en verwachtingen en de Scrum Master weet precies wat de technische voortgang en de eventuele mankementen en verbeterpunten zijn.

User Story

Samen met de klant gaat de Product Owner een User Story opstellen, ofwel een lijst van alle taken en eisen binnen het project. Hierin zijn brainstormsessies opgenomen om af te stemmen wat er technisch mogelijk is en hoe de wensen van de klant functioneel voor eindgebruikers ingericht kan worden. Op basis van prioriteiten wordt een sortering gemaakt, zodat de belangrijkste elementen als eerst ontwikkeld gaan worden. Dit voorkomt dat essentiële aspecten ontbreken bij de oplevering en tijd en budget daarmee in bedwang komen. Zo’n lijst dat op prioriteiten is gesorteerd, noemen we een backlog.

Sprint

Op basis van de backlog wordt een Sprint gestart. In een tijdbestek van twee tot vier weken wordt gewerkt aan de belangrijkste elementen die zich in de backlog bevinden. Elke dag van zo’n Sprint wordt begonnen met een Daily Standup. Hierbij wordt binnen maximaal een kwartier overleg gepleegd binnen het Development Team. Ieder vertelt even wat hij heeft gedaan, wat hij gaat doen en of hij tegen problemen aanliep. Zo is ieder op de hoogte en kunnen leden van het Development Team onderling samenwerken en kennis uitwisselen.

Iteratie

Zodra een Sprint is voltooid (na 2 - 4 weken), wordt deze iteratie opgeleverd. Deze korte iteraties houden de voortgang in het project. De klant kan namelijk hetgeen dat ontwikkeld is in de Sprint al gaan testen, feedback verzamelen en op basis daarvan de opvolgende User Story gaan samenstellen en finetunen. Doordat de klant door deze iteraties erg betrokken is bij het proces en volledig op de hoogte is, ontstaat er een goede interactie tussen de ontwikkelaars en de klant. Mede deze korte iteraties maakt Scrum zo succesvol en efficiënt. Het voorkomt dat er vlak voor de oplevering van een project allerlei onbekende bugs en problemen naar boven komen, of dat een klant het heel anders voor ogen had dan dat er is opgeleverd. Ook hier weer staat Scrum dus weer voor budgetbewaking, voortgangsbewaking, kwaliteit en efficiëntie.

Testopstelling

Zeker wanneer software reeds live en opgeleverd is en er nog continu wordt uitgebreid en verbeterd, is een testopstelling niet weg te denken. Na een Sprint wordt op de test (of beta) omgeving een update uitgerold. Er kan getest worden en feedback en bugs worden verzameld. Pas zodra alles uitvoerig is getest kan de update ook op de live omgeving worden uitgerold. Zo merken eindgebruikers niets van bugs en kunnen deze door het Development Team in alle rust opgepakt worden. Haasten, vliegen en rennen is een kwestie van te weinig grip op het project. Door Scrum wordt dit voorkomen.

Kleinere projecten

Hoewel Scrum geweldige houvast biedt, is dit niet voor alle projecten volledig te integreren. Scrum is uitgedacht voor de meest grote softwareprojecten, maar niet elke startup of softwarepakket voor de MKB sector heeft een team van zo’n minimaal tien IT’ers. Bovendien is de intensiteit niet altijd dusdanig dat een Daily Standup kan plaatsvinden. Soms wordt ‘slechts’ een aantal dagen per maand gereserveerd voor een enkele ontwikkelaar. Scrum is een mooi sjabloon dat ingezet kan worden voor de kleinere en grotere projecten. Scrum is een principe waar prima van afgeweken kan worden, mits de basis blijft zoals deze bedoeld is. Essentiële onderdelen als een Product Owner, Backlog, Sprints en Iteraties mogen zeker niet ontbreken. Echter in de praktijk zal een Product Owner ook een Scrum Master mogen zijn, om een voorbeeld te geven.

Onze ervaring

De ervaring bij onze projecten op gebied van Scrum is in één woord fantastisch. Het biedt ontwikkelaars de vrijheid om mee te denken en eigen inbreng te geven. Niets staat onder tijddruk waardoor de kwaliteit van de oplevering maximaliseert. Met Scrum kunnen we de meerwaarde voor ondernemers bieden die wij graag willen bieden. Heb jij een software idee om binnen jouw organisatie of op licentiebasis in te zetten? We delen het graag om te kijken of wij kansen zien de markt voor jou te veroveren. Software ontwikkeling is een uitermate leuke en goede manier om te investeren. Een goed softwarepakket rendeert elke maand opnieuw.