Penso che una certa pressione in un progetto sia OK perché aiuta a mantenere la concentrazione.
Tuttavia, se la pressione non è realistica o se la comunicazione tra dirigenti e tecnici non funziona correttamente, sì, esiste il rischio che la pianificazione della pressione si traduca in cattiva qualità e / o consegna tardiva.
Uno sviluppatore esperto saprà che non dovrebbe produrre la soluzione perfetta, ma piuttosto una soluzione che sia abbastanza buona . Quindi la stima fornita da tale sviluppatore rifletterà già la loro comprensione di ciò che è abbastanza buono per un particolare progetto.
Ci sono molti fattori che influenzano la definizione di abbastanza buono.
Ad esempio, quanti mesi dura il progetto? Se il progetto dura un anno, è possibile scrivere un prototipo di quel modulo particolarmente difficile piuttosto rapidamente all'inizio del progetto e quindi si hanno diversi mesi per testarlo ed eseguirne il debug come attività secondaria per lo sviluppo di altri moduli più di routine. (Si può lasciare che il modulo maturi per diversi mesi fino a quando non è abbastanza buono quindi non c'è bisogno di cercare di farlo bene fin dall'inizio.) Trovo questa strategia molto efficace, ma avete bisogno di un manager che si fida di voi e vi permetterà di mantenere un progetto aperto per mesi. Un altro manager (diffidente) potrebbe spingerti a finire quel modulo il più presto possibile (non importa se dovrai ripararlo in seguito e se questo approccio alla fine costerà molto più tempo in totale).
Un altro esempio: il progetto è per un prodotto che avrà una sola versione. Quindi puoi provare a farlo rapidamente e fare affidamento su test approfonditi per garantire che il prodotto funzioni come previsto (veloce e sporco è abbastanza buono ). D'altra parte, se il prodotto avrà due o tre versioni, è meglio dedicare un po 'di tempo alla progettazione, per evitare una riscrittura estesa del codice per le versioni successive. (In questo caso, veloce e sporco non è abbastanza buono perché il tempo di sviluppo totale nelle tre versioni è maggiore.)
In conclusione, penso che una cattiva comunicazione tra management e tecnici e la mancanza di una comprensione comune di ciò che è abbastanza buono per il progetto in corso possa portare a un'eccessiva pressione di programmazione, con conseguente cattiva qualità / consegna in ritardo.
Non c'è mai abbastanza tempo per farlo correttamente la prima volta, ma c'è sempre abbastanza tempo per ripararlo in seguito.