Skip to Main Content
Many organizations used software product line development to improve development efficiency, time-to-market, and product quality. However, a perceived barrier to entry for product line development is that a product line architecture is required to handle variation across the product set. We describe qualitative evidence from industrial experiences with an approach that has allowed the adoption of product line development for a pre-existing product set, without the use of a product line architecture. The approach relies on file-level reuse and variation mechanisms provided by a configuration management infrastructure. The approach can reduce the risks and up-front costs of adopting product line development. Although not requiring a product line architecture, the approach is not inconsistent with architectural-level variation mechanisms. It has allowed previously-reported "reactive? and "proactive" styles of architectural evolution to support variation, and also a new "retroactive" style of architectural evolution. Additionally, the approach has provided new options for "working around" change control conflicts on reused product line core assets.