Fred Brooks
![Fred Brooks](/assets/img/authors/fred-brooks.jpg)
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
System debugging has always been a graveyard-shift occupation, like astronomy.
The Waterfall Model is wrong and harmful; we must outgrow it.
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.
Process improvement is most valuable in raising the floor of a community's practice.
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.
Successful software always gets changed.
The hardest part of the software task is arriving at a complete and consistent specification, and much of the essence of building a program is in fact the debugging of the specification.
Scientists build to learn; Engineers learn to build.
The management question, therefore, is not whether to build a pilot system and throw it away. You will do that. Hence plan to throw one away; you will, anyhow.
There is no single development, in either technology or management technique, which by itself promises even one order-of-magnitude improvement within a decade in productivity, in reliability, in simplicity.
A basic principle of data processing teaches the folly of trying to maintain independent files in synchonism.
More software projects have gone awry for lack of calendar time than for all other causes combined.