Frederick P. Brooks Jr., one of the great figures in computer science, has passed away. He was 91.
…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.
…
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.
He did go on to found the University of North Carolina computer science department and chaired it for 20 years. I would actually say that he’s best known for something else:
Dr. Brooks took the hard-earned lessons from grappling with the OS/360 software as grist for his book “The Mythical Man-Month: Essays on Software Engineering.” First published in 1975, it soon 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 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.
And this is a nice thing to see in an obit:
…
The major prizes typically cited his work in computer design and software engineering. But during his years at North Carolina, Dr. Brooks 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.”
I have read The Mythical Man-Month (a long time ago, when I was a young sysadmin) and enjoyed it. I wish I had met Dr. Brooks.