Definitie: Iteratief ontwikkelen is een manier van werken waarbij software, een product of een proces in herhaalde cycli wordt gebouwd, getest en verbeterd op basis van feedback. In plaats van alles in één keer te ontwerpen en op te leveren, ontstaat het eindresultaat stap voor stap uit opeenvolgende versies.

In het kort

  • Iteratief werken betekent letterlijk herhalend werken: elke ronde, of iteratie, doorloopt plannen, ontwerpen, bouwen, testen en evalueren.
  • Iteratief is iets anders dan incrementeel. Iteratief verbetert wat er al is; incrementeel voegt steeds een nieuw onderdeel toe. In de praktijk combineer je ze vaak.
  • Het tegenovergestelde is de watervalmethode, waarin elke fase één keer wordt doorlopen en het resultaat pas aan het eind zichtbaar is.
  • Iteratief werken verlaagt het risico dat je iets bouwt wat niemand gebruikt, maar vraagt om duidelijke grenzen per ronde om scope creep te voorkomen.

Wat is iteratief werken?

Iteratief werken is werken in rondes. Je maakt een eerste versie, legt die voor aan de mensen die ermee moeten werken, leert van hun reactie en verbetert de versie in de volgende ronde. Dat herhaal je tot het resultaat goed genoeg is voor het doel.

Volgens The Digital Project Manager draait iteratie om snel handelen en bijsturen, niet om het vermijden van fouten bij de eerste poging. Asana omschrijft het als een methode van vallen en opstaan, waarbij feedback de richting bepaalt.

In softwareontwikkeling is iteratief ontwikkelen inmiddels de gangbare aanpak. Moderne werkwijzen zoals Agile en Scrum zijn erop gebaseerd. Een team werkt in korte periodes, vaak sprints van één tot vier weken, en levert aan het eind van elke periode iets op dat bekeken en getest kan worden.

Iteratief betekenis: waar komt het woord vandaan?

Het woord iteratief komt van het Latijnse iterare, dat herhalen betekent. Een iteratie is één herhaling of ronde. In de wiskunde en informatica is iteratie een bekende term voor een berekening of stap die herhaald wordt tot een bepaald resultaat is bereikt. In projectmanagement en productontwikkeling verwijst het naar het herhaald doorlopen van dezelfde cyclus, waarbij elke ronde voortbouwt op de vorige.

Het idee is ouder dan software. De PDCA-cyclus, plan, do, check, act, die vooral bekend werd door W. Edwards Deming, beschrijft hetzelfde principe voor kwaliteitsverbetering: plannen, uitvoeren, controleren en bijsturen, en dan opnieuw beginnen.

Hoe werkt een iteratieve cyclus?

Hoewel de bronnen verschillende namen gebruiken, komen de stappen steeds op hetzelfde neer. Atlassian, Asana en ClickUp beschrijven een cyclus van vijf stappen:

  1. Plannen. Bepaal het doel van deze ronde en wat er wel en niet in hoort. The Digital Project Manager adviseert om net genoeg detail te verzamelen om te kunnen starten.
  2. Ontwerpen. Werk een oplossing uit die goed genoeg is om te testen, zoals een schets, een klikbaar prototype of een technische opzet.
  3. Bouwen. Maak een werkende versie van het onderdeel waar deze ronde om draait.
  4. Testen. Laat gebruikers of betrokkenen de versie proberen en verzamel feedback.
  5. Evalueren. Bepaal wat je hebt geleerd en wat de volgende ronde moet opleveren. Daarna begint de cyclus opnieuw.

Het verschil met een gewoon project zit in stap vijf. De evaluatie leidt niet tot een eindrapport, maar tot een bijgesteld plan voor de volgende ronde.

Iteratief, incrementeel en waterval: wat is het verschil?

Deze drie begrippen worden vaak door elkaar gebruikt. Toch zijn ze verschillend:

