A system of software production that uses core software assets (CoreAssets) to modify, assemble, instantiate, or generate a line of software products. The ProductLineApproach is an instance of ComponentBasedDevelopment specialized for the production of a family or line of related products. These products may or may not be commercial; a ProductLine is also useful for the development of internal systems.
The SEI is driving the Software Product Lines Initiative[1][2] and has just tons of great material. There are also a few sections in the recent book Software Architecture In Practice that are a direct result of this work.
Springer-Verlag have also published: Frank van der Linden (Ed.), Development and Evolution of Software Architectures for Product Families, Lecture Notes in Computer Science 1429, Springer 1998. ISBN 3-540-64916-6 .
References:
See: ProductLineArchitecture, ComponentBasedDevelopment
PleaseComment / AnswerMe on the existence of discussions of how to unify the goals of ProductLineApproach and XP? The SimplestThingThatCouldPossiblyWork stuff seems to seriously conflict with the reusable architectures, components and tools that go into a product family. I'm doing product family work and I like much of XP but can't see how to fit in ideas like "don't generalize beyond immediate needs" and "don't invest in infrastructure". -- MikeVogel
If your immediate need is two (or 20) products that are largely similar but in some important ways not, maybe a Product Line Approach is the simplest thing that could work? -- BenAveling
PolyBloodyHardReuse talks about reuse across projects, which is all if not most of what's tough about product line development.
I don't know that they necessarily go together. Seems like two different approaches. Most XP pundits say that reuse doesn't exist which is pretty much the opposite of what one is trying to achieve with a product line architecture. -- RobertDiFalco
I don't think people say it doesn't exist, just that it doesn't just happen. -- BenAveling