Site uses cookies to provide basic functionality.

OK
Query
Tags
Author
1 2 3 4 5 6 7 8 9 10 11 12
Link Quote Stars Tags Author
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.
e6c807d Therefore 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 almost never have thought of the problem in the detail that must be specified. Even the simple answer--"Make the new software system work like our old manual informa.. Frederick P. Brooks Jr.
76c0ee8 If, as I believe, the conceptual structures we construct today are too complicated to be accurately specified in advance, and too complex to be built faultlessly, then we must take a radically different approach. Let us turn to nature and study complexity in living things, instead of just the dead works of man. Here we find constructs whose complexities thrill us with awe. The brain alone is intricate beyond mapping, powerful beyond imitati.. Frederick P. Brooks Jr.
efc0558 I believe that large programming projects suffer management problems different in kind from small ones, due to division of labor. I believe the critical need to be the preservation of the conceptual integrity of the product itself. Frederick P. Brooks Jr.
e65dafe I have long enjoyed asking candidate programmers, "Where is next November?" If the question is too cryptic, then, "Tell me about your mental model of the calendar." The really good programmers have strong spatial senses; they usually have geometric models of time; and they quite often understand the first question without elaboration. They have highly individualistic models." Frederick P. Brooks Jr.
4fea4aa Finally, there is the delight of working in such a tractable medium. 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. (As we shall see later, this very tractability has its own problems.) Yet th.. Frederick P. Brooks Jr.
546ecaa First, one must perform perfectly. 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.[1] Frederick P. Brooks Jr.
2e0382e Simplicity and straightforwardness proceed from conceptual integrity. Frederick P. Brooks Jr.
a626d88 Fifth, when schedule slippage is recognized, the natural (and traditional) response is to add manpower. Like dousing a fire with gasoline, this makes matters worse, much worse. More fire requires more gasoline, and thus begins a regenerative cycle which ends in disaster. Frederick P. Brooks Jr.
0a4c273 For the human makers of things, the incompletenesses and inconsistencies of our ideas become clear only during implementation. Thus it is that writing, experimentation, "working out" are essential disciplines for the theoretician." Frederick P. Brooks Jr.
7b3af3c Oversimplifying outrageously, we state Brooks's Law: Adding manpower to a late software project makes it later. This then is the demythologizing of the man-month. The number of months of a project depends upon its sequential constraints. The maximum number of men depends upon the number of independent subtasks. From these two quantities one can derive schedules using fewer men and more months. Frederick P. Brooks Jr.
3889fd8 Lehman and Belady have studied the history of successive releases in a large operating system.[6] They find that the total number of modules increases linearly with release number, but that the number of modules affected increases exponentially with release number. All repairs tend to destroy the structure, to increase the entropy and disorder of the system. Less and less effort is spent on fixing original design flaws; more and more is spe.. Frederick P. Brooks Jr.
965b578 It is more important that milestones be sharp-edged and unambiguous than that they be easily verifiable by the boss. Rarely will a man lie about milestone progress, if the milestone is so sharp that he can't deceive himself. But if the milestone is fuzzy, the boss often understands a different report from that which the man gives. Frederick P. Brooks Jr.
7599f71 Hustle provides the cushion, the reserve capacity, that enables a team to cope with routine mishaps, to anticipate and forfend minor calamities. The calculated response, the measured effort, are the wet blankets that dampen hustle. As we have seen, one must get excited about a one-day slip. Such are the elements of catastrophe. Frederick P. Brooks Jr.
d08fa8b 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. We still make syntax errors, to be sure; but they are fuzz compared to the conceptual errors in most systems. If this is true, building software will always be hard. There is inherently no silver bullet. Frederick P. Brooks Jr.
73557d7 Reducing the role conflict. 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. Frederick P. Brooks Jr.
4521c23 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. But a written program has another face, that which tells its story to the human user. For even the most private of programs, some such communication is necessary; memory will fail the author-user, and he will require refreshing on the details of his handiwork. How much mor.. Frederick P. Brooks Jr.
5914431 Digital computers are themselves more complex than most things people build; they have very large numbers of states. This makes conceiving, describing, and testing them hard. Software systems have orders of magnitude more states than computers do. Likewise, a scaling-up of a software entity is not merely a repetition of the same elements in larger size; it is necessarily an increase in the number of different elements. In most cases, the el.. Frederick P. Brooks Jr.
68a9585 Power tools for the mind. The most dramatic way to improve the productivity of management information systems (MIS) programmers is to go down to your local computer store and buy off the shelf what they would have built. This is not ridiculous; the availability of cheap, powerful shrink-wrapped software has met many needs that formerly would have occasioned custom packages. These power tools for the mind are more like electric drills, saws,.. Frederick P. Brooks Jr.
9fb3f25 The metaprogrammer who uses one, or especially several, applications as components in a larger system. This is the user whose needs are poorly met today. This is also the use which promises substantial effectiveness gains in building new applications. Frederick P. Brooks Jr.
ffe6a64 This great church is an incomparable work of art. There is neither aridity nor confusion in the tenets it sets forth. . . . It is the zenith of a style, the work of artists who had understood and assimilated all their predecessors' successes, in complete possession of the techniques of their times, but using them without indiscreet display nor gratuitous feats of skill. It was Jean d'Orbais who undoubtedly conceived the general plan of the .. Frederick P. Brooks Jr.
5fe253d Any product that is sufficiently big or urgent to require the effort of many minds thus encounters a peculiar difficulty: the result must be conceptually coherent to the single mind of the user and at the same time designed by many minds. Frederick P. Brooks Jr.
bfe37f2 Third, enumerating the frequencies explicitly helps everyone recognize which decisions depend upon which user set properties. Even this sort of informal sensitivity analysis is valuable. When it develops that very important decisions are hinging on some particular guess, then it is worth the cost to establish better estimates for that value. Frederick P. Brooks Jr.
b148212 To summarize: write down explicit guesses for the attributes of the user set. It is far better to be explicit and wrong than to be vague. Frederick P. Brooks Jr.
465d1c6 Especially noteworthy is his comment that new people added late in a development project must be team players willing to pitch in and work within the process, and not attempt to alter or improve the process itself! Frederick P. Brooks Jr.
d14908d it sprang from a conviction that the quality of the people on a project, and their organization and management, are much more important factors in success than are the tools they use or the technical approaches they take. Subsequent researches have supported that conviction. Boehm's COCOMO model finds that the quality of the team is by far the largest factor in its success, indeed four times more potent than the next largest factor. Frederick P. Brooks Jr.
c72257f On balance I think the microfiche was a very happy mechanism, and I would recommend it over a paper workbook for very large projects. Frederick P. Brooks Jr.
8ccd3d3 In collaboration with Sharif Razzaque There are many ways of making a fool of yourself with a digital computer, and to have one more can hardly make any difference. SIR MAURICE WILKES [1959], "THE EDSAC" Be careful how you fix what you don't understand." Frederick P. Brooks Jr.
6d3ce91 Peopleware. A major contribution during recent years has been DeMarco and Lister's 1987 book, Peopleware: Productive Projects and Teams. Its underlying thesis is that "The major problems of our work are not so much technological as sociological in nature." It abounds with gems such as, "The manager's function is not to make people work, it is to make it possible for people to work." It deals with such mundane topics as space, furniture, tea.. Frederick P. Brooks Jr.
8ee372c The large organization will consist of many semi-autonomous units, which we may call quasi-firms. Each of them will have a large amount of freedom, to give the greatest possible chance to creativity and entrepreneurship. . . . Each quasi-firm must have both a profit and loss account, and a balance sheet. Frederick P. Brooks Jr.
1 2 3 4 5 6 7 8 9 10 11 12