-
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 -
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
-
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 -
How does a project get to be a year late? One day at a time.
Fred Brooks -
The bearing of a child takes nine months, no matter how many women are assigned.
Fred Brooks -
The term architecture is used here to describe the attributes of a system as seen by the programmer, i.e., the conceptual structure and functional behavior, as distinct from the organization of the data flow and controls, the logical design, and the physical implementation. i. Additional details concerning the architecture,
Fred Brooks -
Good judgment comes from experience and experience comes from bad judgment.
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
-
Job Control Language is the worst programming language ever designed anywhere by anybody for any purpose.
Fred Brooks -
How does a project get to be a year behind schedule? One day at a time.
Fred Brooks -
Adding manpower to a late software project makes it later.
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 -
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. Much of the complexity he must master is arbitrary complexity … because they were designed by different people, rather than by God.
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
-
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 -
…the organization chart will initially reflect the first system design, which is almost surely not the right one … as one learns, he changes the design …. Management structures also need to be changed as the system changes…
Fred Brooks -
Even perfect program verification can only establish that a program meets its specification. … Much of the essence of building a program is in fact the debugging of the specification.
Fred Brooks -
The fundamental problem with program maintenance is that fixing a defect has a substantial chance of introducing another.
Fred Brooks -
Some people have called the book the 'bible of software engineering'. I would agree with that in one respect: that is, everybody quotes it, some people read it, and a few people go by it.
Fred Brooks -
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