Positives Many readers consider this book a valuable resource, praising its comprehensive overview of software engineering principles. It is often cited as a good introduction to the field, proving useful for students, for preparation for exams, and as a general reference for understanding the full scope of the discipline. Some reviewers find the writing style lucid and compelling, appreciating its naturally linear structure. For a segment of its readership, the book's content has remained relevant over many years, offering foundational knowledge that continues to be applicable.
Negatives However, the book also draws significant criticism, primarily for its perceived outdatedness. Many methods and practices discussed are frequently described as no longer current or widely applicable in modern software development, especially concerning agile or object-oriented approaches. Reviewers often find the text to be verbose, repetitive, and overly abstract, making for a challenging and at times boring read. Critics also point to a lack of practical examples and a tendency to present theoretical concepts without sufficient substance, often relying heavily on references to other works rather than offering in-depth explanations. The book’s focus on high-ceremony, high-discipline projects is also noted as being out of touch with everyday software projects. Additionally, some non-English translations are singled out for their poor quality.
Conclusion Overall, this book appears to be a mixed bag. It is widely acknowledged for its broad scope, serving as a comprehensive introduction to the vast array of topics and practices within software engineering. However, its perceived age and stylistic issues mean it may not be the best resource for learning contemporary software development methodologies or for those seeking practical, up-to-date guidance. Therefore, this book would likely appeal most to students or individuals seeking a foundational understanding of the breadth of software engineering, or as a historical reference, rather than as a primary guide for current best practices in an evolving field. It can be particularly useful for those needing to understand the full scope of the discipline for academic purposes, such as exam preparation.