De fleste smidige utviklingsmetoder bryter produktutviklingsarbeidet ned i små trinn som minimerer mengden planlegging og design på forhånd. Iterasjoner eller sprinter er korte tidsrammer (tidsbokser) som vanligvis varer fra 1-4 uker. Hver iterasjon innebærer at et tverrfaglig lag arbeider i alle funksjoner: planlegging, analyse, design, koding, enhetstesting og akseptansetesting. På slutten av iterasjonen vises et fungerende produkt til interessentene. Dette minimerer den totale risikoen og gjør at produktet raskt kan tilpasses endringer. En iterasjon kan ikke legge til nok funksjonalitet for å garantere en markedsutgivelse, men målet er å ha en tilgjengelig utgivelse (som har minimalt med programlus) på slutten av hver iterasjon. Gjennom inkrementell utvikling har produkter plass til å "mislykkes ofte og tidlig" gjennom hver iterativ fase i stedet for drastisk på en endelig utgivelsesdato. Flere iterasjoner kan være nødvendig for å utgi et produkt eller nye funksjoner. Fungerende programvare er det primære målet for fremgang.