Ieder project dat wordt uitgevoerd volgens Smart kent verschillende iteraties. Een iteratie is een van te voren vastgestelde periode, een timebox. Tijdens zo'n iteratie worden de fasen planning, ontwerp, bouw en invoering doorlopen, waarbij de fasen ontwerp en bouw vaak meerdere malen worden doorlopen in kleinere iteraties. Iteraties worden uitgevoerd in timeboxes.In Smart kunnen de iteratieve fasen van een project op verschillende manieren worden uitgevoerd. Eén van de mogelijkheden is om verschillende kleinere iteraties uit te voeren over de taken in de fase ontwerp, en vervolgens meerdere kleinere iteraties over de taken in de fase bouw. Een vaker toegepaste strategie is om kleinere iteraties te definiëren over zowel de taken uit ontwerp alswel bouw. Zo wordt na afloop van zo'n kleinere iteratie altijd nieuwe functionaliteit opgeleverd of bestaande functionaliteit verbeterd. Om als team het overzicht te houden over de status van functionaliteit zijn deze mini-iteraties gericht op één of enkele use cases die in een dag onderhanden worden genomen. Elke dag bestaat dus uit zogeheten 'use case iteraties' omdat de gekozen activiteiten van dag tot dag ophangen aan één of enkele use cases. De tweede strategie blijkt in de praktijk efficiënter voor applicaties met veel user interfaces. De eerste strategie voldoet beter bij projecten waarbij relatief veel complexe functionaliteit voorkomt, zoals het ontwikkelen van batch-applicaties. | |