Contact

Agile ontwikkelen met Scrum, een kennismaking

Steeds meer organisaties implementeren een Agile methode voor de ontwikkeling van software, zoals Scrum. Dit artikel beschrijft Scrum als Agile methode, inclusief de voor- en nadelen ten opzichte van de traditionele watervalmethode.

Artikelen

Bij de watervalmethode doorloopt een software-ontwikkelingsproject een aantal volgtijdelijke processtappen (business requirements, ontwerp, softwarebouw, etc), waarin per stap door medewerkers met een ander specialisme de inhoudelijke bijdrage geleverd wordt. Deze aanpak kenmerkt zich door lange doorlooptijden (vaak tussen 6 en 12 maanden) en kennisoverdracht tussen specialisten in documenten. Bij oplevering sluit de software niet altijd goed aan bij de veranderde behoeften en verwachtingen van de gebruikers. Deze kenmerken staan op gespannen voet met de groeiende noodzaak voor organisaties om steeds sneller in te spelen op kansen en bedreigingen.

In reactie hierop werd in 2001 het ‘Agile Manifesto’ opgesteld door representanten van diverse Agile methodes, zoals Extreme Programming, Scrum, DSDM, Adaptive Software Development, Crystal, Feature Driven Development en Pragmatic Programming.

kwd-agile-manifesto

Mensen en hun onderlinge interactie

Scrum werkt in sprints, korte tijdsperiodes van meestal 2 of 4 weken, waarin een ontwikkelteam een nieuwe software ontwerpt, bouwt, test en oplevert. Dit team maakt en bewaakt de afspraken met de klant. Men werkt nauw samen, en bespreekt dagelijks in een korte stand-up de status, planning en blokkades. Een Scrummaster faciliteert en coacht het team in het werkproces, en lost blokkades buiten het team op, zodat de ontwikkelaars zich volledig richten op hun werk.

Werkende software

Bij Scrum wordt werkende en geteste software opgeleverd na elke sprint. Hierdoor is het relatief eenvoudig om regelmatig een nieuwe softwareversie in productie te nemen.
Door de nauwe en intensieve samenwerking wordt de schriftelijke vastlegging en overdracht van kennis geminimaliseerd. Documentatie wordt alleen opgesteld als die een duidelijk doel heeft.

Samenwerking met de klant

Belangrijke speler is de Product owner, de persoon vanuit de Business die het meest belang heeft bij het project. De product owner is onderdeel van het scrum team, waardoor er nauw contact is tussen Business en realisatieteam. Bij aanvang van een sprint bespreekt de Product owner de wensen op zijn productenlijst (backlog) met de hoogste prioriteit. Het team bepaalt en plant welke wensen ze in die sprint kunnen realiseren, en stuurt zelf op het nakomen hiervan. Elke sprint wordt afgerond met een demonstratie van de werkende software aan de Product owner en andere belanghebbenden.

Inspelen op verandering

Omgaan met veranderingen staat centraal in Scrum. De product owner kan items toevoegen of herprioriteren in de backlog, die al in de volgende sprint kunnen worden opgepakt. Als tijdens een Demo blijkt dat de gemaakte software niet helemaal naar wens van de business is, dan kan de Product owner direct aanpassingen opnemen in zijn backlog en in een volgende sprint door het team laten doorvoeren. Ook evalueert het team zichzelf na elke sprint om te bepalen, wat men kan en wil verbeteren, en voert deze veranderingen door.

Maar de hamvraag is natuurlijk: hoe kom je aan een goede en gemandateerde Product owner?

KWD

Resultaat boeken voor en met jou

Wij starten met goed luisteren naar jou als opdrachtgever. Om samen een effectieve en succesvolle aanpak te kiezen voor de gewenste transitie van jouw huidige situatie-A naar het te bereiken resultaat-B. Ons gezamenlijk doel is altijd: Nul Mislukkingen! voor jouw projecten.