Software Product Lines: Practices and Patterns
Paul Clements, Software Engineering Institute
Linda Northrop

ISBN-10: 0201703327
ISBN-13: 9780201703320

Publisher: Addison-Wesley Professional
Copyright: 2002
Format: Cloth; 608 pp
Published: 08/20/2001

Suggested retail price: $64.99
Buy from myPearsonStore

Organizations worldwide are discovering the value of a product line approach to software development: an approach based on building sets of related systems from common assets. Product lines make it possible to construct more flexible systems, do so more rapidly, and deliver higher quality and lower cost. In this book, two of the field's leaders introduce the first step-by-step methodology for implementing product lines successfullyKEY TOPICS:Paul Clements and Linda Northrop show software professionals exactly where to begin with product lines. Then, they review every key technical, organizational, and management issue associated with adopting a product line practice, identifying more than two dozen practice areas requiring attention and skill. They identify key risk factors, and present proven techniques for mitigating these risks. The book also contains two detailed case studies, demonstrating how two very different organizations overcame obstacles to a product line methodology in very different ways.MARKET:For all software architects, engineers, project managers, and other software professionals charged with delivering on large development projects.



Foreword.


Preface.


Acknowledgements.


Dedication.


Reader's Guide.

I. SOFTWARE PRODUCT LINE FUNDAMENTALS.

1. Basic Ideas and Terms.

What Is a Software Product Line?

What Software Product Lines Are Not.

Fortuitous Small-Grained Reuse.

Single-System Development with Reuse.

Just Component-Based Development.

Just a Reconfigurable Architecture.

Releases and Versions of Single Products.

Just a Set of Technical Standards.

A Note on Terminology.

For Further Reading.

Discussion Questions.

2. Benefits.

Organizational Benefits.

Individual Benefits.

Benefits versus Costs.

For Further Reading.

Discussion Questions.

3. The Three Essential Activities.

What Are the Essential Activities?

Core Asset Development.

Product Development.

Management.

All Three Together.

For Further Reading.

Discussion Questions.

II. SOFTWARE PRODUCT LINE PRACTICE AREAS.

Describing the Practice Areas.

Starting versus Running a Product Line.

Organizing the Practice Areas.

4. Software Engineering Practice Areas.

Architecture Definition.

Aspects Peculiar to Product Lines.

Application to Core Asset Development.

Application to Product Development.

Specific Practices.

Practice Risks.

For Further Reading.

Discussion Questions.

Architecture Evaluation.

Aspects Peculiar to Product Lines.

Application to Core Asset Development.

Application to Product Development.

Specific Practices.

Practice Risks.

For Further Reading.

Discussion Questions.

Component Development.

Aspects Peculiar to Product Lines.

Application to Core Asset Development.

Application to Product Development.

Specific Practices.

Practice Risks.

For Further Reading.

Discussion Questions.

COTS Utilization.

Aspects Peculiar to Product Lines.

Application to Core Asset Development.

Application to Product Development.

Specific Practices.

Practice Risks.

For Further Reading.

Discussion Questions.

Mining Existing Assets.

Aspects Peculiar to Product Lines.

Application to Core Asset Development.

Application to Product Development.

Specific Practices.

Practice Risks.

Discussion Questions.

Requirements Engineering.

Aspects Peculiar to Product Lines.

Application to Core Asset Development.

Application to Product Development.

Specific Practices.

Practice Risks.

For Further Reading.

Discussion Questions.

Software System Integration.

Aspects Peculiar to Product Lines.

Application to Core Asset Development.

Application to Product Development.

Specific Practices.

Practice Risks.

For Further Reading.

Discussion Questions.

Testing.

Aspects Peculiar to Product Lines.

Application to Core Asset Development.

Application to Product Development.

Specific Practices.

Practice Risks.

For Further Reading.

Discussion Questions.

Understanding Relevant Domains.

Aspects Peculiar to Product Lines.

