Top 52 Fred Brooks Quotes
#1. Mediocre design provably wastes the world's resources, corrupts the environment, affects international competitiveness. Design is important.
Fred Brooks
#2. When fits of creativity run strong, more than one programmer or writer has been known to abandon the desktop for the more spacious floor.
Fred Brooks
#3. 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
#4. 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
#5. Job Control Language is the worst programming language ever designed anywhere by anybody for any purpose.
Fred Brooks
#6. 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
#7. How does a project get to be a year behind schedule? One day at a time.
Fred Brooks
#8. The hardest single part of building a software system is deciding precisely what to build.
Fred Brooks
#9. Dissertations are not finished; they are abandoned.
Fred Brooks
#10. The Waterfall Model is wrong and harmful; we must outgrow it.
Fred Brooks
#11. The programmer's primary weapon in the never-ending battle against slow system is to change the intramodular structure. Our first response should be to reorganize the modules' data structures.
Fred Brooks
#12. Conceptual integrity is the most important consideration in system design.
Fred Brooks
#13. Predictability and great design are not friends.
Fred Brooks
#14. System debugging, like astronomy, has always been done chiefly at night.
Fred Brooks
#15. Men and months are interchangeable commodities only when a task can be partitioned among many workers with no communication among them.
Fred Brooks
#16. Present to inform, not to impress. If you inform, you will impress.
Fred Brooks
#17. 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
#18. Plan to throw one (implementation) away; you will, anyhow.
Fred Brooks
#19. A scientist builds in order to learn; an engineer learns in order to build.
Fred Brooks
#20. Software work is the most complex that humanity has ever undertaken.
Fred Brooks
#21. Nine people can't make a baby in a month.
Fred Brooks
#22. 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
#23. We tend to blame the physical media for most of our implementation difficulties; for the media are not "ours" in the way the ideas are, and our pride colors our judgement.
Fred Brooks
#24. 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
#25. 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
#26. I have never seen an experienced programmer who routinely made detailed flow charts before beginning to write programs.
Fred Brooks
#27. The fundamental problem with program maintenance is that fixing a defect has a substantial chance of introducing another.
Fred Brooks
#28. 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
#29. Einstein 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
#30. System debugging has always been a graveyard-shift occupation, like astronomy.
Fred Brooks
#31. Software and hardware design is less different than software designers think, but more different than hardware designers think.
Fred Brooks
#32. Successful software always gets changed.
Fred Brooks
#33. Originality is no excuse for ignorance.
Fred Brooks
#34. Even the best planning is not so omniscient as to get it right the first time.
Fred Brooks
#35. 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
#36. 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
#37. 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
#38. Systematically identity top designers as early as possible. The best are often not the most experienced.
Fred Brooks
#39. Improving your process won't move you from good to great design. It'll move you from bad to average.
Fred Brooks
#40. Process improvement is most valuable in raising the floor of a community's practice.
Fred Brooks
#41. Design work doesn't just satisfy requirements, it elicits them.
Fred Brooks
#42. How does a project get to be a year late? One day at a time.
Fred Brooks
#43. 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
#44. 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
#45. More software projects have gone awry for lack of calendar time than for all other causes combined.
Fred Brooks
#46. An ancient adage warns, Never go to sea with two chronometers; take one or three.
Fred Brooks
#47. But I will argue that knowing complete product requirements up front is a quite rare exception, not the norm.
Fred Brooks
#48. Scientists build to learn; Engineers learn to build.
Fred Brooks
#49. 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
#50. I am more convinced than ever. Conceptual integrity is central to product quality.
Fred Brooks
#51. Product procedure ... must securely protect the crown jewels, but, equally important, it must eschew building high fences around the garbage cans.
Fred Brooks
#52. Consensus processes starve innovative design by eating the resource.
Fred Brooks
Famous Authors
Popular Topics
Scroll to Top