Software Product Lines
Long a standard practice in traditional manufacturing, the concept of product lines is relatively new to the software industry. A software product line is a family of systems that share a common set of core technical assets, with preplanned extensions and variations to address the needs of specific customers or market segments. Software organizations of all types and sizes are discovering that when skillfully implemented, a product line strategy can yield enormous gains in productivity, quality, and time-to-market.

Review By: Tony Alabi
05/11/2004This book comprises three sections, which introduce and discuss the software product lines (SPL) approach. The first section discusses the conceptual groundwork for software product lines, followed by the description of possible gains acquired from several different points of view, when an organization adopts the SPL approach. The section ends with identifying three essential activities for product lines.
The next section features twenty-nine different definitions of skill areas, such as market analysis, configuration management, architecture definition, component development, and testing. The majority of the second part of the book discusses software development areas, where an organization can perfect their practices to be considered product-line capable.
The final section of the book describes a variety of tools available to an organization, and, if they are well managed in an organization-specific manner, how companies could benefit from the tools. A highlight of this section introduces a diagnostic tool, the Product Line Technical Probe, which assists a company in determining its weak points in practice area skills.
A novice software developer, a new product line manager, or a member of the senior management team in your organization, and new to the SPL concepts but versed in software engineering, will benefit immensely from the material and insights provided by some of the practices discussed. The information provided gives the reader a grasp of the big picture and empower them with practices applicable to their organization.
Armed with the big picture, the reader readily sees how relationships that exist between several practice areas form patterns. These relationships can easily be employed in an organizations’ software development practices, technical management, and organizational management. For any organization, small or large, these patterns present common product line problem/solution pairs, whereby the problems are the development objectives of the project, and the solutions are the practice areas introduced simultaneously during the development phase.
The book includes examples of real-life experiences, using data from some of the most successful Fortune 500 companies that have applied the SPL approach in some form or another, analyzing actual data and day-to-day activities in these organizations. These examples provide a lot of useful discussion questions and topics throughout the book. Sidebars relate true-life experiences and viewpoints of others in the industry who have benefited from the success of applying SPL concepts.
The book concludes with key summaries in practices, patterns, and payoffs, and a rich glossary, bibliography, and indexes. This book is a potential classic reference resource, when many different companies adopt the SPL approach for their software product development.