Fred Brooks beroemde citaten

laatste update : 5 september 2024

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

Fred Brooks
  • Je kunt meer leren van falen dan van succes. Bij mislukking ben je gedwongen om erachter te komen welk deel niet werkte. Maar in succes kun je geloven dat alles wat je deed geweldig was, terwijl sommige delen misschien helemaal niet hebben gewerkt. Falen dwingt je om de realiteit onder ogen te zien.

  • Negen mensen kunnen geen baby maken in een maand.

  • Hoe komt een project een jaar achter op schema? Eén dag tegelijk.

  • Toon mij uw stroomschema ' s en verberg uw tafels, en Ik zal blijven verbijsterd. Laat me je tabellen zien, en Ik zal je stroomdiagrammen meestal niet nodig hebben; ze zullen duidelijk zijn.

  • Het is zeer moeilijk om een krachtige, plausibele en werkrisicovolle verdediging te maken van een schatting die wordt afgeleid door geen kwantitatieve methode, ondersteund door weinig gegevens en voornamelijk wordt gecertificeerd door de voorgevoelens van de managers.

  • Mankracht toevoegen aan een laat softwareproject maakt het later

  • Een wetenschapper bouwt om te leren; een ingenieur leert om te bouwen.

  • Het moeilijkste onderdeel van het bouwen van een softwaresysteem is om precies te beslissen wat te bouwen de belangrijkste functie die softwarebouwers voor hun klanten doen, is de iteratieve extractie en verfijning van de productvereisten. De waarheid is dat de klanten niet weten wat ze willen. Ze weten meestal niet welke vragen beantwoord moeten worden en ze hebben bijna nooit aan het probleem gedacht in de details die gespecificeerd moeten worden.

  • De vraag van het management is dus niet of er een pilotsysteem moet worden gebouwd en weggegooid. Dat zul je doen. Daarom plan je er een weg te gooien; je zult het hoe dan ook doen.

  • Wetenschappers bouwen om te leren; ingenieurs leren om te bouwen.

  • Het dragen van een kind duurt negen maanden, ongeacht hoeveel vrouwen er zijn toegewezen.

  • Er is geen enkele ontwikkeling, noch in technologie noch in managementtechniek, die op zichzelf zelfs maar één verbetering van orde van grootte binnen een decennium in productiviteit, in betrouwbaarheid, in eenvoud belooft.

  • Systematisch zo vroeg mogelijk topontwerpers identificeren. De besten zijn vaak niet de meest ervaren.

  • Aanpassen aan de behoefte aan perfectie is, denk ik, het moeilijkste deel van het leren programmeren.

  • Een basisprincipe van gegevensverwerking leert de dwaasheid van het proberen om onafhankelijke bestanden in synchonisme te behouden.

  • De programmeur werkt, net als de dichter, slechts licht verwijderd van zuivere gedachten. Hij bouwt zijn kastelen in de lucht, vanuit de lucht, creëren door inspanning van de verbeelding. Weinig media van creatie zijn zo flexibel, zo gemakkelijk te polijsten en te herwerken, zo gemakkelijk in staat om grote conceptuele structuren te realiseren.

  • Het fundamentele probleem met programmaonderhoud is dat het repareren van een defect een aanzienlijke (20-50 procent) kans heeft om een ander te introduceren. Het hele proces is dus twee stappen vooruit en één stap terug..

  • De baas moet eerst onderscheid maken tussen actie-informatie en statusinformatie. Hij moet zichzelf disciplineren om niet te handelen over problemen die zijn managers kunnen oplossen, en nooit om te handelen over problemen wanneer hij expliciet zijn status beoordeelt.

  • Zelfs de beste planning is niet zo alwetend om het de eerste keer goed te doen.

  • Het moeilijkste deel van de softwaretaak is het bereiken van een volledige en consistente specificatie, en veel van de essentie van het bouwen van een programma is in feite het debuggen van de specificatie.

  • Alle programmeurs zijn optimisten. Misschien trekt deze moderne tovenarij vooral degenen aan die geloven in gelukkige eindes en feeënpeetmoeders. Misschien verdrijven de honderden nitty frustraties iedereen behalve degenen die zich gewoonlijk op het einddoel richten. Misschien is het alleen maar dat computers jong zijn, programmeurs jonger, en de jongeren zijn altijd optimisten.

  • Het moeilijkste onderdeel van het bouwen van een softwaresysteem is om precies te beslissen wat te bouwen.

  • Einstein betoogde dat er vereenvoudigde verklaringen van de natuur moeten zijn, omdat God niet grillig of willekeurig is. Zo ' n geloof troost de software-ingenieur niet.

  • Plan om een (implementatie) weg te gooien; dat zal je toch doen.

  • Succesvolle software verandert altijd.

  • Conceptuele integriteit is de belangrijkste overweging bij het ontwerp van systemen.

  • Een kleine terugblik toont aan dat hoewel veel fijne, nuttige softwaresystemen zijn ontworpen door commissies en gebouwd als onderdeel van projecten met meerdere onderdelen, die softwaresystemen die gepassioneerde fans hebben opgewonden, de producten zijn van een of een paar ontwerpende geesten, grote ontwerpers.

  • Onderzoek na onderzoek toont aan dat de allerbeste ontwerpers structuren produceren die sneller, kleiner, eenvoudiger, duidelijker en met minder inspanning worden geproduceerd. De verschillen tussen het grote en het gemiddelde benaderen een orde van grootte.

  • De complexiteit van software is een essentiële eigenschap, niet een toevallige. Daarom abstraheren beschrijvingen van een software-entiteit die de complexiteit ervan wegneemt, vaak de essentie ervan.

  • De essentie van een software-entiteit is een constructie van verweven Concepten: [... Ik geloof dat het moeilijke deel van het bouwen van software de specificatie, het ontwerp en het testen van dit conceptuele construct is, niet de arbeid om het te vertegenwoordigen en de getrouwheid van de representatie te testen.

  • Een oud gezegde waarschuwt: "ga nooit met twee chronometers naar zee; neem er één of drie.

  • Job Control Language is de slechtste programmeertaal ooit ontworpen door iemand voor welk doel dan ook.

  • Het belangrijkste wapen van de programmeur in de nooit eindigende strijd tegen slow system is het veranderen van de intramodulaire structuur. Onze eerste reactie zou moeten zijn om de datastructuren van de modules te reorganiseren.

  • De term architectuur wordt hier gebruikt om de attributen van een systeem te beschrijven zoals gezien door de programmeur, d.w.z. de conceptuele structuur en functioneel gedrag, in tegenstelling tot de organisatie van de gegevensstroom en-besturing, het logische ontwerp en de fysieke implementatie. I. aanvullende details betreffende de architectuur

  • Er zijn meer softwareprojecten misgelopen door gebrek aan kalendertijd dan voor alle andere oorzaken samen.

  • De magie van mythe en legende is in onze tijd uitgekomen. Men typt de juiste spreuk op een toetsenbord, en een scherm komt tot leven, met dingen die nooit waren of konden zijn.... De computer lijkt ook in dit opzicht op de magie van de legende. Als één personage, één pauze, van de spreuk niet strikt in de juiste vorm is, werkt de magie niet. Mensen zijn niet gewend om perfect te zijn, en weinig gebieden van menselijke activiteit vereisen het. Aanpassen aan de behoefte aan perfectie is, denk ik, het moeilijkste deel van het leren programmeren.