Traditionele software-ontwikkeling richt zich op het vooraf nauwkeurig in kaart brengen van de benodigde functionaliteit om deze vervolgens te gaan ontwikkelen. Wat ontwikkeld gaat worden (het eindresultaat) staat vast, wie hieraan gaat werken en hoe lang is nog onzeker. Met timeboxing is dit exact tegenovergesteld. Je bepaalt vooraf wie aan een bepaalde activiteit mag werken en voor hoe lang. Binnen die tijd wordt het best mogelijke resultaat geproduceerd. Een heel andere manier van werken, maar wel met een paar belangrijke voordelen.
1. Je focust op wat echt belangrijk is
Bij de ontwikkeling van software is het soms erg lastig om vooraf alle requirements en specificaties in kaart te brengen. Het is niet altijd vooraf duidelijk wat het gewenste eindresultaat is of welke functionaliteiten vereist zijn. Dat brengt de risico’s met zich mee dat je te veel tijd steekt in probleemanalyse, een oplossingsrichting formuleert die gaandeweg heel anders blijkt te zijn en aandacht steekt in details die compleet overbodig zijn. Veel projecten lopen uit de planning en overschrijden het budget, omdat koste wat kost de vooraf vastgestelde scope moet worden behaald. Met timeboxing is er tijdsdruk en wordt je gedwongen om te focussen. Er is geen tijd voor randzaken of uitstelgedrag en geen ruimte voor afleidingen. Er moet geleverd worden en dus ga je je focussen op wat echt belangrijk is.
2. Je wordt productiever
Timeboxing maakt je productiever. Je gaat effectiever werken, je negeert afleidingen en je werkt niet aan overbodige toeters en bellen. Door een timeframe volledig vrij te houden voor één taak zul je je beter kunnen concentreren. Je besteedt geen aandacht aan telefoontjes, mailtjes en vragen tussendoor, maar richt je enkel op die ene activiteit, waardoor je snel meters kunt maken. Ook kies je een tijd die jou het beste ligt voor een bepaalde activiteit. Ingewikkeld denkwerk doe je misschien liever in de ochtend, eenvoudige vragen beantwoorden in de middag of creatief werk in de avond.
3. Je behaalt sneller Return On Investment
Waar het uiteindelijk om draait is Return On Investment. De software-ontwikkeling kost geld en moet uiteindelijk winst opleveren voor de klant(en) die er mee gaat/gaan werken. We kennen allemaal de verhalen van eindeloze projecten en werkzaamheden waarbij uiteindelijk producten worden opgeleverd die niet aan de verwachtingen voldoen, ‘over-engineered’ en te duur zijn. Timeboxing dwingt je om direct te werken aan wat Return On Investment oplevert voor de klant. Door tussentijds regelmatig met de klant te communiceren blijf je werken aan wat echt waardevol is voor de klant en steek je geen tijd in verkeerde, overbodige of onbelangrijke zaken.
Maar…waak voor de kwaliteit!
Timeboxing werkt alleen wanneer je het goed toepast en dit in samenwerking doet met de klant. Met deze methode voor de ontwikkeling van software hoef je je geen zorgen meer te maken over tijd en budget. En door goed te communiceren met de klant zal het qua functionaliteit ook goed zitten. Maar hoe zit het met de vierde component van het duivelsvierkant, kwaliteit? Tijdsdruk kan de kwaliteit ondermijnen. Het mag natuurlijk niet gebeuren dat werkzaamheden worden afgeraffeld of dat er een product wordt opgeleverd dat nog niet af is. Dan is het beter om gezamenlijk een nieuwe timebox te reserveren die gebruikt wordt om het product af te ronden.
Joan Gaastra heeft als Product Owner het stuur in handen bij Dysel. Hij bepaalt welke functionaliteit wordt ontwikkeld en waar de prioriteiten liggen.