Application to Core Asset Development.

Application to Product Development.

Specific Practices.

Practice Risks.

For Further Reading.

Discussion Questions.

5. Technical Management Practice Areas.

Configuration Management.

Aspects Peculiar to Product Lines.

Application to Core Asset Development.

Application to Product Development.

Specific Practices.

Practice Risks.

For Further Reading.

Discussion Questions.

Data Collection, Metrics, and Tracking.

Aspects Peculiar to Product Lines.

Application to Core Asset Development.

Application to Product Development.

Specific Practices.

Practice Risks.

For Further Reading.

Discussion Questions.

Make/Buy/Mine/Commission Analysis.

Aspects Peculiar to Product Lines.

Application to Core Asset Development.

Application to Product Development.

Specific Practices.

Practice Risks.

For Further Reading.

Discussion Questions.

Process Definition.

Aspects Peculiar to Product Lines.

Application to Core Asset Development.

Application to Product Development.

Specific Practices.

Practice Risks.

For Further Reading.

Discussion Questions.

Scoping.

Aspects Peculiar to Product Lines.

Application to Core Asset Development.

Application to Product Development.

Specific Practices.

Practice Risks.

For Further Reading.

Discussion Questions.

Technical Planning.

Aspects Peculiar to Product Lines.

Application to Core Asset Development.

Application to Product Development.

Specific Practices.

Practice Risks.

Discussion Questions.

Technical Risk Management.

Aspects Peculiar to Product Lines.

Application to Core Asset Development.

Application to Product Development.

Specific Practices.

Practice Risks.

For Further Reading.

Discussion Questions.

Tool Support.

Aspects Peculiar to Product Lines.

Application to Core Asset Development.

Application to Product Development.

Specific Practices.

Practice Risks.

For Further Reading.

Discussion Questions.

6. Organizational Management Practice Areas.

Building a Business Case.

Aspects Peculiar to Product Lines.

Application to Core Asset Development.

Application to Product Development.

Specific Practices.

Practice Risks.

For Further Reading.

Discussion Questions.

Customer Interface Management.

Aspects Peculiar to Product Lines.

Application to Core Asset Development.

Application to Product Development.

Specific Practices.

Practice Risks.

Discussion Questions.

Developing an Acquisition Strategy.

Aspects Peculiar to Product Lines.

Application to Core Asset Development.

Application to Product Development.

Specific Practices.

Practice Risks.

For Further Reading.

Discussion Questions.

Funding.

Aspects Peculiar to Product Lines.

Application to Core Asset Development.

Application to Product Development.

Specific Practices.

Practice Risks.

Discussion Questions.

Launching and Institutionalizing.

Aspects Peculiar to Product Lines.

Application to Core Asset Development.

Application to Product Development.

Specific Practices.

Practice Risks.

Discussion Questions.

Market Analysis.

Aspects Peculiar to Product Lines.

Application to Core Asset Development.

Application to Product Development.

Specific Practices.

Practice Risks.

For Further Reading.

Discussion Questions.

Operations.

Aspects Peculiar to Product Lines.

Application to Core Asset Development.

Application to Product Development.

Specific Practices.

Practice Risks.

For Further Reading.

Discussion Questions.

Organizational Planning.

Aspects Peculiar to Product Lines.

Application to Core Asset Development.

Application to Product Development.

Specific Practices.

Practice Risks.

Discussion Questions.

Organizational Risk Management.

Aspects Peculiar to Product Lines.

Application to Core Asset Development.

Application to Product Development.

Specific Practices.

Practice Risks.

For Further Reading.

Discussion Questions.

Structuring the Organization.

Aspects Peculiar to Product Lines.

Application to Core Asset Development.

Application to Product Development.

Specific Practices.

Practice Risks.

Discussion Questions.

Technology Forecasting.

Aspects Peculiar to Product Lines.

Application to Core Asset Development.

Application to Product Development.

Specific Practices.

