Fred Brooks

Fred Brooks
Frederick Phillips Brooks, Jr.is an American computer architect, software engineer, and computer scientist, best known for managing the development of IBM's System/360 family of computers and the OS/360 software support package, then later writing candidly about the process in his seminal book The Mythical Man-Month. Brooks has received many awards, including the National Medal of Technology in 1985 and the Turing Award in 1999...
NationalityAmerican
ProfessionScientist
Date of Birth19 April 1931
CountryUnited States of America
Adding manpower to a late software project makes it later
One can expect the human race to continue attempting systems just within or just beyond our reach; and software systems are perhaps the most intricate and complex of man's handiworks. The management of this complex craft will demand our best use of new languages and systems, our best adaptation of proven engineering management methods, liberal doses of common sense, and a God-given humility to recognize our fallibility and limitations.
Men and months are interchangeable commodities only when a task can be partitioned among many workers with no communication among them.
Improving your process won't move you from good to great design. It'll move you from bad to average.
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. 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.
I have never seen an experienced programmer who routinely made detailed flow charts before beginning to write programs.
The critical thing about the design process is to identify your scarcest resource. Despite what you may think, that very often is not money. For example, in a NASA moon shot, money is abundant but lightness is scarce; every ounce of weight requires tons of material below. On the design of a beach vacation home, the limitation may be your ocean-front footage. You have to make sure your whole team understands what scarce resource you're optimizing.
Design work doesn't just satisfy requirements, it elicits them.
Process improvement is most valuable in raising the floor of a community's practice.
Dissertations are not finished; they are abandoned.
System debugging, like astronomy, has always been done chiefly at night.
...when fits of creativity run strong, more than one programmer or writer has been known to abandon the desktop for the more spacious floor.
We tend to blame the physical media for most of our implementation difficulties; for the media are not "ours" in the way the ideas are, and our pride colors our judgement.
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.