📖 Overview
Facts and Fallacies of Software Engineering presents 55 claims about software development, examining both proven facts and common misconceptions in the field. Glass draws from research findings and industry experience to explore key aspects of software engineering practice.
The book structures each topic as a clear statement followed by discussion of supporting evidence, counterarguments, and real-world implications. Topics range from management and quality assurance to programming, maintenance, and reuse.
The format allows readers to engage with individual claims independently while building a comprehensive view of software engineering principles. Glass includes references and sources to support further investigation of the material.
This work serves as both a practical reference and a critical examination of accepted wisdom in software development. The systematic analysis of facts versus fallacies encourages practitioners to question assumptions and make decisions based on evidence rather than popular opinion.
👀 Reviews
Readers consistently describe this book as a practical collection of software truths backed by research and experience. Many appreciate Glass's clear presentation of 55 facts and 10 fallacies without getting lost in technical jargon.
Likes:
- Validates experiences developers have encountered
- Research citations support each fact/fallacy
- Concise chapters make it easy to digest
- Challenges common industry assumptions
Dislikes:
- Some facts feel obvious or outdated
- Limited actionable advice
- Writing style can be repetitive
- Several readers note the research citations are from the 1980s-90s
One reader noted: "It puts into words what many developers intuitively know but struggle to articulate to management."
Ratings:
Goodreads: 3.9/5 (1,087 ratings)
Amazon: 4.1/5 (86 ratings)
Reviews indicate most value comes from using it to facilitate discussions between developers and non-technical stakeholders about software development realities.
📚 Similar books
Code Complete by Steve McConnell
Contains research-based principles, methods, and empirical observations about effective software development practices.
The Pragmatic Programmer by Dave Thomas Presents core processes and practices of software development through concrete examples and real-world observations.
Clean Code by Robert C. Martin Outlines patterns, practices, and principles of writing maintainable software based on decades of professional experience.
The Mythical Man-Month by Fred Brooks Examines the challenges and realities of software project management through case studies from IBM's OS/360 project.
Software Engineering at Google by Titus Winters, Tom Manshreck, and Hyrum Wright Documents engineering practices, principles, and tools used to develop and maintain large-scale software systems at Google.
The Pragmatic Programmer by Dave Thomas Presents core processes and practices of software development through concrete examples and real-world observations.
Clean Code by Robert C. Martin Outlines patterns, practices, and principles of writing maintainable software based on decades of professional experience.
The Mythical Man-Month by Fred Brooks Examines the challenges and realities of software project management through case studies from IBM's OS/360 project.
Software Engineering at Google by Titus Winters, Tom Manshreck, and Hyrum Wright Documents engineering practices, principles, and tools used to develop and maintain large-scale software systems at Google.
🤔 Interesting facts
🔷 Robert Glass spent over 50 years in the software industry and collected these facts and fallacies through direct experience, making the book a blend of research and practical wisdom.
🔷 The book presents 55 facts and 10 fallacies about software engineering, challenging many commonly held beliefs in the industry.
🔷 Glass specifically chose controversial topics for the book, stating that about 50% of readers would disagree with any given fact or fallacy he presents.
🔷 Despite being published in 2002, many of the book's observations about software project failures and human factors in programming remain relevant today, as core challenges in software development persist.
🔷 The author maintained a regular column called "The Loyal Opposition" in Communications of the ACM for many years, where he was known for challenging conventional wisdom in software engineering.