Programming Books C Java PHP Python Learn more Browse Programming Books
Facts and Fallacies of Software Engineering and over one million other books are available for Amazon Kindle. Learn more
Buy New
$31.69
Qty:1
  • List Price: $44.99
  • Save: $13.30 (30%)
FREE Shipping on orders over $35.
Only 8 left in stock (more on the way).
Ships from and sold by Amazon.com.
Gift-wrap available.
Add to Cart
Trade in your item
Get a $2.00
Gift Card.
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Facts and Fallacies of Software Engineering Paperback – November 7, 2002

ISBN-13: 978-0321117427 ISBN-10: 0321117425 Edition: 1st

Buy New
Price: $31.69
25 New from $25.00 33 Used from $6.77 1 Collectible from $23.95
Amazon Price New from Used from
Kindle
"Please retry"
Paperback
"Please retry"
$31.69
$25.00 $6.77

Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student



Frequently Bought Together

Facts and Fallacies of Software Engineering + Code Complete: A Practical Handbook of Software Construction, Second Edition + The Pragmatic Programmer: From Journeyman to Master
Price for all three: $101.15

Buy the selected items together

NO_CONTENT_IN_FEATURE

Save up to 90% on Textbooks
Rent textbooks, buy textbooks, or get up to 80% back when you sell us your books. Shop Now

Product Details

  • Paperback: 224 pages
  • Publisher: Addison-Wesley Professional; 1 edition (November 7, 2002)
  • Language: English
  • ISBN-10: 0321117425
  • ISBN-13: 978-0321117427
  • Product Dimensions: 0.4 x 7.3 x 9.1 inches
  • Shipping Weight: 1.5 pounds (View shipping rates and policies)
  • Average Customer Review: 4.3 out of 5 stars  See all reviews (39 customer reviews)
  • Amazon Best Sellers Rank: #468,571 in Books (See Top 100 in Books)

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!



0321117425B09232002

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

More About the Author


Robert L. Glass (Bob) has meandered the halls of computing for almost 60 years now, starting with a three-year gig in the aerospace industry (at North American Aviation) in 1954-1957, which makes him one of the true pioneers of the software field.

That stay at North American extended into several other aerospace appearances (at Aerojet-General Corp., 1957-1965) and the Boeing Company, 1965-1970 and 1972-1982). His role was largely that of building software tools used by applications specialists. It was an exciting time to be part of the aerospace business - those were the heady days of Space Exploration, after all - but it was an even headier time to be part of the Computing Field. Progress in both fields was rapid, and the vistas were extraterrestrial!

The primary lesson he learned during those aerospace years was that he loved the technology of software, but hated being a manager. He carefully cultivated the role of technical specialist, which had two major impacts on his career - (a) his technical knowledge remained fresh and useful, but (b) his knowledge of management - and his earning power (!) - were diminished commensurately.

When his upwards mobility had reached the inevitable technological Glass ceiling (tee-hee!), Glass took a lateral transition into academe. He taught in the Software Engineering graduate program at Seattle University (1982-1987) and spent a year at the (all-too-academic!) Software Engineering Institute (1987-1988). (He had earlier spent a couple of years (1970-1972) working on a tools-focused research grant at the University of Washington).

The primary lesson he learned during those academic years was that he loved having his Head in the academic side of software engineering, but his Heart remained in its practice. You can take the man out of industry, apparently, but you can't take the industry out of the man. With that new-found wisdom, he began to search for ways to bridge what he had long felt was the "Communication Chasm" between academic computing and its practice.

He found several ways of doing that. Many of his books (over 25) and professional papers (over 90) focus on trying to evaluate academic computing findings and on transitioning those with practical value to industry. (This is decidedly a non-trivial task, and is largely responsible for the contrarian nature of his beliefs and his writings). His lectures and seminars on software engineering focus on both theoretical and best-of-practice findings that are useful to practitioners. His newsletter, The Software Practitioner, treads those same paths. So does the (more academic) Journal of Systems and Software, which he edited for many years for Elsevier (he is now its Editor Emeritus). And so do the columns he has written regularly for such publications as IEEE Software, Information Systems Management, Communications of the ACM, DataBase, and ComputerWorld. Although most of his work is serious and contrarian, a fair portion of it also contains (or even consists of!) computing humor.

With all of that in mind, what are his proudest moments in the computing field? The award, by Linkoping University of Sweden, of his honorary Ph.D. degree in 1995. His being named a Fellow of the ACM professional society in 1999. And his tenure as a semi-regular columnist for those several leading computing publications.

On the personal level, he is the father of two biological and two adopted interracial children, and is married to Iris Vessey, .an Information Systems academic.

Recent books include Software Conflict 2.0 and Software Creativity 2.0, from developer.* Books, Facts and Fallacies of Software Engineering, from Addison-Wesley, and The Dark Dide of Software Engineering, from Wiley/IEEE CS Press.

Customer Reviews

