The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition

By Frederick P. Brooks Jr.

Location: 261

is a program. It is complete in itself, ready to be run by the author on the system on which it was developed. That is the thing commonly produced in garages,

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 272

As a rule of thumb, I estimate that a programming product costs at least three times as much as a debugged program with the same function.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 284

First is the sheer joy of making things.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 292

Fourth is the joy of always learning,

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 294

The programmer, like the poet, works only slightly removed from pure thought-stuff.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 304

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.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 307

One rarely controls the circumstances of his work, or even its goal. In management terms, one's authority is not sufficient for his responsibility.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 309

In practice, actual (as opposed to formal) authority is acquired from the very momentum of accomplishment.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 332

they reflect an unvoiced assumption which is quite untrue, i.e., that all will go well.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 333

estimating techniques fallaciously confuse effort with progress,

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 334

software managers often lack the courteous stubbornness of Antoine's chef.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 336

Techniques proven and routine in other engineering disciplines are considered radical innovations in software engineering.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 337

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.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 341

All programmers are optimists.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 352

the incompletenesses and inconsistencies of our ideas become clear only during implementation.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 366

Cost does indeed vary as the product of the number of men and the number of months. Progress does not. Hence the man-month as a unit for measuring the size of a job is a dangerous and deceptive myth.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 368

Men and months are interchangeable commodities only when a task can be partitioned among many workers with no communication among them

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 372

When a task cannot be partitioned because of sequential constraints, the application of more effort has no effect on the schedule (Fig. 2.2). The bearing of a child takes nine months, no matter how many women are assigned.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 391

communication effort is great, and it quickly dominates the decrease in individual task time brought about by partitioning. Adding more men then lengthens, not shortens, the schedule.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 394

No parts of the schedule are so thoroughly affected by sequential constraints as component debugging and system test.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 398

1/3 planning 1/6 coding 1/4 component test and early system test 1/4 system test, all components in hand.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 402

The half of the schedule devoted to debugging of completed code is much larger than normal. 3. The part that is easy to estimate, i.e., coding, is given only one-sixth of the schedule.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 415

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.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 419

false scheduling to match the patron's desired date is much more common in our discipline than elsewhere in engineering.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 448

Consider the regenerative effects,

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 449

will require training in the task by one of the experienced

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 464

Oversimplifying outrageously, we state Brooks's Law: Adding manpower to a late software project makes it later.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 480

Within just this group the ratios between best and worst performances averaged about 10:1 on productivity measurements and an amazing 5:1 on program speed and space measurements! In short the $20,000/year programmer may well be 10 times as productive as the $10,000/year one. The converse may be true, too. The data showed no correlation whatsoever between experience and performance. (I doubt if that is universally true.)

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 487

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.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 503

for large systems one wants a way to bring considerable manpower to bear,

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 507

instead of each member cutting away on the problem, one does the cutting and the others give him every support that will enhance his effectiveness and productivity.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 542

the surgeon must be sole judge of the adequacy of the service available to him.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 542

a toolsmith, responsible for ensuring this adequacy of the basic service and for constructing, maintaining, and upgrading special tools—mostly

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 552

language lawyer

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 565

differences of judgment are settled by the surgeon unilaterally.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 598

most programming systems reflect conceptual disunity far worse than that of cathedrals. Usually this arises not from a serial succession of master designers, but from the separation of design into many tasks done by many men.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 614

With modern programming systems this gain does exceed the cost, but in recent years the ratio of gain to cost seems to have fallen as more and more complex functions have been added.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 630

Conceptual integrity in turn dictates that the design must proceed from one mind, or from a very small number of agreeing resonant minds.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 636

By the architecture of a system, I mean the complete and detailed specification of the user interface.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 699

A quick answer is to refrain from hiring implementers until the specifications are complete. This is what is done when a building is constructed.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 715

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.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 725

sympathetic communication between architect and builder.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 734

architect has two possible answers when confronted with an estimate that is too high: cut the design or challenge the estimate by suggesting cheaper implementations.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 738

the architect suggests, not dictates;

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 742

builder will counter by suggesting changes to the architecture.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

discipline is interactive - design gets refined base on propositions of implementer, estimate gets refined based on architecture concessions

Location: 744

Second-System Effect

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

the second system effect : architect restraint features on v1 to keepit simple, then v2 gets overdesigned ith useless features

Location: 751

general tendency is to over-design the second system, using all the ideas and frills that were cautiously sidetracked on the first one.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 805

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.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

manual is external sec for what the user sees. it is the main produc of the architect

Location: 810

The architect must always be prepared to show an implementation for any feature he describes, but he must not attempt to dictate the implementation.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

arhitect should be able to propose an implementation, but shouldn't propose one

Location: 833

"Never go to sea with two chronometers; take one or three."

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 1016

The purpose of organization is to reduce the amount of communication and coordination necessary;

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 1088

Experience is a dear teacher, but fools will learn at no other. —POOR RICHARD'S ALMANAC

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 1092

coding is only one-sixth or so of the problem, and errors in its estimate or in the ratios could lead to ridiculous results.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 1098

Extrapolation of times for the hundred-yard dash shows that a man can run a mile in under three minutes.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Time required by programming tasks is non linear. The time you need to build a tas

Location: 1105

effort = (constant) x (number of instructions)1.5.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 1115

teams were only realizing 50 percent of the working week as actual programming and debugging time.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 1250

To the new manager, fresh from operating as a craftsman himself, these seem an unmitigated nuisance, an unnecessary distraction, and a white tide that threatens to engulf him. And indeed, most of them are exactly that.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 1319

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

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 1359

Cosgrove advocates treating all plans, milestones, and schedules as tentative, so as to facilitate change.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.

Location: 1428

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.

~ The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, Frederick P. Brooks Jr.