Software Engineering Institute | Carnegie Mellon University
Software Engineering Institute | Carnegie Mellon University


Software Product Line Practice Framework GraphicThe SEI's work in software product lines is notably unique in its

  • explicit focus on the business and acquisition dimensions, and software architecture, process, and product
  • strong commitment to solving real-world problems faced by industry
  • applicability to the DoD challenge problems and to DoD systems
  • grounding in state-of-the-art technology and working-software product line exemplars
  • high-quality published materials for practitioner consumption

The SEI is seeking partnerships with organizations that want to collaborate in solving product line practice problems in the following areas:

Product Line Adoption Strategies

The SEI is exploring effective product line adoption strategies and applying SEI pattern-based adoption approaches. We are also researching adoption strategies that exploit Capability Maturity Model Integration (CMMI), architecture-centric, and Six Sigma initiatives. [publications on this topic]

Product Line Economic Models

The SEI is developing product line economic models and looking for organizations that would like to pilot or contribute to their development. [publications on this topic]

Production Planning and Product Derivation

Developing core assets is only part of the product line equation. Products in a software product line are developed from the core assets according to the dictates of a production plan. Product planning and product derivation practices are often immature, even for experienced product line organizations. The SEI is seeking industrial partners engaged in product line efforts to perfect production planning and product derivation approaches. [publications on this topic]

Product Line Variability Mechanisms and Automated Support for Variability

To accommodate the varying features and quality attributes of the products in a software product line, the core assets must have variability mechanisms. Some of the most difficult technical challenges in a product line approach are choosing the appropriate variability mechanisms and tracing, and automating their use. The SEI is seeking collaborators to conduct applied research in this area. [publications on this topic]

Connection of Software Product Lines with Other Software Technologies and Paradigms

Software product lines happen in the context of other software development and business paradigms. The SEI is looking for industrial collaborators to explore and pilot software product lines in the context of any of the following: open source, aspect-oriented programming, model-driven development, service-oriented architectures, globalization strategies, systems of systems, agile development, and ultra-large-scale systems. [publications on this topic]

Architectures for Software Product Lines

Our research focuses on the front end of the life cycle and involves

  • scoping
  • gathering requirements for a product line and individual products
  • designing an architecture both for the product line and the individual products

The requirement-gathering activities are embodied in product line analysis; the architecture design activities are embodied in the SEI Attribute-Driven Design method. Additional activities within the scope of architecture-based development include testing and other phases of the development life cycle for product lines. [publications on this topic]