b-log – betriebsraum weblog

Software Development, Human-Computer Interaction, Projects…

Outstanding Book on Software Development

January 3, 2011

The average software developer reads less than one job-related book per year. This may be true or may not be true. I have no proof for this claim, I just heard or read it »somewhere«.
Making Software: What Really Works, and Why We Believe It does not have an answer either but sheds lights on many much more important issues in the software engineering domain. The book challenges »opinion- and superstition-based software engineering« by reporting results from numerous scientific studies carried out by large research institutes and experienced researchers. Should one trust every belief read on a blog or take every anecdote of a co-worker’s past project experience for granted? Do TDD and pair programming work? Does it pay off to design your application using modules and design patterns? What do we know about bugs?

The authors of this book attempt to provide unbiased information and study results about several hotly debated topics. Some chapters report the results of meta-studies that summarize and evaluate findings of years of research (an extremely time-consuming task!). I find it interesting that much of what is considered »common knowledge« in industry is actually reflected in research results (Conway’s law, for example). Other findings, however, may surprise you. This shows the strong relationship in software engineering between industry and research, which in other fields is certainly not that strong.

Readers, who are used to reading professional books or web articles, may find most of the chapters very academic (although the writing style is mostly not as academic as in scientific publications). Overall, »Making Software« is not only recommended reading, it is essential reading, helping you to make more informed judgements. A good belated new year’s resolution for the aforementioned average developer might be to read at least one book per year. Start with this one!

Filed under: Reading, Software Development

Add a comment

Follow comments to this post by subscribing to the comment feed.