💬 SenQuotes.com
 Quotes

Fred Brooks Quotes

Fred Brooks Quotes
1.
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

2.
The Waterfall Model is wrong and harmful; we must outgrow it.
Fred Brooks

3.
How does a project get to be a year behind schedule? One day at a time.
Fred Brooks

4.
Nine people can't make a baby in a month.
Fred Brooks

5.
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

Similar Authors: Ralph Waldo Emerson William Shakespeare Donald Trump Mahatma Gandhi Barack Obama Rush Limbaugh Henry David Thoreau Friedrich Nietzsche Mark Twain Rajneesh Cassandra Clare C. S. Lewis Albert Einstein Oscar Wilde Thomas Jefferson
6.
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

7.
System debugging has always been a graveyard-shift occupation, like astronomy.
Fred Brooks

8.
A scientist builds in order to learn; an engineer learns in order to build.
Fred Brooks

Quote Topics by Fred Brooks: Design Programming Thinking Important Order Data Learning Requirements Software Men Believe Essence Two Jobs Effort Plans Children Race Debugging Tasks Average Scientist Discipline Maintenance Integrity Media Ignorance Diversity Language Nine
9.
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

10.
The hardest single part of building a software system is deciding precisely what to build.
Fred Brooks

11.
Mediocre design provably wastes the world's resources, corrupts the environment, affects international competitiveness. Design is important.
Fred Brooks

12.
Adding manpower to a late software project makes it later
Fred Brooks

13.
System debugging, like astronomy, has always been done chiefly at night.
Fred Brooks

14.
The bearing of a child takes nine months, no matter how many women are assigned.
Fred Brooks

15.
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

16.
An ancient adage warns, "Never go to sea with two chronometers; take one or three."
Fred Brooks

17.
I am more convinced than ever. Conceptual integrity is central to product quality.
Fred Brooks

18.
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

19.
Present to inform, not to impress. If you inform, you will impress.
Fred Brooks

20.
Einstein repeatedly argued that there must be simplified explanations of nature, because God is not capricious or arbitrary. No such faith comforts the software engineer.
Fred Brooks

21.
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

22.
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

23.
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

24.
I have never seen an experienced programmer who routinely made detailed flow charts before beginning to write programs.
Fred Brooks

25.
Originality is no excuse for ignorance.
Fred Brooks

26.
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

27.
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

28.
The brain alone is intricate beyond mapping, powerful beyond imitation, rich in diversity, self-protecting, and self-renewing. The secret is that it is grown, not built.
Fred Brooks

29.
But I will argue that knowing complete product requirements up front is a quite rare exception, not the norm.
Fred Brooks

30.
A computer program is a message from a man to a machine. The rigidly marshaled syntax and the scrupulous definitions all exist to make intention clear to the dumb engine.
Fred Brooks

31.
Systematically identity top designers as early as possible. The best are often not the most experienced.
Fred Brooks

32.
Consensus processes starve innovative design by eating the resource.
Fred Brooks

33.
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

34.
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

35.
Conceptual integrity is the most important consideration in system design.
Fred Brooks

36.
More software projects have gone awry for lack of calendar time than for all other causes combined.
Fred Brooks

37.
Software and hardware design is less different than software designers think, but more different than hardware designers think.
Fred Brooks

38.
The boss must first distinguish between action information and status information. He must discipline himself not to act on problems his managers can solve, and never to act on problems when he is explicitly reviewing status.
Fred Brooks

39.
Successful software always gets changed.
Fred Brooks

40.
Adjusting to the requirement for perfection is, I think, the most difficult part of learning to program.
Fred Brooks

41.
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

42.
A design style is defined by a set of microdecisions. A clear style reflects a consistent set. A clear style may not be a good style; a muddled one never is.
Fred Brooks

43.
To only a fraction of the human race does God give the privilege of earning one's bread doing what one would have gladly pursued free, for passion.
Fred Brooks

44.
Scientists build to learn; Engineers learn to build.
Fred Brooks

45.
Predictability and great design are not friends.
Fred Brooks

46.
Even the best planning is not so omniscient as to get it right the first time.
Fred Brooks

47.
Improving your process won't move you from good to great design. It'll move you from bad to average.
Fred Brooks

48.
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

49.
One can expect the human race to continue attempting systems just within or just beyond our reach; and software systems are perhaps the most intricate and complex of man's handiworks. The management of this complex craft will demand our best use of new languages and systems, our best adaptation of proven engineering management methods, liberal doses of common sense, and a God-given humility to recognize our fallibility and limitations.
Fred Brooks

50.
A little retrospection shows that although many fine, useful software systems have been designed by committees and built as part of multipart projects, those software systems that have excited passionate fans are those that are the products of one or a few designing minds, great designers.
Fred Brooks