The Mythical Man-Month: Essays on Software Engineering
Rate it:
Kindle Notes & Highlights
7%
Flag icon
Second is the pleasure of making things that are useful to other people. Deep within, we want others to use our work and to find it helpful.
7%
Flag icon
Fourth is the joy of always learning, which springs from the nonrepeating nature of the task. In one way or another the problem is ever new, and its solver learns something: sometimes practical, sometimes theoretical, and sometimes both.
7%
Flag icon
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.
7%
Flag icon
Programming then is fun because it gratifies creative longings built deep within us and delights sensibilities we have in common with all men.
7%
Flag icon
The obsolescence of an implementation must be measured against other existing implementations, not against unrealized concepts. The challenge and the mission are to find real solutions to real problems on actual schedules with available resources.
7%
Flag icon
The challenge and the mission are to find real solutions to real problems on actual schedules with available resources.
8%
Flag icon
For the human makers of things, the incompletenesses and inconsistencies of our ideas become clear only during implementation. Thus
11%
Flag icon
The conclusion is simple: if a 200-man project has 25 managers who are the most competent and experienced programmers, fire the 175 troops and put the managers back to programming.
14%
Flag icon
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.
16%
Flag icon
Good features and ideas that do not integrate with a system's basic concepts are best left out.
16%
Flag icon
The opportunity to be creative and inventive in implementation is not significantly diminished by working within a given external specification, and the order of creativity may even be enhanced by that discipline.
17%
Flag icon
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.
24%
Flag icon
A good information system both exposes interface errors and stimulates their correction.
25%
Flag icon
Thinkers are rare; doers are rarer; and thinker-doers are rarest.
29%
Flag icon
No amount of space budgeting and control can make a program small. That requires invention and craftsmanship.
30%
Flag icon
Beyond craftsmanship lies invention, and it is here that lean, spare, fast programs are born. Almost always these are the result of strategic breakthrough rather than tactical cleverness.
30%
Flag icon
Representation is the essence of programming.
32%
Flag icon
It is common sense to take a method and try it. If it fails, admit it frankly and try another. But above all, try something. —FRANKLIN D. ROOSEVELT
32%
Flag icon
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.
32%
Flag icon
Cosgrove has perceptively pointed out that the programmer delivers satisfaction of a user need rather than any tangible product. And both the actual need and the user's perception of that need will change as programs are built, tested, and used.
33%
Flag icon
"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."
34%
Flag icon
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.
39%
Flag icon
Many poor systems come from an attempt to salvage a bad basic design and patch it with all kinds of cosmetic relief.
42%
Flag icon
For picking the milestones there is only one relevant rule. Milestones must be concrete, specific, measurable events, defined with knife-edge sharpness.
43%
Flag icon
This whole process is helped if the boss labels meetings, reviews, conferences, as status-review meetings versus problem-action meetings, and controls himself accordingly.
44%
Flag icon
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.
49%
Flag icon
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.
53%
Flag icon
The essential prerequisite for building an expert system is to have an expert.
53%
Flag icon
The gap between the best software engineering practice and the average practice is very wide—perhaps wider than in any other engineering discipline.
54%
Flag icon
software is very difficult to visualize.
56%
Flag icon
No other part of the conceptual work is so difficult as establishing the detailed technical requirements, including all the interfaces to people, to machines, and to other software systems. No other part of the work so cripples the resulting system if done wrong. No other part is more difficult to rectify later.
56%
Flag icon
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.
56%
Flag icon
Harlan Mills proposed that any software system should be grown by incremental development.
57%
Flag icon
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.
57%
Flag icon
Good managers, scarce though they be, are no scarcer than good designers. Great designers and great managers are both very rare.
59%
Flag icon
complexity is the most serious inherent difficulty, but not all complexity is inevitable.
69%
Flag icon
The purpose of organization is to reduce the amount of communication and coordination necessary.
87%
Flag icon
"The manager's function is not to make people work, it is to make it possible for people to work."
92%
Flag icon
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.