Hoe kan ik het beste software laten ontwikkelen ?

Agile team

Hoe kan ik het beste software ontwikkelen?

In software ontwikkeling zijn er grofweg twee manieren van werken:

1. Waterval

2. Agile (of iteratief)

Waterval

Bij de Waterval methodiek ga je achtereenvolgens schatten, plannen, requirements uitwerken, bouwen testen en in gebruik nemen.

Agile

De Agile methodiek doet eigenlijk hetzelfde maar dan per kleine stukjes functionaliteit en niet te ver vooruit.

Wat is het voordeel van Waterval ten opzichte van Agile ?

Bij Waterval weet je exact wat je krijgt en wanneer je het krijgt, tegen welke kosten.
Bij Agile weet je alleen wat je voor de komende periode (pak 'm beet de komende 2 weken) krijgt en dat het inderdaad ook datgene is wat je wilt en wat het kost.

Wat is het nadeel van Waterval ten opzichte van Agile ?

Bij Waterval bedenk je vooraf alles en wel voor een lange periode, dus je moet ver in de toekomst kijken en de kans is groot dat halverwege het traject nieuwe inzichten om de hoek komen kijken dan wel dat je verwachting niet helemaal goed is vastgelegd waardoor er of teleurstellingen kunnen ontstaan dan wel dat de gehele projectplanning (en bijbehorende deadline en budget) moet worden herzien om weer op het juiste spoor te komen.

Hoe weet ik wat een Agile project gaat kosten ?

Bij Agile weet je niet precies wat je aan het einde van de rit krijgt en ook niet wat het precies kost. Wel wordt er highlevel gekeken naar de verwachte scope en de impact die dat heeft op de ontwikkeling om zo een gevoel te krijgen of de verwachte inspanning lijkt te passen binnen het budget en de gewenste tijdslijn.

Is Agile niet een vrijbrief voor een softwareleverancier ?

Bij Agile kijk je bewust niet ver vooruit om zo makkelijk te kunnen sturen zonder dat dit tot grote ingewikkelde discussies leidt. Door met kleine behapbare stukjes functionaliteit te werken bouw je stap voor stap toe naar je einddoel en heb je tussentijds telkens een werkend geheel. Zeg maar van skateboard tot een auto zoals hieronder geïllustreerd.

Hoe kan ik het beste software laten ontwikkelen ?

 

Je krijgt commitment dat je binnen het budget werkende software krijgt die je samen met het team gaat ontwikkelen.

Bij Waterval daarentegen zal de focus liggen op de naleving van het contract waarin iets staat als : We gaan X bouwen, voor het bedrag Y en zijn datum Z klaar. Dit klinkt natuurlijk goed, echter in de praktijk blijkt dat het goed van te voren vastleggen van de specificaties niet zo makkelijk is als dat het lijkt. Onvolkomenheden passen niet in de overeenkomst en zullen dan als meerwerk opgenomen moeten worden en mogelijk moet de gehele projectplanning  worden herzien. Daarnaast biedt deze wijze van werken geen ruimte voor wijzigingen en wordt het product als een soort van big bang opgeleverd waardoor er niet tussentijd bijgestuurd kan worden. De grip op het project die men denkt te hebben blijkt vervolgens vaak een illusie.

En hoe kan ik het beste software laten ontwikkelen?

Agile lijkt misschien intuïtief de slechtere optie, omdat er zoveel onduidelijkheden lijken te zijn, maar omdat die onduidelijkheden er per definitie zijn is juist Agile de manier om in software goede resultaten te halen.

 

 

 

Ga met mij in gesprek over dit onderwerp.
Otto Sybrandi Product & Operations Manager