Frederick P. Brooks Jr., whose innovative work in computer design and software engineering helped shape the field of computer science, died on Thursday at his home in Chapel Hill, N.C. He was 91.
His death was confirmed by his son, Roger, who said Dr. Brooks had been in declining health since having a stroke two years ago.
Dr. Brooks had a wide-ranging career that included creating 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 for being 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 making inroads, it was a hugely ambitious undertaking. Fortune magazine, in an article with the headline “IBM’s $5,000,000,000 Gamble,” described it as a “bet the company” venture.
Until the 360, each model of computer had its own bespoke hardware design. That required engineers to overhaul their software programs to run on every new machine that was introduced.
But IBM promised to eliminate that costly, repetitive labor with an approach championed by Dr. Brooks, a young engineering 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 could run on the others, without the need to rewrite software, as customers moved from smaller to larger computers.
The shared design across 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,” Richard Sites, a computer designer who studied under Dr. Brooks, said in an interview.
But there was a problem. The software needed to deliver on the IBM promise of compatibility across machines and the capability to run multiple programs at once was not ready, as it proved to be a far more daunting challenge than anticipated. Operating system software is often described as the command and control system of a computer. The OS/360 was a forerunner of Microsoft’s Windows, Apple’s iOS and Google’s Android.
At the time IBM made the 360 announcement, Dr. Brooks was just 33 and headed for academia. He had agreed to return to North Carolina, where he grew up, and start a computer science department at Chapel Hill. But Thomas Watson Jr., the president of IBM, asked him to stay on for another year to tackle the company’s software troubles.
Dr. Brooks agreed, and eventually the OS/360 problems were sorted out. The 360 project turned out to be an enormous success, cementing the company’s dominance of the computer market into the 1980s.
“Fred Brooks was a brilliant scientist who changed computing,” Arvind Krishna, IBM’s chief executive and himself a computer scientist, said in a statement. “We are indebted to him for his pioneering contributions to the industry.”
After founding the University of North Carolina’s computer science department, Dr. Brooks served as its chairman for 20 years.
The hard-earned lessons he learned from grappling with the OS/360 software became grist for his book “The Mythical Man-Month: Essays on Software Engineering.” First published in 1975, it became recognized as a quirky classic, selling briskly 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 on big software projects into small groups, which Dr. Brooks called “surgical teams.”
The most well known of his principles was what he called Brooks’s law: “Adding manpower to a late software project makes it later.”
Dr. Brooks himself acknowledged that with the “law” he was “oversimplifying outrageously.” But he was exaggerating to make a point: It is often smarter to rethink things, he suggested, than to add more people. And in software engineering, a profession with elements of artistry and creativity, workers are not interchangeable units of labor.
In the internet era, some software developers have suggested that Brooks’s law no longer applies. Large open-source software projects — so named because the underlying “source” code is open for all to see — have armies of internet-connected engineers to spot flaws in code and recommend fixes. Still, even open-source projects are typically governed 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, N.C., the eldest of three boys. His father was a physician, and his mother, Octavia (Broome) Brooks, was a homemaker.
Dr. Brooks grew up in Greenville and majored in physics at Duke University before going on to graduate school at Harvard. There were no computer science departments at the time, but computers were becoming research tools in physics, mathematics and engineering departments.
He received his Ph.D. in applied mathematics in 1956; his adviser was Howard Aiken, a physicist and computer pioneer. Dr. Brooks became a teaching assistant for Kenneth Iverson, an early designer of programming languages, who taught a course on “automatic data processing.”
Industry as well as academia was increasingly adopting computers. Dr. Brooks had summer jobs at Marathon Oil and North American Aviation, and at Bell Labs and IBM.
He met his future wife, Nancy Greenwood, at Harvard, where she earned a master’s degree in physics. They married two days after Harvard’s commencement ceremony. Then, Dr. Brooks recalled in an oral history interview for the Computer History Museum, they took off together to jobs at IBM.
During his IBM years, Dr. Brooks became what his son described as “a convinced and committed Christian” after attending Bible study sessions hosted by his colleague and fellow computer designer Dr. Blaauw. “I came to see that the intellectual difficulties I was having as a scientist with Christianity were secondary,” Dr. Brooks recalled in the Computer History Museum interview.
He taught Sunday school for over 50 years at a Methodist church in Chapel Hill and served as a leader and faculty adviser to Christian study and fellowship groups at the university.
In addition to his son Roger, Dr. Brooks is 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 collected many prizes for his achievements, including the National Medal of Technology and Innovation in 1985 and the Turing Award, often called the Nobel of computer science, in 1999.
The major prizes typically cited his work in computer design and software engineering. But during his years at North Carolina, he also turned to computer graphics and virtual reality, seeing it as an emerging and important field. He led research efforts that experts say included techniques for fast and realistic presentation of images and applications for studying molecules in biology.
“The impact of his work in computer graphics was enormous,” said Patrick Hanrahan, a professor at Stanford University and a fellow Turing Award winner. “Fred Brooks was a thought leader way ahead of his time.”
While his career spanned a range of interests, there was a common theme, Henry Fuchs, a professor at the University of North Carolina and a longtime colleague, said in an interview. Whether designing a new family of computers used across the economy or helping biologists explore 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 mainly tool builders to help others do their jobs better.”