Site uses cookies to provide basic functionality.

OK
Query
Tags
Author
1 2 3
Link Quote Stars Tags Author
c82ad86 Adding manpower to a late software project, makes it later. Frederick P. Brooks Jr.
92962a5 As time passes, the system becomes less and less well-ordered. Sooner or later the fixing cease to gain any ground. Each forward step is matched by a backward one. Although in principle usable forever, the system has worn out as a base for progress. ...A brand-new, from-the-ground-up redesign is necessary. Frederick P. Brooks Jr.
c434280 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. Frederick P. Brooks Jr.
38b17f5 The general tendency is to over-design the second system, using all the ideas and frills that were cautiously sidetracked on the first one. Frederick P. Brooks Jr.
8cdf8e7 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. Frederick P. Brooks Jr.
9c1e627 The management question, therefore, is not whether to build a pilot system and throw it away. You will do that. The only question is whether to plan in advance to build a throwaway, or to promise to deliver the throwaway to customers. Frederick P. Brooks Jr.
4e65a46 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. The cook has another choice; he can turn up the heat. The result is often an omelette nothing can save--burned in one part, raw in another. Frederick P. Brooks Jr.
604d811 For the human makers of things, the incompletenesses and inconsistencies of our ideas become clear only during implementation. Frederick P. Brooks Jr.
adf2a0b Men and months are interchangeable commodities only when a task can be partitioned among many workers with no communication among them (Fig. 2.1). This is true of reaping wheat or picking cotton; it is not even approximately true of systems programming. Frederick P. Brooks Jr.
64c0fec Today I am more convinced than ever. Conceptual integrity is central to product quality. Having a system architect is the most important single step toward conceptual integrity. These principles are by no means limited to software systems, but to the design of any complex construct, whether a computer, an airplane, a Strategic Defense Initiative, a Global Positioning System. After teaching a software engineering laboratory more than 20 time.. Frederick P. Brooks Jr.
e8596c2 Adjusting to the requirement for perfection is, I think, the most difficult part of learning to program. Frederick P. Brooks Jr.
a4d66bf Study after study shows that the very best designers produce structures that are faster, smaller, simpler, cleaner, and produced with less effort. The differences between the great and the average approach an order of magnitude. Frederick P. Brooks Jr.
113a9ff give a great deal of attention to keeping his managers and his technical people as interchangeable as their talents allow. The barriers are sociological... To overcome this problem some laboratories, such as Bell Labs, abolish all job titles. Each professional employee is a "member of technical staff." Frederick P. Brooks Jr.
41e494d The challenge and the mission are to find real solutions to real problems on actual schedules with available resources. Frederick P. Brooks Jr.
f1d0d1c 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. Frederick P. Brooks Jr.
8be3d3d Adding manpower to a late software project makes it later. Frederick P. Brooks Jr.
0eb156f Everything has been composed, just not yet written down. LETTER TO LEOPOLD MOZART [1780] Frederick P. Brooks Jr.
8e1a9df By documenting a design, the designer exposes himself to the criticisms of everyone, and he must be able to defend everything he writes. If the organizational structure is threatening in any way, nothing is going to be documented until it is completely defensible. Frederick P. Brooks Jr.
944b3b1 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. software-engineering software-development einstein programming Frederick P. Brooks Jr.
fbfd3e5 Organizations which design systems are constrained to produce systems which are copies of the communication structures of these organizations. Frederick P. Brooks Jr.
80ed3dc Conway's Law predicts: "Organizations which design systems are constrained to produce systems which are copies of the communication structures of these organizations."[1] Conway goes on to point out that the organization chart will initially reflect the first system design, which is almost surely not the right one. If the system design is to be free to change, the organization must be prepared to change." Frederick P. Brooks Jr.
be25ef1 Years later, when I got to college, I learned about an important theory of psychology called Learned Helplessness, developed by Dr. Martin E. P. Seligman. This theory, backed up by years of research, is that a great deal of depression grows out of a feeling of helplessness: the feeling that you cannot control your environment. Frederick P. Brooks Jr.
3e5bd01 The success of the scaling-up process depends upon the fact that the conceptual integrity of each piece has been radically improved--that the number of minds determining the design has been divided by seven. So it is possible to put 200 people on a problem and face the problem of coordinating only 20 minds, those of the surgeons. For that coordination problem, however, separate techniques must be used, and these are discussed in succeeding .. Frederick P. Brooks Jr.
5ca23ca I will contend that conceptual integrity is the most important consideration in system design. It is better to have a system omit certain anomalous features and improvements, but to reflect one set of design ideas, than to have one that contains many good but independent and uncoordinated ideas. Frederick P. Brooks Jr.
d49fae3 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. Frederick P. Brooks Jr.
6f3cb6a Because ease of use is the purpose, this ratio of function to conceptual complexity is the ultimate test of system design. Neither function alone nor simplicity alone defines a good design. This point is widely misunderstood. Operating System/360 is hailed by its builders as the finest ever built, because it indisputably has the most function. Function, and not simplicity, has always been the measure of excellence for its designers. On the .. Frederick P. Brooks Jr.
09ddeb5 By the architecture of a system, I mean the complete and detailed specification of the user interface. For a computer this is the programming manual. For a compiler it is the language manual. For a control program it is the manuals for the language or languages used to invoke its functions. For the entire system it is the union of the manuals the user must consult to do his entire job. The architect of a system, like the architect of a buil.. Frederick P. Brooks Jr.
821e02c Indeed, the cost-performance ratio of the product will depend most heavily on the implementer, just as ease of use depends most heavily on the architect. Frederick P. Brooks Jr.
511efd0 Conceptual integrity does require that a system reflect a single philosophy and that the specification as seen by the user flow from a few minds. Because of the real division of labor into architecture, implementation, and realization, however, this does not imply that a system so designed will take longer to build. Experience shows the opposite, that the integral system goes together faster and takes less time to test. In effect, a widespr.. Frederick P. Brooks Jr.
9eb0492 the true implementers are intimately involved in the design process; their broad experience provides the balance for a designer's limited implementation examples. (In Frederick P. Brooks Jr.
26f0808 For it to be successful, the architect must * remember that the builder has the inventive and creative responsibility for the implementation; so the architect suggests, not dictates; * always be prepared to suggest a way of implementing anything he specifies, and be prepared to accept any other way that meets the objectives as well; * deal quietly and privately in such suggestions; * be ready to forego credit for suggested improvements. Nor.. Frederick P. Brooks Jr.
2aba511 The manual, or written specification, is a necessary tool, though not a sufficient one. The manual is the external specification of the product. It describes and prescribes every detail of what the user sees. Frederick P. Brooks Jr.
a15fa4e The manual, or written specification, is a necessary tool, though not a sufficient one. The manual is the external specification of the product. It describes and prescribes every detail of what the user sees. As such, it is the chief product of the architect. Frederick P. Brooks Jr.
2b09880 Why Have Formal Documents? First, writing the decisions down is essential. Only when one writes do the gaps appear and the inconsistencies protrude. The act of writing turns out to require hundreds of mini-decisions, and it is the existence of these that distinguishes clear, exact policies from fuzzy ones. Second, the documents will communicate the decisions to others. The manager will be continually amazed that policies he took for common .. Frederick P. Brooks Jr.
b3154b8 If there are n workers on a project, there are (n2-n)/2 interfaces across which there may be communication, and there are potentially almost 2n teams within which coordination must occur. The purpose of organization is to reduce the amount of communication and coordination necessary; hence organization is a radical attack on the communication problems treated above. The means by which communication is obviated are division of labor and spec.. Frederick P. Brooks Jr.
7435282 Finally, a manager's documents give him a data base and checklist. By reviewing them periodically he sees where he is, and he sees what changes of emphasis or shifts in direction are needed. Frederick P. Brooks Jr.
91c9c63 The job done least well by project managers is to utilize the technical genius who is not strong on management talent. Frederick P. Brooks Jr.
10af779 Structuring an organization for change is much harder than designing a system for change. Each man must be assigned to jobs that broaden him, so that the whole force is technically flexible. Frederick P. Brooks Jr.
062b213 Program maintenance involves no cleaning, lubrication, or repair of deterioration. It consists chiefly of changes that repair design defects. Much more often than with hardware, these changes include added functions. Usually they are visible to the user. The total cost of maintaining a widely used program is typically 40 percent or more of the cost of developing it. Surprisingly, this cost is strongly affected by the number of users. More u.. Frederick P. Brooks Jr.
3a06a41 Any attempt to fix it with minimum effort will repair the local and obvious, but unless the structure is pure or the documentation very fine, the far-reaching effects of the repair will be overlooked. Second, the repairer is usually not the man who wrote the code, and often he is a junior programmer or trainee. Frederick P. Brooks Jr.
57abd01 I do not believe we will find the magic here. Program verification is a very powerful concept, and it will be very important for such things as secure operating system kernels. The technology does not promise, however, to save labor. Verifications are so much work that only a few substantial programs have ever been verified. Program verification does not mean error-proof programs. There is no magic here, either. Mathematical proofs also can.. Frederick P. Brooks Jr.
a46ee54 Even at a cost of $100,000, a purchased piece of software is costing only about as much as one programmer-year. And delivery is immediate! Immediate at least for products that really exist, products whose developer can refer the prospect to a happy user. Moreover, such products tend to be much better documented and somewhat better maintained than homegrown software. The development of the mass market is, I believe, the most profound long-ru.. Frederick P. Brooks Jr.
c6d5030 The big change has been in the hardware/software cost ratio. The buyer of a $2-million machine in 1960 felt that he could afford $250,000 more for a customized payroll program, one that slipped easily and nondisruptively into the computer-hostile social environment. Buyers of $50,000 office machines today cannot conceivably afford customized payroll programs; so they adapt their payroll procedures to the packages available. Frederick P. Brooks Jr.
2184041 Nothing even convincing, much less exciting, has yet emerged from such efforts. I am persuaded that nothing will. Frederick P. Brooks Jr.
1 2 3