William Blair > William's Quotes

Showing 1-19 of 19
sort by

  • #1
    “Good judgement comes from experience, and experience comes from bad judgement.”
    Frederick P. Brooks

  • #2
    “Adding manpower to a late software project, makes it later.”
    Frederick P. Brooks Jr., The Mythical Man-Month: Essays on Software Engineering

  • #3
    “The bearing of a child takes nine months, no matter how many women are assigned.”
    Frederick Brooks

  • #4
    “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., The Mythical Man-Month: Essays on Software Engineering

  • #5
    “All programmers are optimists”
    Frederick P. Brooks Jr.

  • #6
    “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., The Mythical Man-Month: Essays on Software Engineering

  • #7
    “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., The Mythical Man-Month: Essays on Software Engineering

  • #8
    “Architecture must be carefully distinguished from implementation. As Blaauw has said, "Where architecture tells what happens, implementation tells how it is made to happen.”
    Frederick P. Brooks Jr., The Mythical Man-Month: Essays on Software Engineering

  • #9
    “How does a project get to be a year late? . . . . One day at a time.”
    Frederick P. Brooks Jr., The Mythical Man-Month: Essays on Software Engineering

  • #10
    “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., The Mythical Man-Month: Essays on Software Engineering

  • #11
    “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 other hand, the Time-Sharing System for the PDP-10 is hailed by its builders as the finest, because of its simplicity and the spareness of its concepts. By any measure, however, its function is not even in the same class as that of OS/360. As soon as ease of use is held up as the criterion, each of these is seen to be unbalanced, reaching for only half of the true goal.”
    Frederick P. Brooks Jr., The Mythical Man-Month: Essays on Software Engineering

  • #12
    “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 building, is the user's agent. It is his job to bring professional and technical knowledge to bear in the unalloyed interest of the user, as opposed to the interests of the salesman, the fabricator, etc.[2] Architecture must be carefully distinguished from implementation. As Blaauw has said, "Where architecture tells what happens, implementation tells how it is made to happen."[3] He gives as a simple example a clock, whose architecture consists of the face, the hands, and the winding knob. When a child has learned this architecture, he can tell time as easily from a wristwatch as from a church tower. The implementation, however, and its realization, describe what goes on inside the case—powering by any of many mechanisms and accuracy control by any of many.”
    Frederick P. Brooks Jr., The Mythical Man-Month: Essays on Software Engineering

  • #13
    “An architect's first work is apt to be spare and clean. He knows he doesn't know what he's doing, so he does it carefully and with great restraint.”
    Frederick P. Brooks Jr., The Mythical Man-Month: Essays on Software Engineering

  • #14
    “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, team meals together. DeMarco and Lister provide real data from their Coding War Games that show stunning correlation between performances of programmers from the same organization, and between workplace characteristics and both productivity and defect levels. The top performers' space is quieter, more private, better protected against interruption, and there is more of it. . . . Does it really matter to you . . . whether quiet, space, and privacy help your current people to do better work or [alternatively] help you to attract and keep better people?[19]”
    Frederick P. Brooks Jr., The Mythical Man-Month: Essays on Software Engineering

  • #15
    “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 users find more bugs.”
    Frederick P. Brooks Jr., The Mythical Man-Month: Essays on Software Engineering

  • #16
    “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., The Mythical Man-Month: Essays on Software Engineering

  • #17
    “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., The Mythical Man-Month: Essays on Software Engineering

  • #18
    “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 elements interact with each other in some nonlinear fashion, and the complexity of the whole increases much more than linearly. The complexity of software is an essential property, not an accidental one.”
    Frederick P. Brooks Jr., The Mythical Man-Month: Essays on Software Engineering

  • #19
    “More software projects have gone awry for lack of calendar time than for all other causes combined.”
    Frederick P. Brooks Jr., The Mythical Man-Month: Essays on Software Engineering



Rss