Iteratief Incrementeel Waterval
Kern Hetzelfde steeds verbeteren Steeds een nieuw onderdeel toevoegen Elke fase één keer, in vaste volgorde
Eerste versie Ruw, maar compleet genoeg om te testen Eén afgerond onderdeel Pas aan het eind
Feedback Na elke ronde Na elk onderdeel Vooral aan het eind
Wijzigingen Horen bij het proces Mogelijk bij volgende onderdelen Duur zodra het plan vaststaat
Past bij Onzekere eisen, nieuwe ideeën Grote systemen die in delen kunnen Stabiele, goed bekende eisen

Asana legt het verschil zo uit: bij iteratief werken verbeter je het werk op basis van feedback, bij incrementeel bouw je stap voor stap nieuwe functies op een eerste versie. Volgens Shopify is Agile beide: het werkt in sprints en levert elke keer bruikbare onderdelen op die in volgende rondes worden verbeterd.

Een bekende vergelijking maakt het verschil zichtbaar. Wil je een schilderij maken, dan schets je bij iteratief werken eerst het hele doek, kleur je het daarna grof in en werk je het vervolgens steeds fijner uit. Bij incrementeel werken schilder je eerst één hoek helemaal af, dan de volgende. Bij waterval ontwerp je het hele schilderij op papier en begin je pas met verf als het ontwerp is goedgekeurd.

Voorbeelden van iteratief ontwikkelen

The Digital Project Manager geeft een paar herkenbare voorbeelden:

  • Een softwarefunctie. Bouw eerst een eenvoudige rapportweergave en breid die uit op basis van wat gebruikers ermee doen.
  • Een website. Herontwerp eerst alleen de homepage, verzamel feedback en pak daarna de andere pagina’s aan.
  • Klantenservice. Test een nieuw intakeformulier eerst voor één servicelijn voordat het breder wordt uitgerold.
  • Een campagne. Test boodschappen eerst via e-mail en sociale media en stem de volledige lancering af op de resultaten.

Een denkbeeldig voorbeeld bij webapplicaties: stel dat een bedrijf een portaal wil waarin klanten hun projecten volgen. In de eerste ronde kunnen klanten alleen inloggen en de status van hun project zien. Na een paar weken blijkt dat de meeste vragen over documenten gaan. De tweede ronde voegt daarom een documentenoverzicht toe, in plaats van de chatfunctie die oorspronkelijk gepland stond. Zonder die eerste ronde was de verkeerde functie als eerste gebouwd.

Voordelen van iteratief werken

  • Minder risico. Problemen en misverstanden komen vroeg aan het licht, wanneer ze nog goedkoop op te lossen zijn.
  • Beter passend resultaat. Gebruikers reageren op iets concreets in plaats van op een beschrijving, en hun feedback bepaalt de volgende stap.
  • Sneller iets bruikbaars. Atlassian noemt een snellere time-to-market als voordeel, omdat teams sneller testen en leren.
  • Flexibiliteit. Veranderen de omstandigheden of prioriteiten, dan pas je de volgende ronde aan zonder het hele plan om te gooien.
  • Budget naar wat werkt. Middelen gaan naar functies die gebruikers echt nodig hebben, in plaats van naar functies die vooraf belangrijk leken.
  • Betere samenwerking. Opdrachtgever, gebruikers en ontwikkelaar zien regelmatig samen wat er is gemaakt.

Nadelen en valkuilen

  • Scope creep. Elke ronde levert nieuwe ideeën op. Zonder duidelijke grenzen groeit het project ongemerkt. Atlassian en ClickUp noemen dit allebei als belangrijkste risico.
  • Onduidelijke planning. Als je niet precies weet hoeveel rondes nodig zijn, is een einddatum lastiger te geven.
  • Vermoeidheid bij betrokkenen. The Digital Project Manager waarschuwt dat steeds dezelfde mensen om feedback vragen tot minder betrokkenheid kan leiden.
  • Besluiteloosheid. Eindeloze discussies over kleine wijzigingen vertragen het werk.
  • Documentatie die achterblijft. Volgens Atlassian kunnen beslissingen en inzichten tussen cycli verloren gaan als niemand ze vastlegt.
  • Snel maar slordig. Snelle rondes zonder discipline leiden tot halfafgemaakt werk en technische schuld.

