Agile werken – iteratief en incrementeel

Foto van Sohrab Salimi
Sohrab Salimi
3 min. Leestijd
Deze inhoud is vertaald met AI. Bekijk origineel

Scrum is, net als alle agile processen, tegelijkertijd iteratief en incrementeel. Omdat deze twee begrippen zo vaak worden gebruikt zonder gedefinieerd te worden, ga ik dat nu even doen.

Werken met iteraties

Bij een iteratief proces worden verbeteringen stapsgewijs doorgevoerd. Wanneer een team vaststelt dat een systeem op bepaalde punten nog niet af of niet goed genoeg is, verbetert het deze punten stap voor stap totdat het product naar tevredenheid is. Bij elke iteratie wordt de software verbeterd door het toevoegen van details. Meer informatie hierover vind je hier!

In een eerste iteratie wordt misschien gewerkt aan een zoekscherm dat alleen geschikt is voor een heel eenvoudige zoekopdracht. In de tweede iteratie worden dan extra zoekcriteria toegevoegd. En tot slot houdt men zich in een derde iteratie bezig met eventuele bugfixes.

Een goed voorbeeld hiervan zijn sculpturen. Eerst kiest de beeldhouwer een steen van de juiste grootte uit. Daarna werkt hij de grove vorm van het kunstwerk uit. Op dat punt kun je misschien al het hoofd en het lichaam herkennen en zien dat het eerder een mens dan een vogel moet worden. In de volgende stap verfijnt de beeldhouwer zijn werk en werkt hij details uit. Hij zal geen enkel deel van zijn kunstwerk als af beschouwen voordat het volledige werk klaar is.

Werken met incrementen

Bij een incrementeel proces wordt software in afzonderlijke delen ontwikkeld en opgeleverd. Elk van deze delen – of incrementen – vertegenwoordigt een eigen en complete functionaliteit. De grootte van de afzonderlijke incrementen is daarbij volledig irrelevant.

Voor alle incrementen wordt volledige code geschreven en worden tests uitgevoerd. In principe gaat men er daarom van uit dat het werk van een iteratie niet nog eens herwerkt hoeft te worden. Een beeldhouwer die incrementeel werkt, zal zich net zolang op een deel van zijn werk concentreren totdat dit afgerond is. Dat kunnen kleine incrementen zijn (eerst de neus, dan de ogen, dan de mond enzovoort) of grote incrementen (hoofd, torso, benen, armen). Ongeacht de grootte van de incrementen zal de beeldhouwer echter altijd eerst proberen het werk aan een bepaald increment volledig af te ronden.

Scrum en agile softwareontwikkeling zijn tegelijkertijd incrementeel en iteratief

Iteratief, omdat het werk van een iteratie in daaropvolgende iteraties verbeterd zou moeten worden. En incrementeel, omdat afzonderlijke werkzaamheden tijdens het proces worden afgerond en opgeleverd.

Een voorbeeld van het verschil tussen iteratief en incrementeel:

Stel je voor dat we een datingwebsite bouwen. Bij een iteratieve werkwijze zou het team een beetje aan elk onderdeel van de site werken – profielbeheer, zoekfunctie, advertenties etc. Daarna komt het team terug op alle afzonderlijke onderdelen en verbetert deze.

Bij deze puur iteratieve werkwijze wordt dus de gehele site stap voor stap verbeterd.

Als deze website incrementeel zou worden gebouwd, zou het team bijvoorbeeld eerst het profielbeheer perfectioneren voordat het de zoekfunctie afrondt enzovoort. Er wordt dus altijd eerst al het werk voor één onderdeel afgerond voordat er met iets nieuws wordt begonnen.

Conclusie over de iteratief incrementele werkwijze

De iteratieve en de incrementele werkwijze zijn, afzonderlijk bekeken, niet bijzonder zinvol. In combinatie – zoals bij Scrum – zijn ze echter fantastisch.

Ontdek meer over iteratief en incrementeel werken bij de Agile Academy

Als je dieper in deze materie wilt duiken, raden we je onze leiderschapstraining tot Agile Leader aan.

Als Scrum Master bieden we de volgende trainingen en gratis bijscholingsmogelijkheden, die je ook vertrouwd maken met iteratief en incrementeel werken:

Scrum Master & Agile Coach Online Cursus

Verbeter je vaardigheden als Scrum Master of Agile Coach met onze online cursus.

Duik in de wereld van Agile en Scrum en leer aan de hand van praktische modellen en voorbeelden uit de praktijk hoe je beter met agile teams kunt werken.

Naar de online cursus
Praat met onze assistent Praat met onze assistent