Naar Inhoud



Wanneer gebruik je Scrum?

door Nicole de Swart

Agile en Scrum zijn binnen de software ontwikkeling ongekend populair. De voordelen van een agile werkwijze zijn dan ook indrukwekkend. Veel organisaties zijn inmiddels geheel of gedeeltelijk overgestapt op Scrum of hebben pilot projecten lopen. Van andere organisaties krijg ik regelmatig de vraag 'Voor welke type projecten is Scrum nu eigenlijk wel en niet geschikt?' Deze vraag probeer ik hieronder te beantwoorden.

Wanneer gebruik je Scrum?

Scrum is voor complexe projecten

Scrum is ontworpen voor het managen van complexe processen. Traditionele software ontwikkelmethoden gaan impliciet uit van de veronderstelling dat het ontwikkelen van software gecompliceerd is. Een voorbeeld om het verschil tussen complex en gecompliceerd duidelijk te maken:

  • Autosleutels zijn simpel
    Hoe autosleutels werken is eenvoudig te begrijpen. Het is niet zo moeilijk om een autosleutel uit elkaar te halen en weer in elkaar zetten.
  • Een auto is gecompliceerd
    De (technische) werking van een auto is voor de meeste mensen lastiger te doorgronden. Voor het monteren van een auto is specialistische kennis nodig. We laten het repareren van onze auto dan ook graag over aan experts.
  • Het verkeer is complex
    Het verkeer en het gedrag van individuele verkeersdeelnemers is niet helemaal te voorspellen. Er zijn wel regels en patronen maar je weet bij vertrek bijvoorbeeld niet voor hoeveel verkeerslichten je moet stoppen en waar je moet uitwijken voor andere weggebruikers. Het ontleden van het verkeer is onmogelijk.

Vrijwel alle software ontwikkelprojecten zijn complex omdat daarin mensen intensief moeten samenwerken en communiceren. Software ontwikkelprojecten zijn ook complex omdat het onmogelijk is om alle requirements op voorhand boven tafel te krijgen en bovendien zal een substantieel deel van de requirements (gemiddeld 35%) wijzigen tijdens het project.

Scrum is empirisch en iteratief

In tegenstelling tot simpele en gecompliceerde processen is het bij complexe processen niet mogelijk om het verloop van het proces vooraf tot op taakniveau te plannen. Traditionele software ontwikkelmethoden proberen het proces te standaardiseren en delen het totale software ontwikkelproces op in fasen, activiteiten en mijlpaalproducten. Een dergelijke plan van aanpak met bijbehorende planning geven niet meer dan schijnzekerheid. De enige zekerheid die er is, is dat de werkelijkheid niet conform het plan zal verlopen. Het is in feite een wens of een voorspelling van het verloop van het project.

Bij onvoorspelbare processen is continue bijsturen en reageren op de actuele situatie cruciaal. Empirische procesbesturing is, zoals de naam aangeeft, gebaseerd op waarneming van recente gebeurtenissen en activiteiten. Bij complexe projecten is daarom wel het einddoel, de stip op de horizon, bekend maar wordt de weg daar naartoe gaandeweg het project uitgestippeld. Empirische procesbesturing is dan ook gestoeld op de volgende drie pijlers:

  1. Transparantie
    Voor alle betrokkenen moet de actuele stand van zaken op ieder moment inzichtelijk zijn. Iedereen beschikt over dezelfde accurate informatie.
  2. Feedback
    Voortdurend aan de klant feedback vragen op het in ontwikkeling zijnde product en regelmatig de werkwijze van het team evalueren, zijn essentieel.
  3. Bijsturen
    Verbeteringen en voortschrijdend inzicht direct doorvoeren om zo continue het project bij te sturen.

Scrum is ...

Scrum is een raamwerk, een set aan regels, die het mogelijk maakt om complexe processen succesvol te managen. Dit zou je kunnen vergelijken met het beoefenen van een teamsport of het uitvoeren van een militaire operatie. De professionals in het veld bepalen zelf, binnen de vastgestelde regels, hoe ze handelen en reageren op de actuele situatie. Een scrumteam opereert als een zelfsturend team dat zelf haar werk plant, coördineert en evalueert en zelf kiest van welke technieken en best practices ze gebruik maakt. Dit blijkt in complexe omgevingen veel beter te werken dan een projectleider of manager die vooraf een plan maakt en taken toewijst aan medewerkers.

Kortom: Scrum is geschikt voor het managen van vrijwel alle software ontwikkelprojecten. Omdat het onvoorspelbare en daarmee complexe processen zijn, is empirische besturing daar geschikter voor dan de traditionele plangedreven aanpakken.

Reacties (0 totaal)

Er zijn nog geen reacties

Plaats een Reactie (Tijdelijk buiten gebruik)

Let op: Uw reactie wordt gepubliceerd. Voor privé-reacties kunt u rechtstreeks mailen met de auteur. Voor contact mogelijkheden bekijk het auteur profiel van Nicole de Swart

(Verplicht)

(Verplicht, wordt niet gepubliceerd)

Over de Auteur

Nicole de Swart Nicole is auteur van 'Grip op Requirements' en 'Handboek Requirements' en een expert in het requirementsvak. Nicole brengt haar kennis en ervaring graag over op anderen. Dit doet ze als trainer/coach voor de Reaco Academy en met het Requirements Kenniscentrum.
Lees Meer in Profiel

Deel dit Artikel

Artikelen door Nicole de Swart

Nicole de Swart op Twitter

Nicoledeswart: Bel jij al lid van het #Requirements Kenniscentrum? http://t.co/LK3m6gx0

Nicoledeswart: Al meer dan 80 aanmeldingen binnen voor de gratis Requirements Kennisavond over Use-Case 2.0 op 15 november? http://t.co/mCMNWTEI

Nicoledeswart: Handboek #Requirements al gelezen? http://t.co/YSGobDRJ Ontvang gratis drie hoofdstukken uit mijn boek

Nicoledeswart: 5 tips voor het opstellen van een use case diagram. http://t.co/qcHGKHeT #requirements

Nicoledeswart: Great article about agile #requirements http://t.co/R1tbDWz9