Vous voulez voir cette page en français ? Cliquez ici.

 

or
Sign in to turn on 1-Click ordering.
 
 
More Buying Choices
20 used & new from CDN$ 27.70

Have one to sell? Sell yours here
 
   
Facts and Fallacies of Software Engineering
 
 

Facts and Fallacies of Software Engineering (Paperback)

by Robert L. Glass (Author)
5.0 out of 5 stars  See all reviews (6 customer reviews)
List Price: CDN$ 43.99
Price: CDN$ 27.71 & eligible for FREE Super Saver Shipping on orders over CDN$ 39. Details
You Save: CDN$ 16.28 (37%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.ca. Gift-wrap available.

Only 2 left in stock--order soon (more on the way).

Ordering for Christmas? To ensure delivery by December 24 to Toronto, Ottawa, or Montreal, choose Express at checkout. Read more about holiday shipping.

16 new from CDN$ 27.70 4 used from CDN$ 30.12

Frequently Bought Together

Customers buy this book with Code Complete, Second Edition by Steve McConnell

Facts and Fallacies of Software Engineering + Code Complete, Second Edition
Price For Both: CDN$ 67.20

Show availability and shipping details

  • This item: Facts and Fallacies of Software Engineering by Robert L. Glass

    In Stock.
    Ships from and sold by Amazon.ca.
    Eligible for FREE Super Saver Shipping on orders over CDN$ 39. Details

  • Code Complete, Second Edition by Steve McConnell

    In Stock.
    Ships from and sold by Amazon.ca.
    This item ships for FREE with Super Saver Shipping. Details


Customers Who Bought This Item Also Bought

Managing Humans: Biting and Humorous Tales of a Software Engineering Manager

Managing Humans: Biting and Humorous Tales of a Software Engineering Manager

by Michael Lopp
CDN$ 18.15
Code Complete, Second Edition

Code Complete, Second Edition

by Steve McConnell
4.2 out of 5 stars (5)  CDN$ 39.49
Refactoring: Improving the Design of Existing Code

Refactoring: Improving the Design of Existing Code

by Martin Fowler
4.6 out of 5 stars (95)  CDN$ 49.13
The Pragmatic Programmer: From Journeyman to Master

The Pragmatic Programmer: From Journeyman to Master

by Andrew Hunt
4.5 out of 5 stars (85)  CDN$ 34.64
Implementation Patterns

Implementation Patterns

by Kent Beck
CDN$ 34.01
Explore similar items

Product Details


Product Description

Product Description

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!


Book Info

This guide identifies many of the key problems hampering success in this field. Covers management, all stages of the software lifecycle, quality, research, and more. Author presents ten common fallacies that help support the fifty-five facts. Softcover.

Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Table of Contents | Excerpt | Back Cover
Search inside this book:

Tag this product

 (What's this?)
Think of a tag as a keyword or label you consider is strongly related to this product.
Tags will help all customers organize and find favorite items.
Your tags: Add your first tag
 

What do customers ultimately buy after viewing this item?

Facts and Fallacies of Software Engineering
77% buy the item featured on this page:
Facts and Fallacies of Software Engineering 5.0 out of 5 stars (6)
CDN$ 27.71
The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition
9% buy
The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition 4.5 out of 5 stars (74)
CDN$ 27.71
Code Complete, Second Edition
8% buy
Code Complete, Second Edition 4.2 out of 5 stars (5)
CDN$ 39.49
Refactoring: Improving the Design of Existing Code
3% buy
Refactoring: Improving the Design of Existing Code 4.6 out of 5 stars (95)
CDN$ 49.13

 

Customer Reviews

6 Reviews
5 star:
 (6)
4 star:    (0)
3 star:    (0)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
5.0 out of 5 stars (6 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most helpful customer reviews

 
5.0 out of 5 stars On Computational Feasibility, Jul 10 2003
By S. Wuest (Tucson, AZ United States) - See all my reviews
(REAL NAME)   
I recommend this book to any software person who wants to find out why most software projects that fail, fail.

But my specific interest revolves around writing software in large engineering (hard engineering) companies, in that very peculiar environment. Specifically, the hard engineering environment in which knowledge of the programming language is considered the most advanced software theory needed to produce a product, and in which Electrical Engineers without any formal education in advanced data structures, algorithms to manipulate them, search strategies, and heuristics are writing most of the code.

I am seeing HUGE software projects fall FAR short of their schedulled goals, because those doing the coding have simply used up all their computational cycles (I'm talking about real-time software). In these situations, managers seem to imply
1. they were blindsided
2. there are no ways to forsee such computational box canyons
3. no one could have done better, anyway.

On all 3 points, managers are wrong. And the substance on which they are so badly wrong, would make for another 10 fallacies in Glass' book. For example:

Fallacy N: Hard engineers produce advanced software algorithms.
The average hard engineer is writing Freshman undergraduate code, and making basic errors in design.

Fallacy N+1: Simple code (meaning no Computer Science theory) is much more efficient than highly tailored software algorithms. Actually, it is often orders of magnitude less efficient.

Fallacy N+2: Analytical mathematical solutions are the only ones worthy of respect. Actually, with the incredibly complex problems in modern engineering, closed form mathematical solns may never be found. Many such solns are so computationally expensive, that they never could be practical solutions.

Fallacy N+3: There are no analytical methods for identifying algorithms with prohibitive computational complexity--you must just write the software and try it out. Actually, there is a whole field of C.S. that does this.

Fallacy N+4: Modern Engineering problems are unique. Actually, the tar pits of computational complexity remain pretty stable, and Artificial Intelligence has amply failed in most of them (such as the Frame problem, and Automated Reasoning). Managers are just ignorant of the tar pits.

Fallacy N+5: Next year we'll get a new processor which is 60% faster, and our problems will go away. Actually, the mathheads that keep saying this have still not figured out that the disastrous software algorithms have computational growth rates that are exponential, and linear growth in processor speed does not define a solution to this problem.

Fallacy N+6: We write modular software. Actually, "modular" to a hard engineer and "modular" to a software engineer are radically different things. I regularly see "modular" software that has no defined interface, and no behavioral contract, so does not meet even basic requirements for reuse. Glass does not address the radically different semantics given the same words, by software and hard engineers. "Algorithm" is another word with very different meanings.

Fallacy N+7: Rule-Based software will, of course, solve our problem. Actually, automated reasoning has large undecidable and intractable areas. Engineering companies are just beginning to step in this tar pit, 25 years behind Artificial Intelligence.

Fallacy N+8: Knowledge of the syntax of a computer language, is the most valuable asset in software design. Actually, this is a trivial skill, relatively. The ability to represent symbolically complex reality in code structures, and complex manipulations of those structures efficiently, is orders of magnitude more valuable. Knowledge of just language syntax leads to literalistic algorithms, which tend to be brute force.

To his credit, Glass did mention...
Fallacy: Real-time code optimizers will fix any slowness in execution. Actually, you may gain 10-18% in speed this way, but these failing projects are orders of magnitude slower then needed. Better get rid of the real-time optimizers, and hire highly educated software designers.

I REALLY, REALLY appreciate Glass. But someone with a modern Masters degree in C.S. would realize that there is no reason to be blind-sided by most of these software disasters, and there are proven ways of evaluating these risks of failure while still in the design stage. Most VERY VERY bright hard engineers don't have the basic theory to detect computational risk, and don't even know where they should acquire it, if they wanted to improve their software algorithm design ability.

The problem is not just that (as Glass mentions) managers of software projects are out of touch with the technical people who write software. The disconnect is rather worse: most of the people who write software in big engineering companies are hard engineers, with no theoretical background in software algorithm design. There is an unspoken "amateur ethic" which condemns formal design theory. Technical leads of these "programmers" are often as uneducated, and could not identify sound software designs if their career depended on it. (So they are continually promoting Public Relations designs, and being blind-sided by failures.)

The situation in software design in America remains "tragic," and anti-intellectual, and the amateur (KISS) ethic continues to produce software projects which are computationally orders of magnitude outside of feasibility. Process does not begin to address this problem (Glass alludes to this). Nor does the strategy to redouble expectations toward the ï¿amateur coding ethicï¿ and stop being such a nay-sayer. The truth remains that most technical leads in engineering companies, cannot even recognize what a software design is, and have no theoretical tools to analyze computational feasibility.

I wish that someone would address this problem in basic "Facts and Fallacies" books.

Stephen Wuest, Raytheon, M.S. in C.S. and A.I., 1999.

Was this review helpful to you? Yes No (Report this)



 
5.0 out of 5 stars Maybe the most important book you will ever read, Jul 2 2003
By W. Lee (San Diego, CA USA) - See all my reviews
(REAL NAME)   
Once again, Glass has proven that he belongs in the software engineering pantheon along with Tom DeMarco, Gerry Weinberg, and Steve McConnell.

This book will open your eyes. If you work in the field, you'll never think about your livelihood the same way again.

If you take only one thing away from this book, remember this: don't blindly trust what the advocates of the latest methodology are saying, whether it be OO, XP, RUP, or UML, without some substantive evaluative research backing them up. Glass makes compelling arguments as to why the software industry has fallen easy prey to the hucksters and snake-oil salesmen.

Was this review helpful to you? Yes No (Report this)



 
5.0 out of 5 stars Insightful To The New Manager/Team Leader, April 4 2003
By Philip R. Heath (Hurst, TX United States) - See all my reviews
(REAL NAME)   
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.
Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
Most recent customer reviews

5.0 out of 5 stars Good summary of Software Engineering ideas and trends
Written in the style of "Effective */More Effective *", this book presents what the author asserts are 55 facts about software engineering. Read more
Published on Feb 28 2003 by Garry Bor

5.0 out of 5 stars A valuable and easy to read summary of the state of the art
I have read a fair number of software engineering books, and this is one of the more enjoyable books that I have read. Read more
Published on Dec 16 2002 by Henrik Warne

5.0 out of 5 stars (Not so) common wisdom about building software
Bob Glass is a programmers' programmer -- he's at the other end of the scale from software engineering gurus. Read more
Published on Dec 2 2002 by Celia Redmore

Only search this product's reviews



Listmania!


Look for similar items by category


Look for similar items by subject


Feedback


Your Recent History

 (What's this?)

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.