Wanneer kies je voor iteratief ontwikkelen?

Iteratief ontwikkelen past goed als:

  • de eisen nog niet helemaal duidelijk zijn, of je verwacht dat ze veranderen;
  • je een nieuw idee wilt toetsen voordat je er veel in investeert;
  • gebruikers moeten wennen aan een nieuwe werkwijze en hun reactie belangrijk is;
  • je een eerste versie snel in gebruik wilt nemen en daarna wilt uitbreiden.

Een meer lineaire aanpak kan beter passen als de eisen vastliggen en goed bekend zijn, bijvoorbeeld bij een wettelijk voorgeschreven berekening, een vervanging van een bestaand systeem dat één op één moet werken, of een project met een harde deadline en een vast budget voor een helder omschreven resultaat. Ook dan helpt het om tussentijds te testen, maar de ruimte voor koerswijziging is kleiner.

Hoe begin je met iteratief werken?

  1. Begin met de belangrijkste gebruiker en taak. Wie gaat het gebruiken en wat moet die persoon als eerste kunnen doen?
  2. Baken de eerste ronde scherp af. Leg vast wat er in de eerste versie zit en, net zo belangrijk, wat er niet in zit.
  3. Kies een vaste rondeduur. Twee tot vier weken is in softwareprojecten gebruikelijk.
  4. Plan het feedbackmoment vooraf. Wie test, wanneer en hoe wordt de feedback verzameld?
  5. Houd een lijst bij met ideeën en wensen, zodat nieuwe ideeën niet verloren gaan maar ook niet direct de lopende ronde verstoren. In softwareprojecten heet die lijst de product backlog.
  6. Leg beslissingen vast. Noteer per ronde wat er is besloten en waarom.
  7. Evalueer ook de werkwijze. Shopify noemt de retrospective: wat ging goed, wat kan beter en wat doen we de volgende keer anders?

Iteratief werken in Scrum

Scrum is de bekendste werkwijze die iteratief ontwikkelen in een vaste vorm giet. Het werk wordt verdeeld in sprints van vaste lengte. Elke sprint kent dezelfde vaste momenten:

Moment Doel
Sprintplanning Het team kiest uit de product backlog wat in deze sprint wordt opgepakt
Dagelijkse stand-up Kort afstemmen over voortgang en knelpunten
Sprint review Het resultaat laten zien aan opdrachtgever en gebruikers en feedback ophalen
Retrospective De werkwijze van het team evalueren en verbeteren

Shopify beschrijft een vergelijkbare opzet voor een webshop: taken uit de backlog kiezen, het bestaande ontwerp verbeteren in plaats van alles opnieuw te bouwen, het werk presenteren aan belanghebbenden en afsluiten met een retrospective. Je hoeft Scrum niet volledig te volgen om iteratief te werken. Voor een klein project met één ontwikkelaar volstaat vaak een vaste ronde met een demo en een korte evaluatie.

Hoe weet je of een ronde geslaagd is?

Een iteratie is pas nuttig als je na afloop iets weet wat je ervoor nog niet wist. Bepaal daarom vooraf waaraan je een ronde toetst. Atlassian adviseert om in de ontwerpfase meetbare indicatoren te kiezen. Voorbeelden voor een webapplicatie:

  • Kan de gebruiker de belangrijkste taak zelfstandig afronden, zonder uitleg?
  • Hoe lang duurt die taak, vergeleken met de oude werkwijze?
  • Welke vragen of meldingen komen er binnen in de eerste week?
  • Welke schermen of functies worden gebruikt, en welke niet?
  • Wat zeggen gebruikers zelf als je ze vraagt wat ze missen of wat onhandig is?

