Big design up front

Big design up front (BDUF) er en tilnærming til programvareutvikling der programmets design skal fullføres og perfeksjoneres før man begynner å implementere av programmet. Det er ofte forbundet med fossefallmodellen.

Synonymer for big design up front (BDUF) er big modeling up front (BMUF) og big requirements up front (BRUF). Disse sees på som antimønster innen smidig utvikling.

Motivasjon 
Tilhengere av fossefallmodellen hevder at tid brukt på å designe er en verdifull investering, med håp om at det vil kreve mindre tid og krefter å fikse en feil i de tidlige stadiene av en livssyklusen til en programvare. Denne ideen bygger på at det vil være enklere å fikse kravfeil i kravfasen enn å fikse den samme feil i implementeringsfasen, ettersom man da slipper å skrote implementeringsarbeid som allerede er gjort.

Smidig metodikk som alternativ 
Kritikere (spesielt de som praktiserer smidig programvareutvikling) hevder at BDUF legger opp til at designerne skal forutse utfordringer uten omfattende prototyping eller i det minste noen investeringer i implementering, men at programvarerelaterte problemer kan være vanskelige å forutse med en slik arbeidsmetode. De hevder også at BDUF er lite tilpasningsdyktig i tilfelle krav endres underveis i prosjektet. Dersom kostnaden ved planlegging er større enn kostnaden for å fikse vil tiden brukt på planlegging værebortkastet. Konsepter som kontinuerlig utrulling og automatiske oppdateringer kan gjøre redusere kostnadene ved produksjonsfeil betydelig. Utvikling basert på tilbakemeldinger fra brukere er generelt billigere enn å prøve å forutse og dokumentere alle aspekter av et system med BDUF.

Referanser 

Programvareutvikling