[Dec 20, 2022] – Noting here the passing at 91 last month of Frederick Brooks, director of some of IBM’s most important mainframe-era programming projects. He was a key figure in establishing the idea that software projects should be intelligently engineered and organized.
He helped as much as anyone to move the mysterious art of tinkering with computer code toward a profession capable of repeatable results. “The Mythical Man-Month,” his 1975 distillation of years of development management, became a common reference work in many a developer’s desk library.
Working at IBM in the 1950s and 1960s, and spearheading development of the vaunted IBM/360, Brooks gave a lie to notions that were bedrock in hardware-software projects, and came up with a few notable inventions as well.
Especially, he is credited with IBM’s decision to settle on an eight-bit byte. This allowed the systems to handle both text and numerals. Strange to think there was a time when machines were dedicated either to text handling or numerical calculation, but it was so!
He oversaw the development of systems that could be offered with an expandable range of processor and memory equipment at different price points, thus entering the development era of “platform” over “product.”
Brooks studied and found some surprising truths about complex software and projects – the most telling: That projects slow down at a greater rate when leaders add people as a project gets closer to completion.
He also saw the dangerous lure technology offers in the form of “The Silver Bullet” that promises a sudden tech- or organizational-style breakthrough.
With these and other observations, Brooks help build a philosophical underpinning for structured analysis, a school of thinking that held sway for software during an era of big projects marked especially by NASA’s Apollo program.
Ed Yourdon, Ivar Jacobsen, Tom DeMarco and others would take Brooks’ work into the 1990s. Like him, they realized it’s not just about “the code” – that the culture of the organization can play a more dominant role.
Brooks paved the path forward with emphasis on requirements gathering. But he foresaw the tarpit that beckoned with any search for the greatest schema perfection ahead of actually getting the project going.
He conveyed this without embracing the extreme that says “Fail Fast,” and he did it as always with a measure of humor. It’s right there in the title for one of “The Mythical Man-Month” chapters: “Plan to Throw One Away.”
But managers, at the end of the day, bear the greatest responsibility for the software project. Technology acumen is just a table stake. Their communications and organization skills must be stellar, as Brooks indicates when he writes:
The Tower of Babel was perhaps the first engineering fiasco, but it was not the last. Communication and its consequent, organization, are critical for success. The techniques of communication and organization demand from the manager much thought and as much experienced confidence as the software technology itself. – From The Mythical Man-Month.
Is software engineering really a profession? The question will continue to be asked, and Brooks work will likely ever be part of that discussion.
Coda: My days as a software project manager were brief – about a year. [After which my colleagues welcomed me back to editorial and told me they thought I’d been crazy ever to leave.] What I learned building web sites was that, no matter what you think your problem is, it is probably a project management problem. I owe that to Brooks. As expressed in his thoughtful and very often bemused writings, Brooks’ thinking on the topic informed my and many others’ efforts to ‘ship the darn thing’. – Jack Vaughan, 2022