
Enjoy fast, FREE delivery, exclusive deals and award-winning movies & TV shows with Prime
Try Prime
and start saving today with Fast, FREE Delivery
Amazon Prime includes:
Fast, FREE Delivery is available to Prime members. To join, select "Try Amazon Prime and start saving today with Fast, FREE Delivery" below the Add to Cart button.
Amazon Prime members enjoy:- Cardmembers earn 5% Back at Amazon.com with a Prime Credit Card.
- Unlimited Free Two-Day Delivery
- Instant streaming of thousands of movies and TV episodes with Prime Video
- A Kindle book to borrow for free each month - with no due dates
- Listen to over 2 million songs and hundreds of playlists
- Unlimited photo storage with anywhere access
Important: Your credit card will NOT be charged when you start your free trial or if you cancel during the trial period. If you're happy with Amazon Prime, do nothing. At the end of the free trial, your membership will automatically upgrade to a monthly membership.
Buy new:
$37.85$37.85
FREE delivery:
Monday, June 5
Ships from: Amazon Sold by: Miahel
Buy used: $16.13
Other Sellers on Amazon
+ $3.99 shipping
84% positive over last 12 months
Usually ships within 2 to 3 days.
+ $3.98 shipping
98% positive over last 12 months

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required. Learn more
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.


Facts and Fallacies of Software Engineering 1st Edition
Price | New from | Used from |
- Kindle
$26.99 Read with Our Free App - Paperback
$16.13 - $37.85
Purchase options and add-ons
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!
- ISBN-100321117425
- ISBN-13978-0321117427
- Edition1st
- PublisherAddison-Wesley Professional
- Publication dateOctober 28, 2002
- LanguageEnglish
- Dimensions7.38 x 0.48 x 9.25 inches
- Print length216 pages
Frequently bought together

What do customers buy after viewing this item?
- Most purchased | Highest ratedin this set of productsThe Pragmatic Programmer: Your Journey To Mastery, 20th Anniversary Edition (2nd Edition)David ThomasHardcover
- Mythical Man-Month, The: Essays on Software Engineering, Anniversary EditionFrederick Brooks Jr.Paperback
Editorial Reviews
From the Back Cover
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!
About the Author
Robert Glass is the founder of Computing Trends. He has written more than a dozen books on software engineering and on the lessons of computing failures. Robert is trusted by many as a leading authority on software engineering, especially by those who read his columns in Communications of the ACM and IEEE Software. Robert also publishes a newsletter, The Software Practitioner, and speaks frequently at software engineering events.
0321117425AB09232002
Excerpt. © Reprinted by permission. All rights reserved.
When I first heard that Bob Glass was going to write this book and model it after my 201 Principles of Software Development, I was a bit worried. After all, Bob is one of the best writers in the industry, and he would provide tough competition for my book. And then, when Bob asked me to write his foreword, I became even more worried; after all, how can I endorse a book that seems to compete directly with one of mine? Now that I have read Fifty-Five Facts, I am pleased and honored (and no longer worried!) to have the opportunity to write this foreword.
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. Who do we ask? Who in this industry can we trust? Where can we get the truth? The answer is Bob Glass.
Bob has had a history of providing us with short treatises on the many software disasters that have occurred over the years. I have been waiting for him to distill the common elements from these disasters so that we can benefit more easily from his many experiences. The 55 facts that Bob Glass discusses in this wonderful book are not just conjectures on his part. They are exactly what I have been waiting for: i.e., the wisdom gained by the author by examining in detail the hundreds of cases he has written about in the past.
The 55 facts that follow are likely to not be popular with all readers. Some are in direct opposition to the so-called “modern” ways of doing things. For those of you who wish to ignore the advice contained within these covers, I can only wish you the safest of journeys, but I fear for your safety. You are treading on well-trod territory, known to be full of mines, and many have destroyed their careers trying to pass. The best advice I can give you is to read any of Bob Glass’ earlier books concerning software disasters. For those of you who wish to follow the advice contained herein, you too are following a well-trod path. However this path is full of successful testimonies. It is a path of awareness and knowledge. Trust Bob Glass because he has been there before. He has had the privilege of analyzing his own successes and failures along with hundreds of others’ successes and failures. Stand on his shoulders, and you will more likely succeed in this industry. Ignore his advice and be prepared for Bob to call you in a few years to ask you about your project—to add it to his next compilation of software disaster stories.
Alan M. Davis, Spring, 2002
0321117425P07302002
Product details
- Publisher : Addison-Wesley Professional; 1st edition (October 28, 2002)
- Language : English
- Paperback : 216 pages
- ISBN-10 : 0321117425
- ISBN-13 : 978-0321117427
- Item Weight : 12.8 ounces
- Dimensions : 7.38 x 0.48 x 9.25 inches
- Best Sellers Rank: #825,122 in Books (See Top 100 in Books)
- #169 in Software Design & Engineering
- #1,105 in Software Development (Books)
- #2,844 in Computer Software (Books)
- Customer Reviews:
About the author