Practice Risks.

For Further Reading.

Discussion Questions.

Training.

Aspects Peculiar to Product Lines.

Application to Core Asset Development.

Application to Product Development.

Specific Practices.

Practice Risks.

For Further Reading.

Discussion Questions.

III. PUTTING THE PRACTICE AREAS INTO ACTION.

7. Software Product Line Practice Patterns.

The Value of Patterns.

Software Product Line Practice Pattern Descriptions.

The Curriculum Pattern.

The Essentials Coverage Pattern.

Each Asset Pattern.

What to Build Pattern.

Product Parts Pattern.

Assembly Line Pattern.

Monitor Pattern.

Product Builder Pattern.

Cold Start Pattern.

In Motion Pattern.

Process Pattern.

Factory Pattern.

Other Patterns.

Practice Area Coverage.

Discussion Questions.

8. Product Line Technical Probe.

What Is the Product Line Technical Probe?

Probe Interview Questions.

Probe Participants.

Probe Process.

Using the Probe Results.

Conducting a Mini Self-Probe.

Discussion Questions.

9. Cummins Engine Company: Embracing the Future.

Prologue.

Company History.

A Product Line of Engine Software.

Getting off the Ground.

An Organization Structured for Cooperation.

Running the Product Line.

Results.

Lessons Learned.

Epilogue.

Practice Area Compendium.

For Further Reading.

Discussion Questions.

10. Control Channel Toolkit: A Software Product Line that Controls Satellites.

Contextual Background.

Organizational Profiles.

Project History.

Control Channels.

Launching CCT.

Developing a Business Case for CCT.

Developing the Acquisition Strategy and Funding CCT.

Structuring the CCT Organization.

Organizational and Technical Planning.

Operations.

Engineering the CCT Core Assets.

Domain Analysis.

Architecture.

Component Engineering.

Testing: Application and Test Engineering.

Sustainment Engineering: Product Line Evolution.

Documentation.

Managing the CCT Effort.

Early Benefits from CCT.

First CCT Product.

Benefits beyond CCT Products.

Lessons and Issues.

Tool Support Is Inadequate.

Domain Analysis Documentation Is Important.

An Early Architecture Focus Is Best.

Product Builders Need More Support.

CCT Users Need Reuse Metrics.

It Pays to Be Flexible, and Cross-Unit Teams Work.

A Real Product Is a Benefit.

Summary.

For Further Reading.

Discussion Questions.

11. Successful Software product Line Development in Small Organization.

Introduction.

The Early Years.

The MERGER Software Product Line.

Market Maker Software Product Line Practices.

Architecture Definition.

Component Development.

Structuring (and Staffing) the Organization.

Testing.

Data Collection and Metrics.

Launching and Institutionalizing the Product Line.

Understanding the Market.

Technology Forecasting.

A Few Observations.

Effects of Company Culture.

Cost Issues.

The Customer Paradox.

Tool Support.

Lessons Learned.

Drawbacks.

Conclusions: Software Product Lines in Small Organizations.

For Further Reading.

Discussion Questions.

12. Conclusions: Practices, Patterns and Payoffs.

The Practices.

The Patterns.

The Success Factors.

The Payoff.

Finale.

Glossary.

Bibliography.

Index.

Paul Clements is a senior member of the technical staff at the SEI, where he works on software architecture and product line engineering. He is the author of five books and more than three dozen papers on these and other topics.

Linda Northrop is director of the Product Line Systems Program at the SEI and chaired the first annual International Conference on Software Product Lines. A frequent keynote speaker and highly acclaimed educator, she has more than thirty years of experience in software development, including work at Eastman Kodak and IBM.



0201703327AB01162003

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.

