Fred Brooks

Image of Fred Brooks
Good judgment comes from experience and experience comes from bad judgment.
- Fred Brooks
Collection: Experience
Image of Fred Brooks
There is no single development, in either technology or management technique, which by itself promises even one order-of-magnitude improvement within a decade in productivity, in reliability, in simplicity.
- Fred Brooks
Collection: Technology
Image of Fred Brooks
How does a project get to be a year late? One day at a time.
- Fred Brooks
Image of Fred Brooks
The fundamental problem with program maintenance is that fixing a defect has a substantial chance of introducing another.
- Fred Brooks
Image of Fred Brooks
Systematically identity top designers as early as possible. The best are often not the most experienced.
- Fred Brooks
Image of Fred Brooks
Adding manpower to a late software project makes it later.
- Fred Brooks
Image of Fred Brooks
How does a project get to be a year behind schedule? One day at a time.
- Fred Brooks
Image of Fred Brooks
The hardest single part of building a software system is deciding precisely what to build.
- Fred Brooks
Collection: Building
Image of Fred Brooks
Nine people can't make a baby in a month.
- Fred Brooks
Collection: Baby
Image of Fred Brooks
Adding manpower to a late software project makes it later
- Fred Brooks
Collection: Computer
Image of Fred Brooks
The hardest single part of building a software system is deciding precisely what to build the most important function that software builders do for their clients is the iterative extraction and refinement of the product requirements. For the truth is, the clients do not know what they want. They usually do not know what questions must be answered, and they have almost never thought of the problem in the detail that must be specified.
- Fred Brooks
Collection: Important
Image of Fred Brooks
You can learn more from failure than success. In failure you're forced to find out what part did not work. But in success you can believe everything you did was great, when in fact some parts may not have worked at all. Failure forces you to face reality.
- Fred Brooks
Collection: Believe
Image of Fred Brooks
A scientist builds in order to learn; an engineer learns in order to build.
- Fred Brooks
Collection: Order
Image of Fred Brooks
The bearing of a child takes nine months, no matter how many women are assigned.
- Fred Brooks
Collection: Patience
Image of Fred Brooks
Present to inform, not to impress. If you inform, you will impress.
- Fred Brooks
Collection: Impress
Image of Fred Brooks
The hardest part of the software task is arriving at a complete and consistent specification, and much of the essence of building a program is in fact the debugging of the specification.
- Fred Brooks
Collection: Learning
Image of Fred Brooks
An ancient adage warns, "Never go to sea with two chronometers; take one or three."
- Fred Brooks
Collection: Sea
Image of Fred Brooks
The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures.
- Fred Brooks
Collection: Media
Image of Fred Brooks
Show me your flowcharts and conceal your tables, and I shall continue to be mystified. Show me your tables, and I won't usually need your flowcharts; they'll be obvious.
- Fred Brooks
Collection: Needs
Image of Fred Brooks
Software work is the most complex that humanity has ever undertaken.
- Fred Brooks
Collection: Humanity
Image of Fred Brooks
Even the best planning is not so omniscient as to get it right the first time.
- Fred Brooks
Collection: Firsts
Image of Fred Brooks
Well over half of the time you spend working on a project (on the order of 70 percent) is spent thinking, and no tool, no matter how advanced, can think for you. Consequently, even if a tool did everything except the thinking for you - if it wrote 100 percent of the code, wrote 100 percent of the documentation, did 100 percent of the testing, burned the CD-ROMs, put them in boxes, and mailed them to your customers - the best you could hope for would be a 30 percent improvement in productivity. In order to do better than that, you have to change the way you think.
- Fred Brooks
Collection: Thinking
Image of Fred Brooks
System debugging, like astronomy, has always been done chiefly at night.
- Fred Brooks
Collection: Night
Image of Fred Brooks
Design work doesn't just satisfy requirements, it elicits them.
- Fred Brooks
Collection: Design Work
Image of Fred Brooks
Observe that for the programmer, as for the chef, the urgency of the patron may govern the scheduled completion of the task, but it cannot govern the actual completion. An omelette, promised in two minutes, may appear to be progressing nicely. But when it has not set in two minutes, the customer has two choices - wait or eat it raw. Software customers have had the same choices.
- Fred Brooks
Collection: Two
Image of Fred Brooks
Men and months are interchangeable commodities only when a task can be partitioned among many workers with no communication among them.
- Fred Brooks
Collection: Communication
Image of Fred Brooks
Systems program building is an entropy-decreasing process, hence inherently metastable. Program maintenance is an entropy-increasing process, and even its most skillful execution only delays the subsidence of the system into unfixable obsolescence.
- Fred Brooks
Collection: Maintenance
Image of Fred Brooks
The fundamental problem with program maintenance is that fixing a defect has a substantial (20-50 percent) chance of introducing another. So the whole process is two steps forward and one step back.
- Fred Brooks
Collection: Two
Image of Fred Brooks
Dissertations are not finished; they are abandoned.
- Fred Brooks
Collection: Abandoned
Image of Fred Brooks
Consensus processes starve innovative design by eating the resource.
- Fred Brooks
Collection: Design
Image of Fred Brooks
I am more convinced than ever. Conceptual integrity is central to product quality.
- Fred Brooks
Collection: Integrity
Image of Fred Brooks
I have never seen an experienced programmer who routinely made detailed flow charts before beginning to write programs.
- Fred Brooks
Collection: Writing
Image of Fred Brooks
Conceptual integrity is the most important consideration in system design.
- Fred Brooks
Collection: Integrity
Image of Fred Brooks
Improving your process won't move you from good to great design. It'll move you from bad to average.
- Fred Brooks
Collection: Moving
Image of Fred Brooks
It is very difficult to make a vigorous, plausible, and job-risking defense of an estimate that is derived by no quantitative method, supported by little data, and certified chiefly by the hunches of the managers
- Fred Brooks
Collection: Jobs
Image of Fred Brooks
Successful software always gets changed.
- Fred Brooks
Collection: Learning
Image of Fred Brooks
The critical thing about the design process is to identify your scarcest resource. Despite what you may think, that very often is not money. For example, in a NASA moon shot, money is abundant but lightness is scarce; every ounce of weight requires tons of material below. On the design of a beach vacation home, the limitation may be your ocean-front footage. You have to make sure your whole team understands what scarce resource you're optimizing.
- Fred Brooks
Collection: Beach
Image of Fred Brooks
The complexity of software is an essential property, not an accidental one. Hence, descriptions of a software entity that abstract away its complexity often abstracts away its essence.
- Fred Brooks
Collection: Essence
Image of Fred Brooks
When a task cannot be partitioned because of sequential constraints, the application of more effort has no effect on the schedule. The bearing of a child takes nine months, no matter how many women are assigned.
- Fred Brooks
Collection: Children
Image of Fred Brooks
All programmers are optimists. Perhaps this modern sorcery especially attracts those who believe in happy endings and fairy godmothers. Perhaps the hundreds of nitty frustrations drive away all but those who habitually focus on the end goal. Perhaps it is merely that computers are young, programmers are younger, and the young are always optimists.
- Fred Brooks
Collection: Believe
Image of Fred Brooks
The essence of a software entity is a construct of interlocking concepts. I believe the hard part of building software to be the specification, design, and testing of this conceptual construct, not the labor of representing it and testing the fidelity of the representation.
- Fred Brooks
Collection: Believe
Image of Fred Brooks
Predictability and great design are not friends.
- Fred Brooks
Collection: Design
Image of Fred Brooks
Mediocre design provably wastes the world's resources, corrupts the environment, affects international competitiveness. Design is important.
- Fred Brooks
Collection: Design
Image of Fred Brooks
The management question, therefore, is not whether to build a pilot system and throw it away. You will do that. Hence plan to throw one away; you will, anyhow.
- Fred Brooks
Collection: Pilots
Image of Fred Brooks
Originality is no excuse for ignorance.
- Fred Brooks
Collection: Ignorance
Image of Fred Brooks
Adjusting to the requirement for perfection is, I think, the most difficult part of learning to program.
- Fred Brooks
Collection: Thinking
Image of Fred Brooks
The first step toward the management of disease was replacement of demon theories and humours theories by the germ theory. That very step, the beginning of hope, in itself dashed all hopes of magical solutions. It told workers that progress would be made stepwise, at great effort, and that a persistent, unremitting care would have to be paid to a discipline of cleanliness. So it is with software engineering today.
- Fred Brooks
Collection: Engineering
Image of Fred Brooks
System debugging has always been a graveyard-shift occupation, like astronomy.
- Fred Brooks
Collection: Debugging
Image of Fred Brooks
Study after study shows that the very best designers produce structures that are faster, smaller, simpler, clearer, and produced with less effort. The differences between the great and the average approach an order of magnitude.
- Fred Brooks
Collection: Average
Image of Fred Brooks
The magic of myth and legend has come true in our time. One types the correct incantation on a keyboard, and a display screen comes to life, showing things that never were nor could be.... The computer resembles the magic of legend in this respect, too. If one character, one pause, of the incantation is not strictly in proper form, the magic doesn't work. Human beings are not accustomed to being perfect, and few areas of human activity demand it. Adjusting to the requirement for perfection is, I think, the most difficult part of learning to program.
- Fred Brooks
Collection: Character