The F-book


A colleague recently recommended Robert Glass’ The Facts and Fallacies of Software Engineering1.

Having recently finished Isaacson’s Jobs bio (finally!), I was able to start it today.

The forward2 launches the book with a bang:

The software industry is in the same state of affairs that the pharmaceutical industry was in during the late nineteenth century. Sometimes it seems that we have more snake-oil salespeople and doomsayers than sensible folks practicing and preaching in our midst. Every day, we hear from somebody that they have discovered this great new cure for some insurmountable problem. Thus we have oft heard of quick cures for low efficiency, low quality, unhappy customers, poor communication, changing requirements, ineffective testing, poor management, and on and on. There are so many such pundits of the perfunctory that we sometimes wonder if perhaps some portion of the proclaimed panaceas are possibly practical.3

And within the first 20 pages, from a discussion of the assumptions of the impact of new tools:

Once the thrill of trying out a new tool has worn off, the poor schedule-driven software developer must build real software to real schedules. And, all too often, the developer reverts to what he or she knows best, the same tools always used.

Compilers for the well-known programming language they know and love. Debuggers for that language. Their favorite (probably language-independent) text editors. Linkers and loaders that do your bidding almost without your thinking about it. Last year’s (or last decade’s) configuration management tools. Isn’t that enough to fill your toolbox?

I can already tell I’m going to love this book.

1 Which, for alliterative purposes, was apparently originally titled by the author “Fifty-five Frequently Forgotten Fundamental Facts (and a Few Fallacies) About Software Engineering”
2 Written by Alan M. Davis
3 The allure of almost-absurd alliteration within this aggregate of authors is amazing.