Software Product Lines is the culmination of an intensive investigation, undertaken by the Software Engineering Institute (SEI) at Carnegie Mellon, into how leading-edge software development organizations have "retooled" for product lines. With explanations of fundamental concepts further illuminated by real-world experience, this book spells out the technical issues involved in adopting a product line strategy, as well as the organizational and management issues that are so critical for success. In providing a comprehensive set of practices and patterns, this book defines and explores the key activities for software product line development and explains specific practice areas in engineering, technical management, and organizational management.

Highlights include:

  • The benefits of a software product line approach, including actual improvement data from industrial success stories
  • Methods to develop a reusable base of core assets and to develop products that utilize that core
  • Common problems paired with concrete solutions in the form of reusable software product line patterns
  • Twenty-nine practice areas for successful implementation, including architecture definition,component development, configuration management, market analysis, and training
  • The product line technical probe for identifying technical and organizational weaknesses that could impede success

Three detailed case studies from the industry lead you step by step through the process of developing and managing software product lines, illustrating potential pitfalls, creative solutions, and the ultimate rewards. Discussion questions, sidebars, and real-world anecdotes from the trenches reveal the collective wisdom of those on the front line of software product line ventures.



View a Sample Chapter PDF:

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students, contact your Pearson Higher Education representative for pricing and ordering information.

