(1) A software product line is a set of software systems that share a common set of core assets but can be customized to meet specific needs. (2) Core assets include shared components, architecture, tools, and documentation that are developed and maintained to create products for a particular domain. (3) Establishing a software product line reduces costs through reuse of core assets, improves time to market for new products, and increases quality and predictability by leveraging proven architectures and components.