Robert L. Glass is presently retired, having previously been president of Computing Trends, publishers of The Software Practitioner. Before retiring, Glass had been active in the field of computing and software for over 45 years, largely in industry (1954-82 and 1988-retirement) but also as an academic (1982-88).
In industry (North American Aviation, Aerojet-General Corp., and Boeing), he performed both development and acquisition projects, built and maintained software for most application domains, and engaged in research and development. In academia, he taught for five years in the software engineering graduate program at Seattle University and spent a year as a visiting staff member at the Software Engineering Institute.
He is the author of 28 books and more than 100 published papers on computing and software. He was editor of the Journal of Systems and Software and publisher and editor of The Software Practitioner. He was for 15 years a lecturer for the Association for Computing Machinery and was a columnist for such publications as Computerworld, Datamation, Software Magazine, Software News, Managing System Development, ACM SIGMIS Data Base, IEEE Software, and Communications of the ACM. He received an honorary Ph.D. from Linkoping University, Sweden, in 1995 and was named an ACM Fellow in 1999.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on Amazon-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
Pleasant to Read
Glass’s personality comes through in his writing which makes the book feel less academic and more fun to read (he is known as the “premier curmudgeon” of software practice). The writing is informal, but gets right to the point. Also, the book is succinct and moves along pretty quickly – each fact or fallacy only covers a couple of pages.
Well-Structured
Think of this book more like a table of contents. Each fact or fallacy is quickly summarized with a discussion and controversy. Then Glass provides references and sources if you want to look further. A lot of the sources are his own books. A lot of the sources are well-regarded books like the Mythical Man Month, Peopleware, and Refactoring.
Efficiently Impactful
This book gets right to the point which means you can read it fast, and still get a lot out of it. I found myself agreeing with most of the facts and fallacies, disagreeing with a few, and being surprised by a few new ideas. I learned the most from the sections about estimation and maintenance. I also loved his opinion that we should teach new programmers to program by having them read programs (not write them).
More Opinion than Fact
A lot of the so-called “facts” feel more like opinions. But they are probably right, so it doesn’t matter much. Regardless, it would be nice to see more studies backing up the facts. For example, the fact that “For every 25 percent increase in problem complexity, there is a 100 percent increase in solution complexity” is a pretty extraordinary claim. It seems like it’s probably true-ish, but it seems too clean-cut to be true. How can this be true in every setting? Another one is “Enhancements represent roughly 60 percent of maintenance costs.” Is this really true? And how many studies have replicated these results? You’d need to go and do the due diligence to be sure.
Conclusion
Overall, I highly recommend this book for software engineers and managers of software engineers. It is a quick read and will have an immediate pay-off. If you learn one thing from this book it is the importance of being able to explain to management why things should be done a certain way. If you can explain the why and explain it well you will have happy managers and happy engineers.
For example, #32: "It is nearly impossible to test software at the level of 100% of its logic paths." I'd go farther and say it's usually dangerous even to try. If some pointy-haired manager decides that more coverage is better, programmers will dutifully optimize that metric. Error recovery is hard to test, so they'll edit out the error recovery. Integrity checks may be hard to trigger, so the integrity checks have to go. Trust me, this is not an improvement.
Or #51: "Residual errors will always persist." No argument there. "The goal should be to minimize or eliminate severe errors." That's one good goal, but there are lots of systems where the goal should be to continue service in the presence of errors, via error recovery, some fail-soft state, or other means. Even perfect software may violate its contract in the presence of hardware errors: given a one-in-a-billion error rate and 3GHz clock, errors happen three times per second. Even at one-per-trllion, they happen every five minutes or so.
Also, #46, a prioritized list of "-ilities" that define quality. Of course I disagree with his or any order. Heck, in one system I worked on, four different subsystems had four different lists. Reliability was paramount in one area - software failure would have to be repaired by unsoldering and replacing a chip. Other subsystems variously emphasized speed, compiled code size, and user-friendliness. In the bulk of the system, maintainability was at the top of the list (a fifth different priority list).
Although I generally like the content and style, a few things might have strengthened the book. Glass' favorite author, based on citation counts, is Glass. He's good, but so are other authors. This book isn't really self-contained. Lots of discussions are cursory (and he sometimes points that out), requiring a lot more elaboration of his part or a lot of reference-chasing time on the reader's part, assuming the reader can find the references at all.
Still, this is a welcome comment on the current state of affairs in software development. His one point - if there is only one - is that it's the same state we were in back in the 70s. Only the buzzwords have really changed. That point I agree with.
//wiredweird
Top reviews from other countries

I highly recommend lending the book to your boss prior to a personal appraisal, as the first two points are about how worthy good developers are!
Any software developer should get this book for a bit of light reading, and bring back those memories of past project disasters!


But that said, the f&f that is shown here are good to be reminded of for almost any programmer. I wonder a bit why a fact stating that COBOL is the best business computer language is needed - true that it may be it is irrelevant and carries not the same weight as other statements in the book (I could add another fact about SNOBOL being the best string-manipulating language etc., but whats the relevance...?).
The book is part of the eXtreme / pragmatic / agile programming paradigme that we see these years. And true is it that Robert L. Glass doesn't bring that much new stuff - he is referring to his own old books a lot of the time - but from personal experience I have already seen that managers are impressed by the facts stated here.
So after all: The book should be used to throw in a couple of facts in an argument with a manager. That, or Dilbert...