If you read this book, be sure to follow up on your reading with one of the many mentioned articles/books.
Garry Bor
I believe anyone serious about software engineering and software project management will benefit from this book, whether one is technically oriented or not.
YIN-SO CHEN
It also allows you to jump around and read what interests you the most first (which is what I did, although I eventually read all of it).
Henrik Warne

Most Helpful Customer Reviews

87 of 89 people found the following review helpful By Henrik Warne on December 16, 2002
Format: Paperback
I have read a fair number of software engineering books, and this is one of the more enjoyable books that I have read. When I first heard about it, I thought the concept of a sort of summary of the state of the art sounded really interesting. Although I haven't read any of the author's previous books, I have read and enjoyed his columns in IEEE Software and Communications of the ACM, so I had high hopes about this book. And I wasn't disappointed.
Facts and Fallacies of Software Engineering is divided into 55 facts and 10 fallacies. Each fact and fallacy is presented in the same way. There is a headline/slogan that summarizes it, usually one or two pages of Discussion giving more details, then a Controversy section describing what (if anything) people disagree about and finally Sources and References.
The 55 Facts are divided into the following sections and sub-sections: Management (People, Tools and Techniques, Estimation, Reuse, Complexity), Life Cycle (Requirements, Design, Coding, Error Removal, Testing, Reviews and Inspections, Maintenance), Quality (Quality, Reliability, Efficiency) and Research.
The 10 Fallacies are divided into Management, Life Cycle and Education.
This way of organizing the material works really well, and makes the book very accessible and easy to read. It also allows you to jump around and read what interests you the most first (which is what I did, although I eventually read all of it).
Many of the facts are well known (for example Fact 3 "Adding people to a late project makes it later", Fact 16 "Reuse-in-the-large remains a mostly unsolved problem" and Fact 24 "Requirement errors are the most expensive to fix during production"), but that doesn't matter.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
33 of 33 people found the following review helpful By Philip R. Heath TOP 500 REVIEWERVINE VOICE on April 4, 2003
Format: Paperback
The other reviewers have done a fine job of covering the content of the book. I will comment about its usefulness. In short, this book is truly valuable to the developer who has recently been promoted to team leader. While developers would benefit greatly from this book, the reality is that most developers would rather read books like "Effective C++", "Design Patterns", "Expert One on One Oracle", etc. To the new manager, though, this book is a gem. The book talks about specific management issues as well as the development life cycle and quality. In short, the book focuses exactly on what the team leader does and the team leader's team. In addition to the material presented in the book, the author gives a great number of sources and reference for further reading.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
13 of 15 people found the following review helpful By Garry Bor on February 28, 2003
Format: Paperback
Written in the style of "Effective */More Effective *", this book presents what the author asserts are 55 facts about software engineering.
While you will see the obligatory "Adding people to a late project makes it later" section, the book also introduces several 'facts' that I have never really thought much about e.g. "Enhancements represent roughly 60 percent of maintenance costs"
The true gems of this book are the 'source' and 'reference' section of each fact. Their purposes are twofold. Firstly, they serve to validate the author's claim for each of these facts. Secondly, they provide readers with good follow-ups.
Amazingly, many if not most of the software classic are somehow mentioned in this book. (Even the cult classic Zen and the Art of Motorcycle Maintenance!)
This book manages to capture most of the essence of software engineering literature of today. Certainly, you may not agree with what the author terms as facts. The author does attempt to address these issues under 'Controversy' for each fact.
If you read this book, be sure to follow up on your reading with one of the many mentioned articles/books. Otherwise, you could potentially be left with only a surface understanding of the many issues involved.
Fact 56: "This reviews is written from the viewpoint of a 4 year old software developer in Singapore"
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
9 of 10 people found the following review helpful By Celia Redmore on December 2, 2002
Format: Paperback
Bob Glass is a programmers' programmer -- he's at the other end of the scale from software engineering gurus. This collection of fifty-five software facts and ten fallacies is distilled from his forty-five years of programming experience. Much of it is the kind of thing your grandmother could have told you -- if your grandmother was a programmer -- but some items will surprise and others annoy some people.
Take the following two items as examples:
"The 60/60 rule: 60 percent of software's dollar is spent on maintenance, and 60 percent of that maintenance is enhancement."
"Understanding the existing product consumes roughly 30 percent of the total maintenance time."
That implies that one of the most valuable skills you can teach a Computer Science student is how to *read* code. But as Glass points out (and he taught graduate students for a while) CS courses only teach students to *write* programs, and then they don't often grade the code on readability.
The section on design, which Glass describes as the most intellectual phase of a software project, is the best description of how software designers actually work that I've ever read. He claims that top-ranked designers routinely ignore or subvert the methodologies used by their shops in order to do the job the right way. He has an especial warning for anyone trying to develop anything other than the most trivial program using XP.
The ten fallacies may have taken some well-known quotes out of context. Surely Eric Raymond of the open source movement didn't really mean, "Given enough eyes all bugs are shallow", to be taken literally. Either way, the point Glass is trying to make is that, without proof, we shouldn't *assume* that open source code is less buggy than proprietary code.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Customer Images

Most Recent Customer Reviews

Search