Penso che una certa quantità di pressione in un progetto sia OK perché aiuta a mantenere la concentrazione.
Tuttavia, se la pressione non è realistica, o se la comunicazione tra la direzione e il personale tecnico non funziona correttamente, sì, c'è il rischio che la pressione di pianificazione porti a cattiva qualità e / o consegna tardiva.
Uno sviluppatore esperto saprà che non è previsto che produca la soluzione perfetta, ma piuttosto una soluzione abbastanza buona . Quindi la stima fornita da un 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 poi si hanno diversi mesi per testarlo e debuggarlo come attività secondaria per lo sviluppo di altri moduli di routine. (Puoi lasciare il modulo maturo per diversi mesi fino a quando è abbastanza buono in modo da non doverlo riprovare fin dall'inizio.)
Trovo questa strategia molto efficace ma hai bisogno di un manager che si fidi di te e ti permetterà di mantenere un progetto aperto per mesi. Un altro (diffidente) manager potrebbe spingerti a finire quel modulo il prima possibile (non importa se dovrai ripararlo più tardi e se questo approccio alla fine richiederà 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 rilasci, meglio dedicare del tempo a progettarlo, per evitare una riscrittura estesa del codice per le versioni successive. (In questo caso, rapido e sporco è non abbastanza buono perché il tempo di sviluppo totale delle tre versioni è maggiore.)
In conclusione, ritengo che una cattiva comunicazione tra persone di gestione e tecnici e la mancanza di una comprensione comune di ciò che è abbastanza buono per il progetto possa portare a una pressione eccessiva di programmazione, con conseguente cattiva qualità / consegna tardiva.
Non c'è mai abbastanza tempo per farlo correttamente la prima volta, ma c'è sempre abbastanza tempo per sistemarlo più tardi.