Summary: A lot of what software engineers ought to know about building software is, for whatever reason, not known (forgotten, neglected, never considered, etc.). This book is a collection of fifty-five facts that software engineers should always consider. The facts are fundamental. The facts are frequently forgotten. And above all, the facts are important to the success of a project. Robert Glass brings a lifetime's work in software engineering to this often-witty book. In his considerable e
xperience, the author has witnessed that software engineers need to learn the same lessons over and over again. In formally presenting many of these key facts, he hopes that software builders can avoid many of the pitfalls that all too often plague a project. The book covers management, all stages of the software lifecycle, quality, research, and much more. The author even presents ten common fallacies that help support the fifty-five facts. Anyone with an interest in building better software can benefit from this thought-provoking new book.
Summary: A lot of what software engineers ought to know about building software is, for whatever reason, not known (forgotten, neglected, never considered, etc.). This book is a collection of fifty-five facts that software engineers should always consider. The facts are fundamental. The facts are frequently forgotten. And above all, the facts are important to the success of a project. Robert Glass brings a lifetime's work in software engineering to this often-witty book. In his considerable experience, the author has witnessed that software engineers need to learn the same lessons over and over again. In formally presenting many of these key facts, he hopes that software builders can avoid many of the pitfalls that all too often plague a project. The book covers management, all stages of the software lifecycle, quality, research, and much more. The author even presents ten common fallacies that help support the fifty-five facts. Anyone with an interest in building better software can benefit from this thought-provoking new book. ...show less
Edition/Copyright:03 Cover: Paperback Publisher:Addison-Wesley Longman, Inc. Published: 11/28/2002 International: No
Preface This book is a collection of facts and fallacies about the subject of software engineering.Sounds boring, doesn't it? A laundry list of facts and fallacies about building software doesn't sound like the kind of thing you'd like to kick back and spend an hour or two with. But there's something special about these facts and fallacies. They're fundamental. And the truth that underlies them is frequently forgotten. In fact, that's the underlying theme of this book. A lot of what we ought to know about building software we don't, for one reason or another. And some of what we think we know is just plain wrong.
Who is the we in that previous paragraph? People who build software, of course. We seem to need to learn the same lessons over and over again, lessons that these facts--if remembered--might help us avoid. But by we I also mean people who do research about software. Some researchers get mired so deeply in theory that they miss some fundamentally important facts that might turn their theories upside-down.
So the audience for this book is anyone who's interested in building software. Professionals, both technologists and their managers. Students. Faculty. Researchers. I think, he said immodestly, that there's something in this book for all of you.
Originally, this book had a cumbersome, 13-word title: Fifty-Five Frequently Forgotten Fundamental Facts (and a Few Fallacies) about Software Engineering was, well, excessive--or at least those responsible for marketing this book thought so. So cooler heads prevailed. My publisher and I finally settled on Facts and Fallacies of Software Engineering. Crisp, clear--and considerably less colorful!
I had tried to shorten the original long title by nicknaming it the F-Book, noting the alliteration of all the letter Fs in the title. But my publisher objected, and I suppose I have to admit he was right. After all, the letter F is probably the only dirty letter in our alphabet (H and D have their advocates, also, but F seems to reach another level of dirtiness). So the F-Book this is not. (The fact that an early computer science book on compiler-writing was called the Dragon Book, for the sole reason that someone had I suppose arbitrarily put the picture of a dragon on its cover, didn't cut any ice in this particular matter.)
But in my defense, I would like to say this: Each of those F-words was there for a purpose, to carry its weight in the gathering meaning of the title. The 55, of course, was just a gimmick. I aimed for 55 facts because that would add to the alliteration in the title. (Alan Davis's wonderful book of 201 principles of software engineering was just as arbitrary in its striving for 201, I'll bet.) But the rest of the Fs were carefully chosen.
Frequently forgotten? Because most of them are. There's a lot of stuff in here that you will be able to say "oh, yeah, I remember that one" and then muse about why you forgot it over the years.
Fundamental? The primary reason for choosing this particular collection of facts is because all of them carry major significance in the software field. We may have forgotten many of them, but that doesn't diminish their importance. In fact, if you're still wondering whether to go on reading this book, the most important reason I can give you for continuing is that I strongly believe that, in this collection of facts, you will find the most fundamentally important knowledge in the software engineering field.
Facts? Oddly, this is probably the most controversial of the words in the title. You may not agree with all of the facts I have chosen here. You may even violently disagree with some of them. I personally believe that they all represent fact, but that doesn't mean you have to.
A few fallacies? There are some sacred cows in the software field that I just couldn't resist skewering! I suppose I have to admit that the things I call fallacies are things that others might call facts. But part of your fun in reading this book should be forming your own opinion on the things I call facts--and the things I call fallacies.
How about the age of these facts and fallacies? One reviewer of this book said that parts of it felt dated. Guilty as charged. For facts and fallacies to be forgotten frequently, they must have been around for awhile. There are plenty of golden oldies in this collection. But here I think you will find some facts and fallacies that will surprise you, as well--ideas that are "new" because you're not familiar with them. The point of these facts and fallacies is not that they are aged. It's that they are ageless.
In this part of the book, I want to introduce the facts that follow. The fallacies will have their own introduction later in the book. My idea of an introduction is to take one last trip through these 55 frequently forgotten fundamental facts and see how many of them track with all of those F-words. Putting on my objectivity hat, I have to admit that some of these facts aren't all that forgotten.
Twelve of the facts are simply little known. They haven't been forgotten; many people haven't heard of them. But they are, I would assert, fundamentally important. Eleven of them are pretty well accepted, but no one seems to act on them. Eight of them are accepted, but we don't agree on how--or whether--to fix the problems they represent. Six of them are probably totally accepted by most people, with no controversy and little forgetting. Five of them, many people will flat-out disagree with. Five of them are accepted by many people, but a few wildly disagree, making them quite controversial. That doesn't add up to 55 because (a) some of the facts could fit into multiple categories, and (b) there were some trace presences of other categories, like "only vendors would disagree with this." Rather than telling you which facts fit into which of those categories, I think I'll let you form your own opinion about them.
There's controversy galore in this book, as you can see. To help deal with that, following each discussion about a fact, I acknowledge the controversies surrounding it. I hope, by doing that, I will cover your viewpoint, whether it matches mine or not, and allow you to see where what you believe fits with what I believe.
Given the amount of controversy I've admitted to, it probably would be wise of me to tell you my credentials for selecting these facts and engaging in this controversy. (There's a humorous bio in the back of the book, so here I'll make it quick.) I've been in the software engineering field for over 45 years, mostly as a technical practitioner and researcher. I've written 25 books and more than 75 professional papers on the subject. I have regular columns in three of the leading journals in the field: The Practical Programmer in Communications of the ACM, The Loyal Opposition in IEEE Software, and Through a Glass, Darkly in ACM's SIGMIS DATABASE. I'm known as a contrarian, and I have a plaque identifying me as the "Premier Curmudgeon of Software Practice" to prove it! You can count on me to question the unquestionable and, as I said earlier, to skewer a few sacred cows.
There's one additional thing I'd like to say about these facts. I've already said that I carefully picked them to make sure they were all fundamental to the field. But for all my questioning about how many of them are really forgotten, nearly all of them represent knowledge that we fail to act on. Managers of practitioners make proclamations showing that they've forgotten or never heard of many of them. Software developers work in a world too constrained by their lack of knowledge of them. Researchers advocate things that they would realize are absurd if they were to consider them. I really do believe that there's a rich learning experience--or a rich remembering experience--for those of you who choose to read on.
Now, before I turn you loose among the facts, I want to set some important expectations. In presenting these facts, in many cases, I am also identifying problems in the field. It is not my intention here to present solutions to those problems. This is a what-is book, not a how-to book. That's important to me; what I want to achieve here is to bring these facts back into the open, where they can be freely discussed and progress toward acting on them can be made. I think that's an important enough goal that I don't want to dilute it by diverting the discussion to solutions. Solutions for the problems represented by these facts are often found in books and papers already published in our field: software engineering textbooks, specialty topic software engineering books, the leading software engineering journals, and software popular-press magazines (although there is profound ignorance mixed in with important information in many of these).
To help with that quest, I present these facts in the following orchestrated structure:
First, I discuss the fact. Then I present the controversies, if any, surrounding the fact. And finally, I present the sources of information regarding the fact, a bibliography of background and foreground information. Many of those sources are ancient, by software engineering standards (those are the frequently forgotten facts). Many are as fresh as tomorrow. Some are both.
I've aggregated my 55 facts into several categories: those that are
About management About the life cycle About quality About research
The fallacies are aggregated similarly:
About management About the life cycle About education
Ah, enough preparation. I hope you'll enjoy the facts and fallacies I present here. And, more important, I hope you'll find them useful.
Robert L. Glass Summer 2002
View Author Bio
Glass, Robert : Computing Trends
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.
Free Shipping Get Free Shipping on orders over $25 (not including Rental and Marketplace). Order arrives in 5-10 business days.
Need it faster? We offer fast, flat-rate expedited shipping options.
Not the right book for you? We'll gladly take it back within 30 days.
To return an eTextbook:
Your eTextbook is non-returnable once it's been activated. You must contact us about returning your eTextbook before you activate it.
Returns are accepted within 30 days of the purchase date on your order confirmation.
This book qualifies for guaranteed cash back! Buy it now for , then:
Sell it back by:
Guaranteed cash back:
Cost of this book after cash back:
Take advantage of Guaranteed Cash Back. Send your book to us in good condition before the end of the buyback period, we'll send YOU a check, and you'll pay less for your textbooks!
If you find this book for less on Amazon.com (direct from Amazon, not marketplace sellers), we'll match it.
In our warehouse, waiting to ship directly to you.
We hand-inspect every used textbook to make sure it's in good condition.
Buy it now. Sell it later!
Sell this textbook for cash!
When you're done with this book, sell it back to Textbooks.com. In addition to the best possible buyback price, you'll get an extra 10% cash back just for being a customer.
We buy good-condition used textbooks year 'round, 24/7. No matter where you bought it, Textbooks.com will buy your textbooks for the most cash.
We hand-inspect every one of our used textbooks to ensure good condition.
Our used textbooks do NOT have:
Missing or torn pages
Missing or torn cover
Torn or damaged binding
A broken spine
This textbook has never been used.
Due to the size of eTextbooks, a high-speed internet connection (cable modem, DSL, LAN) is required for download stability and speed. Your connection can be wired or wireless.
Being online is not required for reading an eTextbook after successfully downloading it. You must only be connected to the Internet duringthe download process.
XP or Windows 7 (32 or 64 running in 32 bit mode), or Mac OS 10.6 or above
At least 512 MB RAM, 600 mHZ processor, and 40 MB of hard drive space (75MB for Mac OS)
What is the Marketplace? It's another way for you to get the right price on the books you need. We approved every Marketplace vendor to sell their books on Textbooks.com, so you know they're all reliable.
What are Marketplace shipping options? Marketplace items do not qualify for free shipping. When ordering from the Marketplace, please specify whether you want the seller to send your book Standard ($3.99/item) or Express ($6.99/item). To get free shipping over $25, just order directly from Textbooks.com instead of through the Marketplace.
FREE UPS 2nd Day Air Terms
Rental and Marketplace items are excluded. Offer is valid from 1/21/2013 12:00PM to 1/23/2013 11:59AM CST. Your order must be placed by 12 Noon CST to be processed on the same day. Minimum order value is $100.00 excluding Rental and Marketplace items. To redeem this offer, select "FREE UPS 2ND DAY AIR" at checkout. Offer not is not valid on previous orders.