Columns

Book Review: 'Facts and Fallacies of Software Engineering'

In any profession or endeavor, there are certain ''facts'' that come to be accepted as true, no matter whether they really are or not. You'll often hear someone say, ''Well, it's a known fact that __.'' The problem is that these facts are only ''true'' because they were once accepted as true; however, we often don't take the time to determine if they are still true. And software engineering certainly has its share of these situations.

There are also facts that have been forgotten. The software engineering field is changing quickly, and it is easy for us to forget the lessons we have learned along the way. When that happens, developers and managers must take time to re-learn them.

In ''Facts and Fallacies of Software Engineering,'' author Robert Glass looks at 55 facts and 10 fallacies. His goal is to get readers to not only recognize the outlined facts as being true (and the fallacies as being false), but to get them to act on this knowledge.

Glass takes the unique approach of first presenting a fact or fallacy, and then discussing its importance (or lack thereof) and drawing on some of the research in the field. He then discusses any controversy surrounding the statement and gives the sources that back up his point of view.

To be honest, the facts section is not that exciting. While some of the facts may be somewhat controversial, in general they're widely accepted. Take Fact 11, for example: ''Software estimates are rarely adjusted as the project proceeds...'' Who is going to argue this point?

And Fact 13 asserts that ''There is a disconnect between management and their programmers...'' What could be more obvious? To be fair, though, I should note that the author followed this up with a good discussion of why this disconnect exists in the first place, as well as what it means for software engineering in general.

The fallacies section is much more interesting. The fallacies Glass tackles include ''You can manage quality into a software product'' and ''Software needs more methodologies.'' Pithy topics, aren't they?

I would have been happier with ''Facts and Fallacies of Software Engineering'' if Glass had written more about fallacies than facts. Even so, this book will help you take a good, hard look at the way you think about software engineering, and may even help you and your organization to produce better code.

''Facts and Fallacies of Software Engineering,'' by Robert L. Glass; Addison-Wesley; Boston, 2003.

About the Author

Dan Romanchik is an engineering manager turned writer and Web developer. His current passion is amateur radio. You can read his amateur radio blog at www.blurty.com/~kb6nu.