Advanced Search
Start Your Free Trial

Overview

The practice of building software is a “new kid on the block” technology. Though it may not seem this way for those who have been in the field for most of their careers, in the overall scheme of professions, software builders are relative “newbies.”

In the short history of the software field, a lot of facts have been identified, and a lot of fallacies promulgated. Those facts and fallacies are what this book is about.

There’s a problem with those facts–and, as you might imagine, those fallacies. Many of these fundamentally important facts are learned by a software engineer, but over the short lifespan of the software field, all too many of them have been forgotten. While reading Facts and Fallacies of Software Engineering , you may experience moments of “Oh, yes, I had forgotten that,” alongside some “Is that really true?” thoughts.

The author of this book doesn’t shy away from controversy. In fact, each of the facts and fallacies is accompanied by a discussion of whatever controversy envelops it. You may find yourself agreeing with a lot of the facts and fallacies, yet emotionally disturbed by a few of them! Whether you agree or disagree, you will learn why the author has been called “the premier curmudgeon of software practice.”

These facts and fallacies are fundamental to the software building field–forget or neglect them at your peril!

Amazon.com® Reader Reviews (Ranked by Helpfulness)

Average Amazon.com® Rating: 4.5 out of 5 rating Based on 27 Ratings

Insightful and Painful - 2008-05-02
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
This book covers all the mistakes we know about, but keep on making regardless.

When it arrived in the mail, I was amazed by how small this book was. It's a short read, but every section is brilliantly distilled to the bare essentials.

I've worked on several different teams developing software. There was very little in this book that came as a surprise. Every point seemed obvious, though in many cases, I was amazed by the wealth of research that Glass was able to cite to make his points. From the bankruptcy of hypesters to the importance of a work environment, Glass states the obvious with compelling and refreshing clarity.

The "painful" part was realizing that at some point in my career, I've made almost every mistake he highlights.

I found the tongue in cheek nature of the writing to be a bit much at times. That is my only complaint, and it's not so bad as to be unreadable.

It probably won't make you a better programmer, but the knowledge in this book will provide magnificent insight into all the non-coding aspects of software development that we so often overlook. Human nature hasn't changed, and software will always be complex. The facts and fallacies he cites truly are fundamental, and will be with us forever.

This book has given me a vocabulary with which to confront the absurd that we see every day in the world of software. Hopefully, I can now be a part of the solution rather than a part of the problem. Thank you, Dr. Glass!

A Great Bathroom Reader - 2009-05-15
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
I read this book with breakfast and supper, literally. The two to three page facts are conveniently bite-sized; this is a rare "bathroom reader" of a technical book.

I'm not trying to make light of the content: most of it is both interesting and insightful. Like his opinions or not, Glass backs up his ideas with hard data, which, as he comments himself, is sorely lacking in the field.

This book was published in 2002, but anyone caught thinking the facts are outdated is fooling themselves. Consumer-grade processors may be running three times faster (plus additional cores) than they were in 2002, but software development is far from being three times as refined.

Reading this book will make you feel more "in the know" regarding the realities of software development.

Useful summary book to core software engineering methodology - 2008-08-24
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
With more than 45 years experience in the software field, Robert Glass
attempts to sum up the most integral facts and dispel common misunderstandings with software engineering.

Definitely look at the table of contents for this book to determine whether you should add this book to your shelf. All of the facts and fallacies are listed in a one statement summarized format which means just looking up the relevant page information to find a more detailed statement with support or controversy.

Mr. Glass separated his book into facts and fallacies with each section
helpfully indexed within a broad category (such as Management), and then into a smaller category (such as People, or Tools). For each fact and fallacy he discussed support and controversy (if any), sources of information, and references.

In the conclusion, Mr. Glass covers 4 themes (complexity, estimation, disconnect, and hype) that are repeatedly pointed out by the 55 facts/fallacies. I found these conclusions to be the most interesting aspect of the book although they cover only half a page.

The repetition of fully covering each category before moving on to the next, limits the enjoyableness of reading the book from cover to cover, but this emphasizes that it is really a reference book for endorsing good software engineering practices. Writing that is clear and easily understood underlines Mr. Glass's great experience with this subject.

Although he repeats references within the book several times as they apply to multiple statements, this is helpful for the reader to immediately reference rather than flipping to the back of the book or chapter looking up specific numbered references. It would have been nice to include a list of all references just to know how many references there truly are, but the book in its current incarnation is a nice size to be easily thumbed over.

The intended audience is those researching and developing software, but many of the statements can be equally applied to other fields, for example system administration. Besides possibly wearing a software engineer hat, the system administrator must plan system architecture and service management with the same sort of context that the software engineer does.

For example, fact 7 is :

"Software developers talk a lot about tools. They evaluate quite a few, buy a fair number, and use practically none." (pg 25)

The gist of this fact is that as new tools for software engineering emerge, engineers rally to them, possibly purchase them, and then fall back to the well known tools they are comfortable with. The learning curve is too steep to make using the new tools productive in the short term. Similarly system administrators may find themselves talking about new tools available to better administer or monitor systems, but the learning curve to implementing these new tools is greater than writing in house solutions that are comfortable and well known. For example,a bunch of shell scripts that email information for flagged occurrences is much easier and quicker to write than understanding, instituting, and managing a more comprehensive monitoring solution with Nagios and rrdtool.

Most of the 55 statements are common sense but information that is rarely remembered at times that it should be implemented in software project design. Overall, I initially found this book to be interesting as it states some well known methodologies in one book with a number of references for additional information. For software engineers, this book is an important resource either for providing references to management in order to validate or fund decisions made on choices in software design, or for instilling good software engineering practices in the less educated engineer.

Controversial but good - 2008-07-14
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
As stated at the beginning of this book there are some controversial facts in there. But If you manage to put your personal bias aside you will find that it is quite useful in understanding what is going on around you and why some developers are like they are.

In short this is a book which you can debate on your blog for ages or just enjoy reading.

Pearls of wisdom, business reader friendly - 2008-06-25
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
This list of Facts and Fallacies usefully presents some of the more important and insightful learnings from decades of experience in Software Engineering.
This book presents items in bite-size chunks of information that concisely detail the point being made in a non-technical manner that can be understood by upper management. Each Fact/Fallacy provides references to prior established works in anaylsing the effectiveness of Software Engineering.
This is a great read.

Browse Similar Topics

Top Level Categories:
Software Engineering

Sub-Categories:
Software Engineering > Methodologies

Some information on this page was provided using data from Amazon.com®. View at Amazon >


About Safari Books Online • Terms of Service • Privacy Policy • Contact Us • Corporate Licenses • Help • Accessibility | See us on FacebookSee us on Linked InSee us on TwitterRSS

Copyright 2009 Safari Books Online. All rights reserved.