De uitkomst bepaalt de volgende ronde. Een functie die niemand gebruikt, verdient geen uitbreiding. Een stap waar iedereen vastloopt, krijgt voorrang.

Misverstanden over iteratief werken

  • “Iteratief betekent zonder plan.” Elke ronde heeft juist een helder doel en een afgebakende inhoud. Wat open blijft, is de inhoud van latere rondes.
  • “Een eerste versie mag slordig zijn.” Een eerste versie mag klein zijn, maar wat erin zit moet werken. Anders test je de verkeerde dingen.
  • “Iteratief is altijd sneller.” Het levert sneller iets bruikbaars op, maar het totale project duurt niet per se korter.
  • “Feedback betekent alles aanpassen.” Niet elke opmerking leidt tot een wijziging. Feedback wordt afgewogen tegen het doel van het project.

Iteratief ontwikkelen en budget

Een veelgehoorde vraag is hoe je iteratief werken combineert met een budget. Bij een vaste prijs voor een volledig vastgelegd eindresultaat past iteratief werken minder goed, omdat wijzigingen dan tot discussie leiden. Gangbare oplossingen zijn een vast budget per ronde, een vaste prijs voor een duidelijk afgebakende eerste versie gevolgd door rondes op basis van nacalculatie, of een maximumbudget waarbinnen de prioriteiten per ronde worden bepaald. Belangrijk is dat vooraf helder is hoe besluiten over de inhoud van een volgende ronde worden genomen.

Wat betekent dit voor jouw project?

Ik wil vooraf duidelijk hebben wat we met een eerste versie bedoelen. Iteratief werken betekent voor mij niet dat alles open blijft, maar dat de eerste stap klein en duidelijk is. Daarom begin ik met een procesgesprek van ongeveer twintig minuten en daarna een betaalde blauwdruk: een afgebakend proces, schermschetsen, afhankelijkheden en een voorstel voor de eerste versie. Na de eerste versie volgen beheer en verbetering.

Leadooo, een kleine CRM-app die ik zelf heb gebouwd, laat zien waarom dat werkt. Het is een kleine applicatie met een afgebakend doel: leads en offertes bewaren, vervolgacties plannen en per dag zien wat er moet gebeuren. Een kleine eerste versie helpt om het proces in de praktijk te begrijpen. Pas daarna wordt duidelijk welke uitbreiding echt waarde heeft.

Vraag? Heb je een idee voor een tool of applicatie, maar weet je nog niet precies wat de eerste versie moet kunnen? Stuur me voor wie het is, wat er nu gebeurt en wat de eerste versie moet oplossen. Dan bepalen we samen de logische eerste stap. Lees ook hoe het traject verloopt bij een webapplicatie ontwikkelen.

Veelgestelde vragen over iteratief ontwikkelen

Wat is de betekenis van iteratief?

Iteratief betekent herhalend. Het woord komt van het Latijnse iterare, herhalen. Iteratief werken is werken in rondes waarin je steeds een versie maakt, test en verbetert op basis van feedback.

Wat is het verschil tussen iteratief en incrementeel werken?

Bij iteratief werken verbeter je steeds hetzelfde product op basis van feedback. Bij incrementeel werken voeg je stap voor stap nieuwe onderdelen toe aan een eerste versie. Agile combineert beide.

Is iteratief werken hetzelfde als agile?

Niet helemaal. Iteratief werken is een principe: in rondes bouwen, testen en verbeteren. Agile is een bredere verzameling werkwijzen, zoals Scrum, die op dat principe is gebaseerd en daarnaast incrementeel oplevert en de nadruk legt op samenwerking.

Verwante termen

Product backlog · Prototype · Proof of concept · Scope creep · Discovery-fase · Fixed price vs nacalculatie

← Terug naar de kennisbank