Applied Software Product Line Engineering Book Review
|The authors of this book represent an all-star lineup of the best of the best in the Software Product Line Engineering (SPLE) field. They do a great job of providing a snapshot of the current SPLE best practices in the industry today.|
Each chapter is written by a different author, or team of authors. This leads to some different perspectives on SPLE. This works for this type of book, but it does provide a conflict in the points of view taken in certain chapters. If you have experience with SPLE this shouldn’t be an issue because you will already understand what those different views are, but for someone with little or no experience this could cause confusion. I found none of the points of view wrong, just different. Different domains require, and provide for, different approaches.
I recommend this book to those that are experienced as a guide to the evolution of the topics covered, and to the beginner I would use it as a road map of topics you should learn more about in order to get the full understanding behind each chapter. Each chapter provides an excellent reference section.
I would suggest also reading the following books. They provide more information about the material covered in some of the chapters.
Software Product Lines: Practices and Patterns is mentioned several places in the book. It is key to getting a more in-depth look at the 29 practice areas and the patterns that help to apply them.
Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures goes in-depth into the use of Product Line UML based Software engineering (PLUS). UML and PLUS are mentioned several places in the book. PLUS is what I use when I build a software product line. I have created a UML stereotype in SPARX EA which you can download here.
The table of contents is below.
ORGANIZATIONAL AND MANAGERIAL ISSUES
Software Product Line Engineering: Overview and Future Directions
A Roadmap for Software Product Line Adoption
New Methods behind a New Generation of Software Product Line Successes
Evaluating Product Family Development Using the Balanced Scorecard Approach
Product Management for Software Product Lines: An Overview
METHODOLOGIES AND PROCESSES
A Systems Product Line Approach
Adoption of Software Product Lines to Develop Autonomic Pervasive Systems
Development of a Software Product Line for Validation
Building a Family of Compilers
Formal Verification and Software Product Lines
Multiple-View Requirements Models for Software Product Line Engineering
Managing Flexibility and Variability: A Road to Competitive Advantage
Feature Oriented Analysis and Design for Dynamically
Reconfigurable Product Lines
Separating Application and Security Concerns in Modeling
Software Product Lines
Architecture as Language
INDUSTRY EXPERIENCES AND CASE STUDIES
Management and Financial Controls of a Software Product Line Adoption
Efficient Scoping with CaVE: A Case Study
Model-Driven, Aspect-Oriented Product Line Engineering: An Industrial Case Study
Evaluation of Design Options in Embedded Automotive Product Lines
Product Line in the Business Process Management Domain
I found the material covered to all be of great value. There are a lot of great case studies through out the book beyond the section of chapters that cover case studies. They help to take the practices covered from theory to reality.
My biggest pain point with this book is the index. It is just down right sad. I am not going to ding the book for something technical the editors missed. I have been very tempted to grab an electronic version to make up for its weakness', although I have not seen one for sale.
All in all if you are involved with Software Product Line Engineering at all, this is a mandatory read. Software Product Line Engineering is an evolving field and this book brings us up to date on the evolution of the field.