This title is a member of the SEI Series in Software Engineering, which also contains the titles below . You can also visit the SEI Series in Software Engineering page.

  • 0201734095Architecture-Centric Software Project Management: A Practical Guide
    Paulish
    © 2002 | Addison-Wesley Professional | Paper; 320 pages | Instock
    ISBN-10: 0201734095 | ISBN-13: 9780201734096
    Buy from myPearsonStore

  • 0201700646Building Systems from Commercial Components
    Wallnau, Hissam & Seacord
    © 2002 | Addison-Wesley Professional | Paper; 432 pages | Estimated Availability: 07/25/2001
    ISBN-10: 0201700646 | ISBN-13: 9780201700640
    Buy from myPearsonStore

  • 020173723XThe CERT® Guide to System and Network Security Practices
    Allen
    © 2001 | Addison-Wesley Professional | Paper; 480 pages | Instock
    ISBN-10: 020173723X | ISBN-13: 9780201737233
    Brief Description | Buy from myPearsonStore

  • 0201616262CMM in Practice: Processes for Executing Software Projects at Infosys
    Jalote
    © 2000 | Addison-Wesley Professional | Paper; 400 pages | Instock
    ISBN-10: 0201616262 | ISBN-13: 9780201616262
    Brief Description | Buy from myPearsonStore

  • 0321461088CMMI Distilled: A Practical Introduction to Integrated Process Improvement, 3/E
    Ahern, Clouse & Turner
    © 2008 | Addison-Wesley Professional | Paper; 288 pages | Instock
    ISBN-10: 0321461088 | ISBN-13: 9780321461087
    Buy from myPearsonStore

  • 0321179358CMMI® Assessments: Motivating Positive Change
    Bush & Dunaway
    © 2005 | Addison-Wesley Professional | Cloth; 432 pages | Instock
    ISBN-10: 0321179358 | ISBN-13: 9780321179357
    Brief Description | Buy from myPearsonStore

  • 0321186133CMMI® Distilled: A Practical Introduction to Integrated Process Improvement, 2/E
    Ahern, Clouse & Turner
    © 2004 | Addison-Wesley Professional | Paper; 336 pages | Instock
    ISBN-10: 0321186133 | ISBN-13: 9780321186133
    Brief Description | Buy from myPearsonStore

  • 0321228766CMMI® SCAMPI Distilled: Appraisals for Process Improvement
    Ahern, Armstrong, Clouse, Ferguson, Hayes & Nidiffer
    © 2005 | Addison-Wesley Professional | Paper; 240 pages | Instock
    ISBN-10: 0321228766 | ISBN-13: 9780321228765
    Brief Description | Buy from myPearsonStore

  • 0321422775CMMI® Survival Guide: Just Enough Process Improvement
    Garcia & Turner
    © 2007 | Addison-Wesley Professional | Paper; 336 pages | Instock
    ISBN-10: 0321422775 | ISBN-13: 9780321422774
    Buy from myPearsonStore

  • 0321477170CMMI® for Outsourcing: Guidelines for Software, Systems, and IT Acquisition
    Hofmann, Yedlin, Mishler & Kushner
    © 2007 | Addison-Wesley Professional | Cloth; 464 pages | Instock
    ISBN-10: 0321477170 | ISBN-13: 9780321477170
    Buy from myPearsonStore

  • 0321279670CMMI®: Guidelines for Process Integration and Product Improvement, 2/E
    Chrissis, Konrad & Shrum
    © 2007 | Addison-Wesley Professional | Cloth; 704 pages | Instock
    ISBN-10: 0321279670 | ISBN-13: 9780321279675
    Buy from myPearsonStore

  • 0321154967CMMI®: Guidelines for Process Integration and Product Improvement
    Chrissis, Konrad & Shrum
    © 2003 | Addison-Wesley Professional | Cloth; 688 pages | Instock
    ISBN-10: 0321154967 | ISBN-13: 9780321154965
    Brief Description | Buy from myPearsonStore

  • 0201854805Cleanroom Software Engineering: Technology and Process
    Prowell, Trammell, Linger & Poore
    © 1999 | Addison-Wesley Professional | Paper; 416 pages | Instock
    ISBN-10: 0201854805 | ISBN-13: 9780201854800
    Brief Description | Buy from myPearsonStore

  • 0201546108Discipline for Software Engineering, A
    Humphrey
    © 1995 | Addison-Wesley Professional | Cloth; 816 pages | Instock
    ISBN-10: 0201546108 | ISBN-13: 9780201546101
    Brief Description | Buy from myPearsonStore

  • 0201703726Documenting Software Architectures: Views and Beyond
    Clements, Bachmann, Bass, Garlan, Ivers, Little, Nord & Stafford
    © 2003 | Addison-Wesley Professional | Cloth; 560 pages | Instock
    ISBN-10: 0201703726 | ISBN-13: 9780201703726
    Buy from myPearsonStore

  • 0201703122Estimating Software-Intensive Systems: Projects, Products, and Processes
    Stutzke
    © 2005 | Addison-Wesley Professional | Cloth Bound w/CD-ROM; 944 pages | Instock
    ISBN-10: 0201703122 | ISBN-13: 9780201703122
    Buy from myPearsonStore

  • 020170482XEvaluating Software Architectures: Methods and Case Studies
    Clements, Kazman & Klein
    © 2002 | Addison-Wesley Professional | Cloth; 368 pages | Instock
    ISBN-10: 020170482X | ISBN-13: 9780201704822
    Buy from myPearsonStore

  • 0201548097Introduction to the Personal Software Process(sm)
    Humphrey
    © 1997 | Addison-Wesley Professional | Paper; 304 pages | Instock
    ISBN-10: 0201548097 | ISBN-13: 9780201548099
    Brief Description | Buy from myPearsonStore

  • 020147719XIntroduction to the Team Software Process(sm)
    Humphrey
    © 2000 | Addison-Wesley Professional | Cloth; 496 pages | Instock
    ISBN-10: 020147719X | ISBN-13: 9780201477191
    Brief Description | Buy from myPearsonStore

  • 0321118863Managing Information Security Risks: The OCTAVE (SM) Approach
    Alberts & Dorofee
    © 2003 | Addison-Wesley Professional | Cloth; 512 pages | Instock
    ISBN-10: 0321118863 | ISBN-13: 9780321118868
    Brief Description | Buy from myPearsonStore

  • 0201255928Managing Risk: Methods for Software Systems Development
    Hall
    © 1998 | Addison-Wesley Professional | Cloth; 400 pages | Instock
    ISBN-10: 0201255928 | ISBN-13: 9780201255928
    Brief Description | Buy from myPearsonStore

  • 0201704544Managing Software Acquisition: Open Systems and COTS Products
    Meyers & Oberndorf
    © 2001 | Addison-Wesley Professional | Paper; 400 pages | Instock
    ISBN-10: 0201704544 | ISBN-13: 9780201704549
    Buy from myPearsonStore

  • 0201545977Managing Technical People: Innovation, Teamwork, and the Software Process
    Humphrey
    © 1997 | Addison-Wesley Professional | Paper; 352 pages | Out of Stock
    ISBN-10: 0201545977 | ISBN-13: 9780201545975


  • 0201180952Managing the Software Process
    Humphrey
    © 1989 | Addison-Wesley Professional | Cloth; 512 pages | Instock
    ISBN-10: 0201180952 | ISBN-13: 9780201180954
    Brief Description | Buy from myPearsonStore

  • 0201604442Measuring the Software Process: Statistical Process Control for Software Process Improvement
    Florac & Carleton
    © 1999 | Addison-Wesley Professional | Cloth; 272 pages | Instock
    ISBN-10: 0201604442 | ISBN-13: 9780201604443
    Buy from myPearsonStore

  • 0321305493PSP(sm): A Self-Improvement Process for Software Engineers
    Humphrey
    © 2005 | Addison-Wesley Professional | Cloth; 368 pages | Instock
    ISBN-10: 0321305493 | ISBN-13: 9780321305497
    Brief Description | Buy from myPearsonStore

  • 0201604450People Capability Maturity Model®, The: Guidelines for Improving the Workforce
    Curtis, Hefley & Miller
    © 2002 | Addison-Wesley Professional | Cloth; 624 pages | Instock
    ISBN-10: 0201604450 | ISBN-13: 9780201604450
    Brief Description | Buy from myPearsonStore

  • 0321335724Secure Coding in C and C++
    Seacord
    © 2006 | Addison-Wesley Professional | Paper; 368 pages | Instock
    ISBN-10: 0321335724 | ISBN-13: 9780321335722
    Brief Description | Buy from myPearsonStore

  • 0321154959Software Architecture in Practice, 2/E
    Bass, Clements & Kazman
    © 2003 | Addison-Wesley Professional | Cloth; 560 pages | Instock
    ISBN-10: 0321154959 | ISBN-13: 9780321154958
    Brief Description | Buy from myPearsonStore

  • 0201703327Software Product Lines: Practices and Patterns
    Clements & Northrop
    © 2002 | Addison-Wesley Professional | Cloth; 608 pages | Instock
    ISBN-10: 0201703327 | ISBN-13: 9780201703320
    Buy from myPearsonStore

  • 032150917XSoftware Security Engineering: A Guide for Project Managers
    Allen, Barnum, Ellison, McGraw & Mead
    © 2008 | Addison-Wesley Professional | Paper; 368 pages | Instock
    ISBN-10: 032150917X | ISBN-13: 9780321509178
    Buy from myPearsonStore

  • 0201731134TSP(SM)—Coaching Development Teams
    Humphrey
    © 2006 | Addison-Wesley Professional | Cloth; 448 pages | Instock
    ISBN-10: 0201731134 | ISBN-13: 9780201731132
    Buy from myPearsonStore

  • 0321349628TSP(SM)—Leading a Development Team
    Humphrey
    © 2006 | Addison-Wesley Professional | Cloth; 336 pages | Instock
    ISBN-10: 0321349628 | ISBN-13: 9780321349620
    Brief Description | Buy from myPearsonStore

  • 0201776391Winning with Software: An Executive Strategy
    Humphrey
    © 2002 | Addison-Wesley Professional | Paper; 256 pages | Instock
    ISBN-10: 0201776391 | ISBN-13: 9780201776393
    Buy from myPearsonStore

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students contact your Pearson Higher Education representative.


Copyright ©2008 Pearson Education. All rights reserved. Legal Notice | Privacy Policy | Permissions