Sammenlignet med tradisjonell programvareutvikling, retter smidig programvareutvikling seg hovedsakelig mot komplekse systemer og produktutvikling med dynamiske, ikke-deterministiske og ikke-lineære egenskaper. Nøyaktige estimater, stabile planer og spådommer er ofte vanskelig å komme med i tidlige stadier, og tilliten til dem er sannsynligvis lav. Utøvere av smidig metodikk ønsker å redusere trossprang som trengs før man kan se bevis på verdi. Krav og design anses som å være stadig under utvikling. Detaljerte spesifikasjoner på forhånd vil trolig føre til mye bortkastet arbeid som kan være vanskelig å forsvare økonomisk. Disse argumentene og bransjeerfaring har bidratt til å gjøre at smidig utvikling lener seg i favør av adaptiv, iterativ og evolusjonær utvikling.