C'è un enorme lavoro sul calcolo del costo del software e della pianificazione. Al suo centro, il fatto è che c'è sempre qualche incertezza, il che significa che c'è sempre una probabilità diversa da zero di perdere la scadenza (e! Una probabilità diversa da zero di arrivare presto). Quando termini una scadenza, aumenti la probabilità di perdere la scadenza e aumenti la probabilità che tu abbia altri problemi, perché stai chiedendo che la tua gente tagli gli angoli e tagli gli angoli SEMPRE torna a perseguitarti.
Se hai conservato dati storici su progetti e costi, puoi calibrare un estimatore per la tua organizzazione, e sei quindi in grado di comunicare al CTO "Questo è ciò che i nostri dati storici indicano che possiamo fare. per farci rispettare la scadenza, lo faremo, ma comprendiamo che dovrai accettare un maggiore rischio di scadenza scaduta e gravi bug nel prodotto. "
Il peggior caso che abbia mai visto è stato a General Dynamics. Un errore del sistema di controllo del codice sorgente del software significava che un errore veniva inavvertitamente introdotto. Un programma di rilascio accelerato significava che un test critico, inteso a rilevare quel tipo specifico di bug, non veniva eseguito fino a un giorno o due dopo che il rilascio era stato inviato ad Edwards AFB per il test di volo. Il test ha mostrato una sicurezza del problema di volo che potrebbe comportare la perdita dell'aereo di prova e / o la morte del pilota di prova. (L'aereo di prova costava molti, molti milioni di dollari, molto più degli aeroplani di produzione, perché era un uccello unico costruito a mano: i buoni piloti di prova costano quasi tanto e sono molto a lungo guidati articoli.) Si scatenò l'inferno.