- Paperback: 224 pages
- Publisher: Addison-Wesley Professional; 1 edition (November 7, 2002)
- Language: English
- ISBN-10: 0321117425
- ISBN-13: 978-0321117427
- Product Dimensions: 7.3 x 0.5 x 9.1 inches
- Shipping Weight: 1.5 pounds (View shipping rates and policies)
- Average Customer Review: 44 customer reviews
- Amazon Best Sellers Rank: #873,289 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Facts and Fallacies of Software Engineering 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
Frequently bought together
Customers who bought this item also bought
Customers who viewed this item also viewed
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.
Top customer reviews
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.
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.
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.
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.
Quick to read, lots of valuable insights. Never gets deep, but provides a list of important issues in the software engineering field. IMHO more suited to those with enough SW Engineering background, so that at least certain facts can be considered valid; as the "basis". It'll then work, "by induction". Limited support arguments could cause skepticism and early loss of interest otherwise (can be this the cause for some bad reviews?). References are provided nevertheless.
Quick to read
Nice recap of SW Engineering Wisdom
Can be both surprising and enlightening to discover about certain facts about SW Engineering
It's an assertive kind of book. Either you trust the author or not. If you have enough background to know he's right on a few things, you'll most likely do; But otherwise?
"Controversy" sections are too brief to make actual sense - at that point, book could have been kept even shorter
I see this book as really appropriate for those who already have some grasp of the most important software engineering principles and wish to have a reference at hand. Besides a quick way to get lots of insights, which can be surprising and even enlightening to the unaware.
If you're really new to software engineering, this book might scatter more doubts than insights, though. Unless, of course, you believe in everything you read, without bothering to find more evidence. Otherwise you might find yourself running after mentioned references, to understand the basis upon which what you've just been introduced rely. So, if you're really new into the field, my suggestion is that at least you couple this one with other sacred ones in the field (like pragmatic programmer, peopleware and the mythical man month, just to name a couple). Or keep it for a later time. In fact this book will probably work better after you'll have read some of such material and got a little grasp of the field.
With this said, on a subjective side, I would've left out the "Controversy" section, dedicated to each Fact. IMHO it doesn't make too much sense to talk about controversies yet, when a topic has just been barely introduced. Doesn't add value to the discussion. Could've been avoided to make the book even quicker to read. Nevertheless, still has been an enjoyable read for breakfast time. Definitely quick and smooth to read.
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!