Archive for April, 2007

Facts and Fallacies of Software Engineering

Thursday, April 26th, 2007

I just finished reading Facts and Fallacies of Software Engineering by Robert Glass. Here are some of my favorite facts from the book:

“Fact 21: For every 25 percent increase in problem complexity, there is a 100 percent increase in complexity of the software solution. That’s not a condition to try to change (even though reducing complexity is always a desirable thing to do); that’s just the way it is.”

“Fact 22: Eighty percent of software work is intellectual. A fair amount of it is creative. Little of it is clerical.”

“Fact 27: There is seldom one best design solution to a software problem.”

“Fact 28: Design is a complex, iterative process. The initial design solution will likely be wrong and certainly not optimal.”

And here is a summary statement for the book:

“Notice that the underlying theme of many of the facts in this book is that the construction of software is a complex, deeply intellectual task, one that shows little possibility of being made simple.” (Page 102)

The author covers a whole slew of topics in this fairly short book. Some of the ideas in one “Fact” which are discussed for the duration of one or two pages in this book are elsewhere discussed in much more depth. But this book is great for its ability to distill so much down to pithy statements which are both insightful and interesting. I’d highly recommend this book to anyone involved in software development.

Software Quality

Friday, April 20th, 2007

I have been reading “Facts and Fallacies of Software Engineering” and have been finding the book both interesting and useful. Here is a quote about software quality: “Quality in the software field is a collection of seven attributes that a quality software product should have: portability, reliability, efficiency, usability (human engineering), testability, understandability, and modifiability.”