Frederick P. Brooks Jr., whose innovative work in computer design and software engineering helped shape computer science, died Thursday at his home in Chapel Hill, NC. He was 91.
His death was confirmed by his son, Roger, who said Dr. Brooks has been in declining health since he suffered a stroke two years ago.
Dr. Brooks had a broad career, including establishing the computer science department at the University of North Carolina and leading influential research in computer graphics and virtual reality.
But he is best known as one of the technical leaders of IBM’s 360 computer project in the 1960s. At a time when smaller rivals like Burroughs, Univac and NCR were emerging, it was a hugely ambitious undertaking. Fortune magazine described it as a “bet the company” venture in an article headlined “IBM’s $5,000,000,000 Gamble.”
Until the 360, each computer model had its own custom hardware design. That required engineers to revise their software programs to run on every new machine introduced.
But IBM promised to eliminate that costly, repetitive labor with an approach championed by Dr. Brooks, a young technical star at the company, and a few colleagues. In April 1964, IBM announced the 360 as a family of six compatible computers. Programs written for one 360 model can run on the other without the need for software rewriting as customers move from smaller to larger computers.
The shared design of several machines was described in a paper written by Dr. Brooks and his colleagues Gene Amdahl and Gerrit Blaauw, titled “Architecture of the IBM System/360.”
“That was a breakthrough in computer architecture that Fred Brooks led,” said Richard Sites, a computer designer who studied with Dr. Brooks, in an interview.
But there was a problem. The software needed to deliver on IBM’s promise of machine-to-machine compatibility and the ability to run multiple programs at the same time was not ready, as it proved to be much more challenging than anticipated. Operating system software is often described as a computer’s command and control system. OS/360 was a predecessor of Microsoft’s Windows, Apple’s iOS and Google’s Android.
At the time IBM made the 360 announcement, Dr. Brooks still only 33 and on his way to academia. He had agreed to return to North Carolina, where he grew up, and start a computer science department in Chapel Hill. But Thomas Watson Jr., IBM’s president, asked him to stay on for another year to address the company’s software problems.
Dr. Brooks agreed and eventually the OS/360 problems were resolved. The 360 project proved to be a huge success, cementing the company’s dominance of the computer market into the 1980s.
“Fred Brooks was a brilliant scientist who changed computer science,” Arvind Krishna, IBM CEO and a computer scientist himself, said in a statement. “We are deeply indebted to him for his pioneering contributions to the industry.”
After founding the computer science department at the University of North Carolina, he served as its chairman for 20 years.
Dr. Brooks took the hard-earned lessons of struggling with the OS/360 software as grist for his book “The Mythical Man-Month: Essays on Software Engineering.” First published in 1975, it quickly became recognized as a quirky classic, selling well year after year and routinely cited as gospel by computer scientists.
The tone is witty and self-deprecating, with pithy quotes from Shakespeare and Sophocles and chapter titles like “Ten Pounds in a Five-Pound Sack” and “Hatching a Catastrophe.” There are practical tips along the way. For example: organize engineers for large software projects into small groups, which Dr. Brooks called “surgical teams.”
The most famous of his principles was what he called Brooks’ Law: “Adding manpower to a late software project makes it later.” Dr. Brooks himself admitted that he was “excessively simple”, but he exaggerated to make a point.
It’s often smarter to rethink things, he suggested, than to add more people. And in software engineering, a profession with elements of artistry and creativity, employees are not interchangeable labor units.
In the age of the Internet, some software developers have suggested that Brooks’ law no longer applies. Large open-source software projects – so called because the underlying “source” code is publicly visible – have armies of internet-connected engineers to debug the code and recommend fixes. Yet even open source projects are usually managed by a small group of individuals, more surgical team than the wisdom of the crowd.
Frederick Phillips Brooks Jr. was born on April 19, 1931 in Durham, NC, the eldest of three boys. His father was a doctor and his mother, Octavia (Broome) Brooks, was a housewife.
Dr. Brooks grew up in Greenville and studied physics at Duke University before attending Harvard. There were no computer science departments then, but computers became research tools in the physics, mathematics and engineering departments.
Dr. Brooks received his Ph.D. in applied mathematics in 1956; his advisor was Howard Aiken, a physicist and computer pioneer. He was a teaching assistant for Kenneth Iverson, an early programming language designer, who taught a course on “automatic data processing.”
Both industry and academia made increasing use of computers. Dr. Brooks held summer jobs at Marathon Oil and North American Aviation, as well as Bell Labs and IBM.
He also met his future wife, Nancy Greenwood, at Harvard, where she earned a master’s degree in physics. They were married two days after Harvard’s commencement ceremony. Then, remembered Dr. Brooks in an oral history interview for the Computer History Museum, they left together for jobs at IBM.
During his IBM years, Dr. Brooks described what his son was “a convinced and committed Christian” after attending Bible study sessions hosted by his colleague and fellow computer designer Dr. Blue. “I began to see that the intellectual problems I had as a scientist with Christianity were secondary,” recalls Dr. Brooks in the interview with the Computer History Museum. He taught Sunday School at a Methodist church in Chapel Hill for over 50 years and served as a leader and faculty advisor to Christian study and community groups at the university.
In addition to his son Roger, Dr. Brooks survived by his wife; his brother, John Brooks; two more children, Kenneth Brooks and Barbara La Dine; nine grandchildren; and two great-grandchildren.
Dr. Brooks received many awards for his achievements, including the National Medal of Technology and Innovation in 1985 and the Turing Award, often referred to as the Nobel Prize in computer science, in 1991.
The major prizes were generally awarded for his work in computer design and software engineering. But during his years in North Carolina, Dr. Brooks also turned to computer graphics and virtual reality, seeing it as an emerging and important area. He led research efforts that experts say include techniques for fast and realistic rendering of images and applications for studying molecules in biology.
“The impact of his work in computer graphics was enormous,” said Patrick Hanrahan, a Stanford University professor and co-winner of the Turing Award. “Fred Brooks was an opinion leader ahead of his time.”
While his career spanned different interests, there was a common theme, Henry Fuchs, a University of North Carolina professor and longtime colleague, said in an interview. Whether designing a new family of computers to be used across the economy or helping biologists research molecules to develop new drugs, Dr. Fuchs said, Dr. Brooks saw the role of computer scientists as “toolsmiths.”
“Fred’s view,” he said, “was that computer scientists are primarily tool builders to help others do their jobs better.”