Fred Brooks citazioni famose

ultimo aggiornamento : 5 settembre 2024

other language: spanish | czech | german | french | italian | slovak | turkish | ukrainian | dutch | russian | portuguese

Fred Brooks
  • Puoi imparare di più dal fallimento che dal successo. Nel fallimento sei costretto a scoprire quale parte non ha funzionato. Ma nel successo puoi credere che tutto ciò che hai fatto è stato fantastico, quando in realtà alcune parti potrebbero non aver funzionato affatto. Il fallimento ti costringe ad affrontare la realtà.

  • Nove persone non possono fare un bambino in un mese.

  • Come fa un progetto ad essere in ritardo di un anno? Un giorno alla volta.

  • Mostrami i tuoi diagrammi di flusso e nascondi i tuoi tavoli, e continuerò ad essere confuso. Mostrami i tuoi tavoli e di solito non avrò bisogno dei tuoi diagrammi di flusso; saranno ovvi.

  • È molto difficile fare una difesa vigorosa, plausibile e rischiosa di lavoro di una stima che non è derivata da alcun metodo quantitativo, supportata da pochi dati e certificata principalmente dalle intuizioni dei manager

  • L'aggiunta di manodopera a un progetto software in ritardo lo rende più tardi

  • Uno scienziato costruisce per imparare; un ingegnere impara per costruire.

  • La parte più difficile della costruzione di un sistema software è decidere esattamente cosa costruire la funzione più importante che i costruttori di software fanno per i loro clienti è l'estrazione iterativa e il perfezionamento dei requisiti del prodotto. Perché la verità è che i clienti non sanno cosa vogliono. Di solito non sanno quali domande devono essere risolte e non hanno quasi mai pensato al problema nei dettagli che devono essere specificati.

  • La questione della gestione, quindi, non è se costruire un sistema pilota e buttarlo via. Lo farai. Quindi pianifica di buttarne via uno; lo farai, comunque.

  • Gli scienziati costruiscono per imparare; Gli ingegneri imparano a costruire.

  • Il portamento di un bambino richiede nove mesi, non importa quante donne siano assegnate.

  • Non esiste un singolo sviluppo, né nella tecnologia né nella tecnica di gestione, che di per sé promette anche un miglioramento di un ordine di grandezza entro un decennio in termini di produttività, affidabilità, semplicità.

  • Identificare sistematicamente i migliori designer il prima possibile. I migliori spesso non sono i più esperti.

  • Adattarsi al requisito della perfezione è, penso, la parte più difficile dell'imparare a programmare.

  • Un principio di base dell'elaborazione dei dati insegna la follia di cercare di mantenere file indipendenti nel sincronismo.

  • Il programmatore, come il poeta, lavora solo leggermente rimosso dal puro pensiero. Costruisce i suoi castelli nell'aria, dall'aria, creando con lo sforzo dell'immaginazione. Pochi mezzi di creazione sono così flessibili, così facili da lucidare e rielaborare, così facilmente in grado di realizzare grandi strutture concettuali.

  • Il problema fondamentale con la manutenzione del programma è che la correzione di un difetto ha una probabilità sostanziale (20-50%) di introdurne un altro. Quindi l'intero processo è di due passi avanti e un passo indietro..

  • Il boss deve prima distinguere tra informazioni sull'azione e informazioni sullo stato. Deve disciplinare se stesso per non agire sui problemi che i suoi manager possono risolvere e non agire mai sui problemi quando sta rivedendo esplicitamente lo stato.

  • Anche la migliore pianificazione non è così onnisciente da farlo bene la prima volta.

  • La parte più difficile del compito del software è arrivare a una specifica completa e coerente, e gran parte dell'essenza della costruzione di un programma è in realtà il debug della specifica.

  • Tutti i programmatori sono ottimisti. Forse questa stregoneria moderna attrae soprattutto coloro che credono nel lieto fine e nelle madrine delle fate. Forse le centinaia di frustrazioni nitty allontanano tutti, ma quelli che abitualmente si concentrano sull'obiettivo finale. Forse è semplicemente che i computer sono giovani, i programmatori sono più giovani, e i giovani sono sempre ottimisti.

  • La parte più difficile della costruzione di un sistema software è decidere esattamente cosa costruire.

  • Einstein sosteneva che ci devono essere spiegazioni semplificate della natura, perché Dio non è capriccioso o arbitrario. Nessuna tale fede conforta l'ingegnere del software.

  • Pianifica di buttarne via uno (implementazione); lo farai, comunque.

  • Il software di successo viene sempre cambiato.

  • L'integrità concettuale è la considerazione più importante nella progettazione del sistema.

  • Una piccola retrospettiva mostra che sebbene molti sistemi software utili e raffinati siano stati progettati da comitati e costruiti come parte di progetti multipart, quei sistemi software che hanno entusiasmato i fan appassionati sono quelli che sono i prodotti di una o poche menti di progettazione, grandi designer.

  • Studio dopo studio dimostra che i migliori progettisti producono strutture che sono più veloci, più piccole, più semplici, più chiare e prodotte con meno sforzo. Le differenze tra la grande e la media si avvicinano ad un ordine di grandezza.

  • La complessità del software è una proprietà essenziale, non accidentale. Quindi, le descrizioni di un'entità software che astrae la sua complessità spesso astraggono la sua essenza.

  • L'essenza di un'entità software è un costrutto di concetti interconnessi: [...] Credo che la parte difficile della costruzione del software sia la specifica, la progettazione e il test di questo costrutto concettuale, non il lavoro di rappresentarlo e testare la fedeltà della rappresentazione.

  • Un antico adagio avverte: "Non andare mai in mare con due cronometri; prendine uno o tre.

  • Job Control Language è il peggior linguaggio di programmazione mai progettato da chiunque per qualsiasi scopo.

  • L'arma principale del programmatore nella battaglia senza fine contro il sistema lento è cambiare la struttura intramodulare. La nostra prima risposta dovrebbe essere quella di riorganizzare le strutture dati dei moduli.

  • Il termine architettura è usato qui per descrivere gli attributi di un sistema visti dal programmatore, cioè la struttura concettuale e il comportamento funzionale, come distinti dall'organizzazione del flusso e dei controlli dei dati, dalla progettazione logica e dall'implementazione fisica. i. Ulteriori dettagli riguardanti l'architettura

  • Più progetti software sono andati storto per mancanza di tempo di calendario che per tutte le altre cause combinate.

  • La magia del mito e della leggenda si è avverata nel nostro tempo. Si digita l'incantesimo corretto su una tastiera e uno schermo prende vita, mostrando cose che non sono mai state né potrebbero essere.... Il computer assomiglia alla magia della leggenda anche sotto questo aspetto. Se un carattere, una pausa, dell'incantesimo non è strettamente nella forma corretta, la magia non funziona. Gli esseri umani non sono abituati ad essere perfetti, e poche aree dell'attività umana lo richiedono. Adattarsi al requisito della perfezione è, penso, la parte più difficile dell'imparare a programmare.