Dipende da quanto è complesso il software. È possibile creare un software che faccia qualcosa di interessante in uno o due giorni. Ludum Dare è una competizione in cui le persone creano un gioco originale da zero in un solo fine settimana, e le proposte vincenti riescono ad essere giocabili e divertenti nonostante questi limiti di tempo. Il software commerciale richiede tipicamente più nell'ordine di "mesi o anni" prima che qualcuno pensi che valga i suoi soldi, però.
Se si cerca di stimare in anticipo quanto tempo richiederà un dato progetto software, molto spesso la risposta sarà "più lungo del previsto", poiché i progetti software sono noti per non essere spesso completati nel tempo che era stato pianificato per loro. La ragione di ciò è che una parte significativa del tempo necessario per costruire un software è spesa per cose inaspettate - bug, difficoltà tecniche, requisiti che cambiano improvvisamente a metà strada, eccetera.
Il primo 90% del codice rappresenta il primo 90% del tempo di sviluppo. Il restante 10% del codice rappresenta il restante 90% del tempo di sviluppo.
- Tom Cargill (attribuito)
Ma questo problema di non sapere quanto tempo ci vorrà per costruire il vostro software può essere evitato non avendo affatto una data di fine progetto. Recentemente, grazie alla capacità di trasmettere gli aggiornamenti del software su internet, la consegna continua è diventata popolare. Invece di creare un singolo, raffinato pezzo di software e masterizzarlo in un CD-rom, le caratteristiche desiderate del software possono essere messe in ordine di priorità per creare il più piccolo prodotto possibile che sia ancora abbastanza buono da essere rilasciato come prima versione. Non appena queste caratteristiche sono completate, il software viene rilasciato, dopo di che viene automaticamente aggiornato ogni poche settimane con una nuova versione contenente nuove caratteristiche e correzioni di bug. Questo significa che un software del genere richiede qualche mese per essere costruito (per la prima versione) o diversi decenni (se questo è il tempo in cui il team che lavora al software finirà per rilasciare nuove versioni)? Decidete voi!